数组的基本使用
三大特点
1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2. 其元素必须是相同类型,不允许出现混合类型。
3. 数组类型可以是任何数据类型,包括基本类型和引用类型
注意事项
1. 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
2. 声明一个数组的时候并没有数组真正被创建。
3. 构造一个数组,必须指定长度。
实例:
package cn.xjion.pro06;
/**
* 测试一维数组的使用
* @author xjion
*
*/
public class TestArrays01 {
public static void main(String[] args) {
// 创建基本的一位数组,定义长度为10,下标只能到9
int[] arr = new int[10];
// 循环遍历,对其赋值,arr.length是数组的长度
for (int i = 0; i < arr.length; i++) {
arr[i] = 100 * i;
}
// 循环遍历,输出数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 创建引用类型一维数组
Arr1[] arr1 = new Arr1[10];
Arr1 arr2 = new Arr1(18, 1001);
Arr1 arr3 = new Arr1(20, 2001);
arr1[0] = arr2;
arr1[1] = arr3;
}
}
//创建一个类
class Arr1{
// 属性
private int age;
private int id;
// 构造器
public Arr1(int age, int id) {
super();
this.age = age;
this.id = id;
}
// get/set方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
数组的内存分步图
基本数组:
、
引用数组:
数组的三种初始化
静态初始化
int[] arr = { 1, 2, 3 };// 静态初始化基本类型数组;
Arr1[] arr2= { new Arr1(1, 1), new Arr1(2, 2) };// 静态初始化引用类型数组;
动态初始化
int[] arr1 = new int[2];//动态初始化数组,先分配空间;
arr1[0]=1;//给数组元素赋值;
arr1[1]=2;//给数组元素赋值;
默认初始化
int arr2[] = new int[2]; // 默认值:0,0
boolean[] b = new boolean[2]; // 默认值:false,false
String[] s = new String[2]; // 默认值:null, null
最后在说个for each循环遍历
将就上面那个举个例子:
// 循环遍历,输出数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 这个就是for each,也叫增强for
// temp下标,arr数组
for (int temp : arr) {
System.out.println(temp);
}
注意事项
1. for-each增强for循环在遍历数组过程中不能修改数组中某元素的值。
2. for-each仅适用于遍历,不涉及有关索引(下标)的操作。
有关数组的基础知识就到这儿啦,有不妥的地方望大佬提出!
在数组(下)中为大家总结归纳数组的增删查改及排序。
感谢大家的观看!