数组
-
首先必须声明数组变量,才能在程序中使用数组
dateType[] arrayRefvar;(首选) 或 dateType arrayRefvar [];
-
java语言使用new操作符来创建数组
dateType[] arrayRefvar=new dataType[arraySize];
-
数组索引从0开始
-
数组的长度:数组名.length
int[] nums;//1.声明一个数组 nums=new int[5];//创建了一个数组 //赋值 nums[0]=1; nums[1]=2; nums[2]=3; nums[3]=4; nums[4]=5; System.out.println(nums[3]); //计算所有元素的和 int sum=0; for (int i = 0; i < nums.length; i++) { sum=sum+nums[i]; } System.out.println(sum);
三种初始化
静态初始化
int [] a={1,2,4,5,3,6,2,5}; System.out.println(a[0]);
动态初始化
int [] b=new int[5]; b[0]=10; System.out.println(b[0]);
数组的使用
int[] nums = {1, 2, 5, 6, 3}; //打印全部数组元素 for (int i = 0; i < nums.length; i++) { System.out.println(nums[i]); } System.out.println("==============="); //计算所有元素的总和 int sum = 0; for (int i = 0; i < nums.length; i++) { sum = sum + nums[i]; } System.out.println(sum); System.out.println("==============="); //查找最大元素 int max=nums[0]; for (int i = 1; i < nums.length; i++) { if(nums[i]>max){ max=nums[i]; } } System.out.println(max);
public static void main(String[] args) { int[]arrays={1,2,3,4,5}; //取不到下标 /*for(int array:arrays){ System.out.println(array); }*/ // printArray(arrays); int[] reverse=reverse(arrays); printArray(reverse); } //打印数组元素 public static void printArray(int[]arrays){ for (int i = 0; i < arrays.length; i++) { System.out.print(arrays[i]+" "); } } //反转数组 public static int[] reverse(int[]arrays){ int[] result=new int[arrays.length]; for (int i = 0,j=result.length-1; i < arrays.length; i++,j--) { result[j]=arrays[i]; } return result; }
多维数组
二维数组
int a[][]=new int[2][5];
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.print(array[i][j]); } }
Arrays类
Arrays.sort(a);//排序 Arrays.toString(a)//遍历
public static void main(String[] args) { int [] a={1,2,3,9,5}; //遍历 System.out.println(Arrays.toString(a));遍历 //排序 Arrays.sort(a); System.out.println(Arrays.toString(a)); }
冒泡排序
-
比较数组中,两个相邻的元素,如果第一个数比第二个数大,交换他们的位置
-
每一次比较 都会产生一个较大或者较小的数字
-
下一轮则,可以减少一次排序
-
以此循环