// 数据类型
/*1.基本数据类型:byte short int long float double char boolean
*2.引用数据类型:①类 (String Scanner Random Math..)②接口 ③数组
* 数组:1它能保存一组数据类型相同的数据,我们把数组保存的数据成为元素 2定长(固定长度)
* 如何声明,创建一个数组
*/
//声明
// int arr[] ;
// new: 开辟堆内存的操作符
int arr[] = new int[5]; //5代表的是数组长度 运行过程中不可变
//数据元素的访问--通过索引值(下标值) 下标值从0开始,长度为n的数组,下标值从0到n-1
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
}
double arr[] = new double[4];
System.out.println(arr[0]);
arr[0] =1.2;
System.out.println(arr[0]);
//1.数组有默认值 (整型 0 浮点型0.0 字符型\u0000 不二选哪个false 字符串行null
//2.长度必须指定
//2.new关键字
char arr1[] = new char[3];
arr1[0] = 'a';
int arr[] = new int[5];
int newarr[] = arr;
arr[1] = 11;
System.out.println(newarr[1]);
//数组创建方式
// 1.
int arr1[] = new int[3];
arr1[0] = 1;
arr1[1] = 3;
arr1[2] = 9;
// 2.
int arr2[] = new int[] {1,3,9};
// 3.
int arr3[] = {1,3,9};
//注意:一些错误的声明方式
// int arr[5] = new int[];
// int arr2[] = new int[3] {1,3,9};
// int arr[3] = {1,3,9};
}
// 数组的遍历 将数组当中元素逐个取出来
int arr[] = {4,7,23,5,8,9,0,-5};
// 数组长度
System.out.println(arr.length);
//遍历
for(int i = 0;i System.out.println(arr[i]); } String str[] = {"a","b","c","d","e","f","g"}; System.out.println(str.length); for(int a = 0;a System.out.println(str[a]); } // 二维数组,数组当中存数组 int arr1[] = {1,2,3,4,5}; int arr2[][] = { {1,2,3}, {4,5}, {6,7} }; int arr[][]= new int[3][];//前面的括号代表长度,后面括号无影响 // 将一个数组逆序打印 // int arr1[] = new int[] {1,2,3,4,5}; // for(int i=arr1.length-1;i>=0;i--) { // System.out.println(arr1[i]); // } // 将一个数组中的元素逆序存放 int arr2[] = new int[] {1,2,3,4,5}; for(int i=0;i if(i+1 == arr2.length-(i+1)){ arr2[i]=arr2[arr2.length-(i+1)]; } System.out.println(arr2[i]); // 模拟35选7 生成七个不同的1-35之间的数字 boolean b[] = new boolean[35];//35个false Random ran= new Random(); for(int i = 0;i<7;i++) { //生成一个1-35之间的数字 int num = ran.nextInt(35)+1; //判断是否生成过,到b在各个数组中检查下标为num-1对应元素是否为true if(b[num-1]) { i--; } else { //表示生成过 b[num-1]=true; System.out.println(num); } } // 编写一个长度为5的整型数组,每个元素赋值为0-10的随机整数, // 遍历该数组,输出每个元素。 Random ran = new Random(); int arr[] = new int[5]; for (int i = 0; i < arr.length; i++) { arr[i] = ran.nextInt(11); System.out.println(arr[i]); } public static void main(String[] args) { int[][]arr1 = new int[3][]; arr1[0]=new int[3]; arr1[0][0] = 10; arr1[0][1] = 11; arr1[0][2] = 12; arr1[1]=new int[1]; arr1[1][0] = 20; arr1[2]=new int[2]; arr1[2][0] = 30; arr1[2][1] = 31; // int arr2[][] = new int[][] {{10,11,12},{20},{30,31}}; // int []arr3[] = {{10,11,12},{20},{30,31}}; //二维数组的遍历 for(int i = 0;i for(int j = 0;j System.out.print(arr1[i][j]+" "); } System.out.println(); } } // 数组的排序 int arr[] = {12,1,55,7,89,32}; //1.冒泡排序 for(int i = 1;i for(int j = 0;j if(arr[j] int a; a = arr[j]; arr[j] = arr[j+1]; arr[j+1] = a; } } } for(int num :arr) { System.out.println(num); } //2.选择排序 for(int i = 0;i for(int j = i+1;j if(arr[i]>arr[j]) { int temp; temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(int num :arr) { System.out.println(num); } // 快速排序 // int arr[] = {12,1,55,7,89,32}; // Arrays.sort(arr); // for(int num :arr) { // System.out.println(num); // } //数组复制 int arr1[] = {1,2,3,4,5}; int arr2[] = {6,7,8,9,10,11,12,13,14,15}; System.arraycopy(arr1, 2, arr2, 2, 3); for(int num :arr2) { System.out.println(num); }