目录
1.数组的完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2......};
2.数组的简化格式:数据类型[] 数组名 = {元素1,元素2......};
6.数组动态初始化:初始化时指定数组长度,由系统为数组分配初始值
数组
1.数组的完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2......};
2.数组的简化格式:数据类型[] 数组名 = {元素1,元素2......};
3.数组的地址
[ --->表示元素是数组
I---->表示元素是整形
D--->表示元素是双精度浮点型
String---->表示元素是字符串型
@---->表示一个间隔符号?(固定格式)
4eec7777--->才是真正的地址值
4.数组的索引(下标,角标)
索引从0开始
例如:int[ ] arr = {1,2,3};
5.length的使用(表示数组的长度:有几个元素)
6.数组动态初始化:初始化时指定数组长度,由系统为数组分配初始值
格式:数据类型[]数组名 = new 数据类型[数据长度];
例如:int[] arr = new int[5];
各类型数组默认初始化值:
整数类型:0
小数类型:0.0
字符类型:'/u0000'
布尔类型:false
引用数据类型:null
7.动态初始化和静态初始化的区别:
(上图来自黑马程序员的视频)
8.数组的常见操作:
(1)求最值
(2)求和并统计数据
package Demo2; import java.util.Random; public class Demo2 { /**public static void main(String[] args) { int[] arr1 = {1,2,3,4,5,6}; System.out.println(arr1); String[] arr2 = {"zhang","lisi","wang"}; System.out.println(arr2); double[] arr3 = {1.23,2.34,3.45}; System.out.println(arr3); }*/ /*public static void main(String[] args) { int[] arr = {1,2,3}; System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); int [] arr1 = {1,2,3,4,5,6,7,8,4,32,12,1,2}; System.out.println(arr1.length); for(int i =0;i <= arr1.length;i++) { System.out.println(arr1[i]); } int []arr = {12,4,6,24,12}; int max = arr[1]; for(int i = 0;i < arr.length;i++){ if(arr[i] > max){ max = arr[i]; } } System.out.println("数组中的最大的数是"+max); }*/ public static void main(String[] args) { int[] arr = new int[8]; Random r = new Random(); //求和 int sum = 0; for (int i = 0; i < arr.length; i++) { int num = r.nextInt(100)+1; arr[i] = num; sum = sum + arr[i]; } System.out.println("数组中所有数据的和为:"+sum); //求平均值 int avg = sum / 8; System.out.println("数组中所有数据的平均数是:"+avg); //有多少个数比平均数小 int cont = 0; for (int i = 0; i < arr.length; i++) { if(arr[i] < avg){ cont++; } } System.out.println("数组中比平均数小的有"+cont+"个"); } }
3.交换数据
package Demo2; import java.util.Random; public class Demo2 { //交换数据 public static void main(String[] args) { int []arr = {1,2,3,4,5}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } System.out.println("\n"); for (int i = 0 , j = arr.length-1; i < j; i++,j--) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
4.打乱数据
package Demo2; import java.util.Random; public class Demo2 { //打乱数据 public static void main(String[] args) { int[] arr = {1,2,3,4,5}; for (int i = 0; i < arr.length; i++) { Random r = new Random(); //创建一个随机索引 int a = r.nextInt(arr.length); //打乱数据 int temp = arr[i]; arr[i] = arr[a]; arr[a] = temp; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
二维数组
1.二维数组的静态初始化
完整格式:数据类型[][]数组名 = new 数据类型[][]{元素1,元素2}{元素1,元素2};
简化格式:数据类型[][]数组名 = {元素1,元素2}{元素1,元素2};
示范:int[ ][ ] arr = {
{1,2,3},
{3,4,5}
};
2.二维数组的动态初始化
格式:数据类型[ ][ ]数组名 = new 数据类型[m][n];
m表示这个二维数组,可以存放多少个一维数组,
n表示这个一维数组,可以存放多少个元素
示范:int[ ][ ] arr = new int[2][4];
2表示这个二维数组可以存放2个一维数组,
4表示这个一维数组可以存放4个int类型的元素