publicstaticvoidmain(String[] args){//[4][2]int[][] array ={{1,2},{2,3},{3,4},{4,5}};for(int i =0; i < array.length; i++){for(int j =0; j < array[i].length; j++){System.out.println(array[i][j]);}}}
五、Arrays 类
数组的工具类java.util.Arrays
给数组赋值:fill方法
对数组排序:sort方法,按升序
比较数组:equals方法比较数组中元素值是否相等
查找数组元素:binarySearch方法能对排序好的数组进行二分查找法操作
publicstaticvoidmain(String[] args){int[] a ={1,2,3,4,9599,41544,456,21,3,23};System.out.println(a);//打印数组元素//System.out.println(Arrays.toString(a));//printArray(a);Arrays.sort(a);//数组进行排序:升序System.out.println(Arrays.toString(a));Arrays.fill(a,0);//数组填充//Arrays.fill(a,2,4,0); //数组2~4之间填充System.out.println(Arrays.toString(a));}publicstaticvoidprintArray(int[] a){for(int i =0; i < a.length; i++){if(i==0){System.out.print("[");}if(i==a.length-1){System.out.print(a[i]+"]");}else{System.out.print(a[i]+", ");}}}
六、冒泡排序
两层循环,外层冒泡轮数,里层依次比较
importjava.util.Arrays;//冒泡排序//1.比较数组中两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置//2.每一次比较都会产生出一个最大或者最小的数字//3.下一轮则可以少一次排序!//4.依次循环,直到结束publicclassArrayDemo07{publicstaticvoidmain(String[] args){int[] a ={1,4,5,6,72,2,2,2,25,5,7};int[] sort =sort(a);//调用完自己写的排序方法后,返回一个排序后的数组System.out.println(Arrays.toString(sort));}publicstaticint[]sort(int[] array){//临时变量int temp =0;//外层循环,判断要走多少次for(int i =0; i < array.length -1; i++){boolean flag =false;//通过flag标识位减少没有意义的比较//内层循环,比较判断两个数,如果第一个数比第二个数大,则交换位置for(int j =0; j < array.length -1; j++){if(array[j+1]<array[j]){
temp = array[j];
array[j]= array[j+1];
array[j+1]= temp;
flag =true;}}//如果flag没有变成true,也就是说,任意相邻的两个数,左边的数小于右边,//这时整个数组已经是有序的状态了,所以就不用再进行比较了,就可以break跳出循环了if(flag==false){break;}}return array;}}