数组Array。标志是[].
1在内存中开辟连续的空间,用来存放数据。长度是5
2.给数组完成初始化过程,给每个元素赋予默认值,int类型默认值是0,
3.数组完成初始化会分配一个唯一的地址值
4.把唯一的地址值给引用类型的变量a去保存。
5.可以根据下表改元素的值
数组名是个引用类型的变量。他保存着的是驻足的地址。不是数组中的数据。
1.1创建数组
动态初始化
int[] a = new int[5];
静态初始化
Int[] b = new int[]{1,2,3,4,5};
int[] c = {1,2,3,4,5};
String[] s = {"a","b","c"};
s是引用类型的变量,保存的是数组的地址值
由于java对char类型做了底层处理,所以char[]可以直接打印具体内容
但除了char类型以外,其他任何类型的数组想要查看数组中的具体元素
需要使用数组的工具类Arrays的toString(数组名)来完成
导包java。util。Arrays;
数组的长度
数组的长度用length属性来表示,数组一旦创建,长度不可改变。
数组的长度允许为0.
数组的遍历
遍历,从头到尾,依次访问数组的每一个位置,获取每一个位置的元素形式如下:
我们通过数组的下标操作数组,所以for循环操作的也是数组下标
开始:开始下标0
结束:结束下标length-1,如何变化:++
for(从下标为0的位置开始;下标的取值<=数组的长度-1;下标++){
循环体
}
本类用于练习数组的遍历
需求:输出一年中每一个月份的天数
public class ArrayExec{
1.创建一个数组来存12个月的天数
int [] a = {31,28,31,30,31,30,31,31,30,31,30,31};
2,输出每一个月的天数
可以利用for循环来遍历数组
分析三个条件:
我们通过循环变量来操作循环,我们通过数组下标操作数组
所以循环变量代表的是数组的下标
1.从哪开始:0--a[0]--数组的第一个元素
2.到哪结束:11--a[11]--数组的最后一个元素
3.如何变化:++
}
for(int i = 0; i < 12; I){
system.out.println(i);//这样打印的是数组的下标
system.out.println(a[i]);//打印的是数组的uti元素
system.out.println((i+1)+"月有"+a[i]+"天");
}
本类用于数组的额遍历2
public class ArrayExec2 {
public static void main(String[] args){
1.创建数组--动态创建
int[] a = new int[10];//创建一个长度为10的int类型的数组
2.遍历数组,依次给数组的每个位置赋值
魂环变量代表的就是数组的下标
从哪开始:0
到哪结束:9
如何变化:++
for(int i = 0 ; i < a.length;I++){
a[i] = i + 1;
}
循环赋值结束后,查看赋值情况
system.out.println(Arrays.toString(a));
}
}
本类用于创建随机数组
main{
需求:创建数组,数组元素为100以内的随机数
1,动态创建数组
1,1生成一个随机数,代表的是数组的随机的长度
/**数组的长度容许为0--[]*/
int length = new Random().nextInt(6)+2;//[0,6)--->[2,8)
1,2:创建length长度的数组
int[] a = new int[length];
2.遍历数组依次给每个元素赋值
for(int i = 0 ; i < a.length ; i++){//如果i<=a.length会发生下标越界报错
a[i] =new Random().nextInt(100);
}
3,使用工具类查看数组中的元素
system.out.println(Arrays.toString(a));
}
数组的工具类
本类用于测试数组工具类Arrays的sort()方法
main{
int[] a ={21,96,76,23,25};
2,利用工具类的sort()方法对数组元素进行排序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}