数组的结构
数组介绍
数组也是一个变量,它在内存中会被分配成一组连续的存储空间,用来存储相同数据类型的数据。
数组的组成
1.数组名:数组在程序中的标识,用来区分不同的数组
2.数据类型:规定了数组中存储的数据的类型。
3.数组元素:就是数组中存储的数据。
4.元素下标:表示数组的连续空间中每一个小空间的符号,它是从0开始计数,依次增加。有些地方也叫作“索引“。
定义数组
//按照数组概念的描述来定义数组
int[] nums;
int nums[];
int[] nums = new int[5];
//语法
数据类型[] 数组名 = new 数据类型[空间大小];
//其他方式定义数组
int[] nums = new int[]{};
int[] nums = {};
使用数组的步骤
1.声明数组,数据类型[] 数组名; 或 者数据类型 数组名[];推荐使用第一种;
2.分配空间,数组名 = 数据类型[数组长度];将1,2步骤合并可以写成:数据类型[] 数组名 = new 数据类型[数组长度];
3.赋值,数组名[下标值];将1-3写成 数据类型[] 数组名={值1,值2};也可以写成 数据类型 数组名=new 数据类型[]{值1,值2};一般比较推荐使用第一种;
4.对数据进行处理。
如何获取数组长度
数组名.length
数组取值
int a = nums[0];
System.out.println(a); //输出:100
经验:在使用数组中的值时,由于语法组构(就是写的代码的样子)有重复的内容,所以经常配合for循环一起操作。
数组赋值
常规赋值
int[] nums = new int[5];
nums[0]=100; nums[1]=101; nums[2]=102;
初始化赋值
初始化赋值:就是把值直接写在定义的”{}“当中,多个值之间用”,“分隔
int[] nums = new int[]{100,101,102,103};
int[] nums = {100,101,102,103};
经验:在常规赋值时,由于语法组构(就是写的代码的样子)有重复的内容,所以经常配合for循环一起操作
数组的应用(赋值和取值、排序、条件查找)
排序
做法:目前使用Arrays类的sort()方法进行升序排序
逆序的做法,通常使用for操作
for(int i=数组名.length-1;i>=0;i--){
//代码
}
条件查找,一般都是使用for循环+if判断的方式
1.最大值、最小值
2. 给定条件,查找
补充
各种数据类型的数组,它们的数组元素的默认
int[] nums=new int[5];//默认值:0
double[] dnums=new double[5];//默认值: 0.0
char[] cnums=new char[5];//认值: ' '(空格)
boolean[] bnums=new boolean[5];//默认值: false
String[] snums=new String[5];//默认值: null,注意,String是引用类型的变量,它也就代表了所有引用类型的变量的默认值都是null。
数组对数组的赋值
int[] nums1 = {1,2,3,4,5};
int[] nums2 = nums2;
//nums2里面存储了什么样的数据?
//以上的代码操作,相当于把nums1的引用箭头复制了一份,存入了nums2的栈空间内存,这时nums1和nums2表示的是同一个堆内存中的数组,一个变另一个也跟着变。