数组(2.0)
基本深入
package org.westos.dmo01; public class ArrayDemo{ public static void main(String[] args){ //数组的出现,是为了我们方便去操作多个数据 //数组,相当于一个容器,可以存储一组,相当数据类型元素 //数组既可以存储基本数据类型,也可以存储引用数据类型 //数组的定义格式:数据类型[] 数组名 //数据类型[] 数组名 int[] arr = new int[10]; double arr2[] = new double[10]; } public static void main(String[] args){ //数组必须初始化才能使用 //初始化:就是为数组元素分配内存空间,并为数组中的每个元素赋值 //初始化分为动态初始化或者静态初始化 //动态初始化:就是由我们指定长度,由系统赋初始值 //静态初始化:由我们赋值,系统计算长度 int[] arr = new int[5];//动态初始化 int arr5[] = new int[9]; int [] arr2 = new int[]{10,20,30,40,50};//静态初始化 //静态初始化数组的简写方式 double[] arr3 = {3.14,1.2,2.5,8.9}; } public static void main(String[] args){ //采用动态初始化如何取出数组中的元素,已经给数组元素进行赋值 int[] arr = new int[5]; //数组在初始化的时候,会为了每一个元素分配索引(角标),那么这个索引从0开始 //可以通过索引取出某个元素 int num = arr[0]; int num1 = arr[1]; int num2 = arr[2]; int num3 = arr[3]; int num4 = arr[4]; System.out.println(num); System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); //可以通过索引给元素重新赋值 arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50; num1 = arr[1]; num2 = arr[2]; num3 = arr[3]; num4 = arr[4]; System.out.println(num); System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); } }
package org.westosdem02; public class ArryDemo{ public static void main(String[] args){ //定义数组 int[] arr = {10,20,30,40,50}; //遍历数组 //System.out.println(arr[0]); //System.out.println(arr[1]); //System.out.println(arr[2]); //int length = arr.length;//可以获取数组的元素的个数 //System.out.println(length); //ArrayIndeOutOfBoundException 数组角标越界异常 for(int i = 0;i<arr;i++){ System.out.println(arr[i]); } } public static void main(String[] args){ int[] arr = {10,20,30,40,50}; //数组的反向遍历 for(int i = arr.length -1;i>=0;i--){ System.out.println(arr[i]); } } public static void main(String[] args){ int[] arr = {10,80,90,4,5,6}; //获取数组中的最大值或最小值 //定义一个参照值 int max = arr[0]; for(int i = 1;i<arr.length;i++){ if(arr[i]>max){ max = arr[i]; } } System.out.println("数组中的最大值是"+max); } public static void main(String[] args){ int[] arr = {10,80,90,4,5,6}; //反转数组中的元素 //首尾元素互换 for(int i=0;i<arr.length/2;i++){ int t = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i]=t; } //遍历数组 for(int i = 0;i<arr.length;i++){ System.out.println(arr[i]); } } }
package org.westosdem03; public class ArryDemo{ public static void main(String[] args){ //二维数组其实就是数组元素为一堆数组的数组 //一个数组的定义方式 //1.动态初始化一个二维数组,有我们指定数组长度,有系统为数组元素赋值默认值 //这个3的意思就是我们定义了一个二维数组他的长度是3 //这个2的意思是我们在二维数组里有三个一维数组,每一个一位数组的长度是2 int[][] arr = new int[3][2]; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[0][0]); //给二维数组里面的每个元素重新赋值 arr[0] = new int[2]; arr[1] = new int[2]; arr[2] = new int[2]; } public static void main(String[] args){ //二维数组定义方式2 //静态初始化,由我们为数组元素赋值,由系统计算长度 int[][] arr = new int[][]{{20,62,4},{80.90,95},{10,101}}; //通过角标获取数组中的某个元素 System.out.println(arr[0][2]); System.out.println(arr[1][2]); System.out.println(arr[2][1]); //数组最后一个元素的索引=数组长度-1 System.out.println(arr[arr.length-1][arr[arr.length-1].length-1); //二维数组静态初始化的简写方式 int[][] arr2 = {{20,62,4},{80,30,95},{10,101}}; //二维数组其他的定义方式 int arr3[][] = {{20,62,4},{80,30,95},{10,101}}; int arr4[][] = {{20,62,4},{80,30,95},{10,101}}; int x,y;//定义两个int类型的变量一个x,一个y int[] g,z[];//定义了两个数组,一个一维数组g,一个二维数组z g = new int[1]; z = new int[2][2]; } public static void main(String[] args){ int[][] arr = new int[][]{{20,62,4},{80.90,95},{10,101}}; //System.out.println(arr[0][0]); //System.out.println(arr[0][1]); //System.out.println(arr[0][2]); //变量二维数组 for(int i = 0;i <arr.length;i++){ //System.out.println(arr[i]); for(int j = 0;j<arr[i].length;j++){ System.out.println(arr[i][j]); } } } }