数组
1. 数组的概念
一组**
连续
的存储空间,存储多个相同
数据类型的值,长度是固定
**的。
2. 数组的定义
先声明、再分配空间:
数据类型[] 数组名;
数组名 = new 数据类型[长度];声明并分配空间:
数据类型[] 数组名 = new 数据类型[长度];声明并赋值(繁):
数据类型[] 数组名 = new 数据类型[]{value1,value2,value3,…};声明并赋值(简):
数据类型[] 数组名 = {value1,value2,value3,…};
/**
* 数组的四种定义方式
*/
public class Test1 {
public static void main(String[] args) {
// 方式1 先声明 再分配空间
int [] arr1;
arr1 = new int[6];
// 方式2 连声明带分配空间
int[] arr2 = new int[2];
// 方式3 声明并且赋值(繁)
int [] arr3 = new int[]{
1,2,5,8,9,66};
// 方式4 声明并且赋值(简)
int [] arr4 = {
89,78,45,89,66};
}
}
3. 数组的下标和访问
元素:数组中的每个数据称之为元素
下标/索引/角标 : 下标从0开始 自动生成 数组中的每个元素可以通过下标来访问
数组的访问:访问包括赋值/取值
访问方式:数组名[index下标]
不能访问超出范围的下标,将会出现数组下标越界异常
/**
* 元素:数组中的每个数据称之为元素
* 下标/索引/角标 : 下标从0开始 自动生成 数组中的每个元素可以通过下标来访问 访问包括赋值/取值
* 访问方式:数组名[index下标]
*/
public class Test2 {
public static void main(String[] args) {
int [] arr1 = new int[5];
// 赋值
arr1[0] = 11;
arr1[1] = 22;
arr1[2] = 56;
arr1[3] = 78;
arr1[4] = 88;
// arr1[6] = 100; 不能访问超出下标范围的元素 将报数组下标越界以上 ArrayIndexOutOfBoundsException
// 取值
System.out.println("数组中的第1个元素值为:" + arr1[0]);
System.out.println("数组中的第2个元素值为:" + arr1[1]);
System.out.println("数组中的第3个元素值为:" + arr1[2]);
System.out.println("数组中的第4个元素值为:" + arr1[3]);
System.out.println("数组中的第5个元素值为:" + arr1[4]);
// System.out.println("数组中的第6个元素值为:" + arr1[5]);
// 不能访问超出下标范围的元素 将报数组下标越界以上 ArrayIndexOutOfBoundsException
}
}
4. 数组的遍历
循环的遍历:逐一将数组中的每个元素进行访问 赋值/取值
import java.util.Scanner;
/**
* 循环的遍历:逐一将数组中的每个元素进行访问 赋值/取值
*/
public class Test3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int [] nums = new int[5];
// 通过循环给数组中的元素赋值
for(int i = 0;i < 5;i++){
System.out.println("请输入数组中的第" + (i + 1) + "个元素");
nums[i] = input.nextInt();
}
System.out.println("元素赋值完成");
// 通过循环将数组中的元素取出来
for(int i = 0;i < 5;i++){
System.out.print(nums[i] + "\t");
}
System.out.println();
}
}
5. 数组的属性
数组的属性:length 表示数组的长度 是一个int类型的整数数值 可以通过数组名.length来查看数组长度
/**
* 数组的属性:length 表示数组的长度 是一个int类型的整数数值 可以通过数组名.length来查看数组长度
*/
public class Test1 {
public static void main(String[] args) {
int [] arr1 = {
1,2,3,4,5,4556,78,45,78,45,787,45,78,45,78,4512,414,7445,1212};
System.out.println("数组的长度为:" + arr1.length);
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i] + "\t");
}
System.out.println();
}
}
6. 数组的默认值
数组的默认值:
整数:0
小数:0.0
布尔:false
字符:\u0000
其他:null
/**
* 数组的默认值:
* 整数:0
* 小数:0.0
* 布尔:false
* 字符:\u0000
* 其他:null
*/
public class Test3 {
public static void main(String[] args) {
byte [] b1 = new byte[2];
short [] s1 = new short[3];
int [] i1 = new int[4];
long [] l1 = new long[5];
for (int i = 0; i <l1.length ; i++) {
System.out.print(l1[i] + "\t");
}
System.out.println();
boolean [] bl1 = new boolean[5];
for (int i