For-Each循环
数组作方法入参
数组作返回值
package priv.youfeng.array; public class array02 { public static void main(String[] args) { int[] arrys={1,2,3,4,5,6}; //打印全部的数组变量 for (int i:arrys){ System.out.println(i); } //打印元素的和 int sum=0; for (int i:arrys){ sum+=i; } System.out.println("数组内数字和是"+sum); //求元素最大值 int max=0; for (int i:arrys){ if (max<i){ max=i; } } System.out.println("最大值是"+max); } }
package priv.youfeng.array; public class array03 { public static void main(String[] args) { int[] arr={1,3,5,7,9}; max(arr); int[] arr2=remake(arr); for (int i:arr2){ System.out.println("_____________________"); System.out.println(i); } } public static void max(int[] array){ int max=0; for (int i:array){ if (max<i){ max=i; } } System.out.println("最大值是"+max); } //反转数组 public static int[] remake(int[] arr){ int[] result=new int[arr.length]; for (int i = 0,j=result.length-1;i<arr.length;i++,j--) { result[j]=arr[i]; } return result; } }
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一堆数组,其每一个元素都是一个一维数组
二维数组
int a[][]=new int[2][5];
以上二维数组a可以看成两行五列的数组
数组的工具类java.util.Arrays
由于数组对象本身并没有什么方法可供我们调用,但API中提供了一个工具类Arrays,供我们使用,从而可以对数据对象进行一些基本的操作
JDK帮助文档
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而”不用“ 使用对象来调用
以下是常用
给数组赋值:通过fill方法
对数组排序:通过sort方法,按升序
比较数组:通过equals方法比较数组中元素值是否相等
查找数组元素: 通过binarySearch方法能对排序好的数组进行二分查找法
package priv.youfeng.array; import java.util.Arrays; public class array04 { public static void main(String[] args) { int[] a={1,2,3,4,15,16,17,15,9}; //打印数组元素 System.out.println(Arrays.toString(a)); //数组进行排序 Arrays.sort(a); System.out.println(Arrays.toString(a)); } }
冒泡排序无疑是最出名的排序算法之一,总共有八大排序
package priv.youfeng.array; import java.util.Arrays; public class array05 { public static void main(String[] args) { int[] i={1,3,2,5,1,4,9,7,15}; int[] i2=sort(i); System.out.println(Arrays.toString(i2)); } //冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个数比第二个数打,我们就交换他们的位置 //2.每一次排序,都会产出一个最大,或者最小的数字 //3.下一轮则可以少一次排序 //4.依次循环,直到结束 public static int[] sort(int[] array){ int temp; for (int i = 0; i <array.length-1; i++) { for (int j = 0; j < array.length-1-i; j++) { if (array[j+1]>array[j]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } return array; } }