二维数组和排序

一、冒泡排序

//冒泡排序算法

public class Test1 {
	public static void main(String[] args) {
		int num[]= {4,67,34,23,99,10};        //定义数组
		boolean falg=false;		             //标记

		//外层n-1
		for (int i = 0; i < num.length-1; i++) {	
			falg=true;                        //循环开始,标记为true

			//内层n-1-i
			for (int j = 0; j < num.length-1-i; j++) {

				//比较,交换元素
				if(num[j]>num[j+1]) {        //升序排序
					int temp=num[j];
					num[j]=num[j+1];
					num[j+1]=temp;
					falg=false;            //每比较元素,标记为false
				}    //if判断

			}    //内层循环

		}    //外层循环

		//打印排序后的数组
		for (int i : num) {                //for增强型循环
			System.out.print(i+"\t");
		}
	}
}

冒泡排序口诀:

n个数字来排队,两两相比小靠前

外层循环n-1,内层循环n-1-i

如果要逆序排序只要将大于该成小于号就可以!

2.增强型for循环:

for(数据类型 变量名:数组或者集合){

        //循环体

}

二、二维数组

概念:数组中的元素又包含了另一个数组! (理解)  java中只有一维数组,没有多维数组,

或者说,表面是多维数组,实际上都是一维数组。

语法: 数据类型 [ ] [ ] 数组名;

或者:

数据类型 数组名 [ ] [ ] ;

定义二维数组:

定义了一个整型的二维数组,并且声明了长度为3,每个元素又包含了数组

int [][]  num=new int[][]{{45,34,23,65},{34,56},{29,55}};

或者:

int [][]num={{45,34,23,65},{34,56},{29,55}};

注意:上面数组已经声明了长度,就不能再在[] 中声明长度了!!!

三、Arrays类的方法

java中JDK提供了一个专门用于操作数组的工具类,就是Arrays类,位于java.util包中。

1.equals() 是用于比较两个数组是否相等,只有两个数组长度相等,

并且对应位置的元素以一一相对,该方法返回true,否则返回false.

2.toString(array)是将一个数组array转换成字符串。

3.Arrays.sort(数组名)是将数组进行升序排序。

int nums[]= {45,34,12,99,3};        //定义数组
    
Arrays.sort(nums);                  //排序,升序

System.out.println(Arrays.toString(nums));        //转换成字符串

猜你喜欢

转载自blog.csdn.net/JAVA52Lin/article/details/82788035