Java数组 之 一维数组
数组它其实就是一个容器
这个容器用来保存数据
保存的这个数据 是相同数据类型的数据
数组的定义:
数据类型[] 数组名 = 初值;
其中 数据类型代表的是 数组中盛放数据的数据类型
数组的定义和变量的定义相似
变量的定义:
数据类型 变量名 = 初值;
例如:
//声明一个长度为5的整形数组
int[] array = new int [5] ;
注意:数组的长度一旦给定 就不能修改
如何访问数组中的元素:
数组使用下标来访问元素且下标从0开始
//保存一个数据
array[2] = 8;
//数组中 将下标为2 的元素 赋值 8;
System.out.println(array[2]);
//输出数组中下标为2的元素
System.out.println(array[5]);
数组的下标是从0开始的,当这个数组的长度为5时,我们想打印下标为5的元素就相当于打印第六个元素
(因为在编程中是从 0 开始的 所以 array[0] 是第一个元素)
于是就会出现报错:
//ArrayIndexOutOfBoundsException 数组下标越界异常
array = null;
//相当于 指向一个空
当你打印这个数组的时候就会报错:
//NullPointerEcxeption
//空指针异常:访问一块不属于你的内存空间
第二种声明数组的方式:
int[] array = new int[]{1, 2, 3, 4, 5};
//直接将数组的长度和元素都已经直接定义好了
//获取数组的长度
int lengh = array.length;
System.out.println(length);
遍历数组:
获取数组中的每一个元素的值
例如:
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
/*
* 需求: 声明一个长度为10的数组
* 1.随机10个数 范围是[18,300] 存入数组中
* 2.打印 数组中的最大值
*/
int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
int num = (int)(Math.random()*283+18);//随机10个数
array[i] = num;//将随机数 赋值给 数组
}
int max = 0;//定义变量
int min = array[0];//定义变量
for(int i = 0; i < array.length; i++) {
if (max < array[i]) {//求最大值
max = array[i];
}
if (min > array[i]) {//求最小值
min = array[i];
}
}
for(int i = 0; i < array.length; i++) {
System.out.println(array[i]);//查看数组里的随机数
}
System.out.println(max);
System.out.println(min);
}
变量在内存中的表现
数组在内存中的表现
Day.3