第四章 数组
4.1数组的定义
- 数组是相同类型数据的有序集合,数组描述的是相同的类型的若干个数据,按照一定的先后次序排列组合而成,其中每一个数据被称为一个元素,每个元素可以通过一个索引来访问它们(下标从零开始)
4.2数组的特点
- 长度是确定的,数组一旦被创建,它的大小就不可以改变的。
- 其元素一定是相同类型,不允许出现混合类型。
- 数组类型是可以是任何数据类型包括基本类型和引用类型
- 数组变量是引用类型,数组是对象,数组中的每个元素相当于该对象的 成员变量
4.3数组的声明、初始化、遍历
- 声明的两种方式:
- type [] arr_name;(推荐用这种方式)
- type arr_name[];
- 数组的初始化(三种)
- 静态初始化:使用大括号直接赋值
- 动态初始化:使用下标进行动态初始化
- 默认初始化:声明时 只传入数组的长度 和成员变量默认初始化的值一致
public class TestArroys02 { public static void main(String[] args) { int[] a = {2,4,5};//静态初始化 for(int i = 0;i<a.length;i++) { System.out.println(a[i]); } User [] b = {new User("王",10)};//静态初始化 int [] c = new int [30];//默认初始化 int=0 int [] d = new int [1]; d [0] = 1;// 通过下标 动态初始化 } }
- 数组的遍历
- for_each循环:专门用于读取数组或者是集合中所有的元素,即是对数组进行遍历
- 使用for循环进行遍历
public class TestForEach { public static void main(String[] args) { int[] arr= new int[10]; for(int i=0;i<10;i++) { arr[i] = i; } for (int i : arr) { System.out.println(arr[i]); } } }
public class TestArrays { public static void main(String[] args) { int [] arr_01;//声明了一个int数组 arr_01 = new int [10];//初始化 //arr_01[1] = 1;//赋值 for(int i=0;i<arr_01.length;i++) { arr_01[i] = 10*i; } for(int i=0;i<arr_01.length;i++) { System.out.println(arr_01[i]); } User [] arr_02 = new User [3];//声明了数组 arr_02[0] = new User("王", 01); arr_02[1] = new User("王", 01); arr_02[2] = new User("王", 01); for(int i=0;i<arr_02.length;i++) { System.out.println(arr_02[i].getName()); } } } class User{ private String name; private int id; public User(String name, int id) { super(); this.name = name; this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } }