1.数组的定义
数组相当于一个容器,存放了一组相同类型的数据。
2.数组存放的规则
是以下标(角标)来存放的,并且下标从0开始。
3.声明规范
数据类型 [] 数组名 =初值。
两种表达方式:
int [] array = new int [数组的个数];
int [] array = new int [5];
int [] array = new int []{数组的元素};
int [] array = new int []{1,2,3,4,5};
4.代码分析
1):
public static void main(String[] args) {
// 声明了一个 长度为5的 整型数组
//注意:数组的长度 一旦声明 就 不能改变
int [] array = new int [5];
//右边:栈内存 左边:堆内存
//堆内存:
//1)垃圾回收机制, 2)有初始值 3)有内存地址
//栈内存
//执行完毕,立即释放内存
2):索要查找的下标值超过了所定义的下标值
public static void main(String[] args) {
int a = 10;
int[]array=new int [5];
//java.lang.ArrayIndexOutOfBoundsException 数组下标越界!!(异常)
//(如果所访问的下标超过所定义的数组下标就会出现上面的异常)
//比如下面下标是 6 而上面的所定义的最大下标是5,所以超过,返回异常!
array[6]=10;
System.out.println(array[3]);
//NullPointerException 空指针异常,访问了一个不存在的区域
//当数组为空,返回上面的异常
array=null;
System.out.println(array[3]);
二.数组的遍历(只要是数组方面的问题,都离不开遍历)
1)
int[] array =new int[]{1,3,5,7,9};
//打印数组中所有的值 --遍历数组
//array.length 数组的长度
//第一种打印方法
for(int =0;i<array.length;i++){
System.out.println(array[i]);
}
//第二种打印方法
//将数组 转化成字符串 来输出
System.out.println(Arrays.toString(array));
2)
//需求:随机10个数 随机的区间为[15,150]
// 1.把这个10个数放入数组中
// 2.打印最大值
int [] array = new int [10];
for(int i = 0;i<arrar.length;i++){
int num=(Math.random())*((150-15a+1)+15);
//把数据放入数组 对应的位置中
array[i]=num;
}
System.out.println(Arrays.toString(array));
int max=0;
for(int j=0;j<array.length;j++){
if(max<array[j]){
max=array[j];
}
}System.out.println("最大值为:"+max);