数组的定义:
数组是相同类型数据的有序集合,数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,么个元素可以通过一个索引(下标)来访问它们。数组的 三个基本特点:
1.长度确定。数组一旦被创建,它的大小就是不可被改变的 。
2.其元素必须是相同类型,不允许出现混合类型。
3.数组类型可以是任何数据,包括基本类型和引用类型。
TIPS:
数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量,数组本身就是对象,java中对象是在堆中的,因此数组无论保持原始类型还是其它对象类型,数组本身是在堆中存储的。
创建数组和初始化:
一维数组的声明有两种方法:
type[] arry_name;//推荐使用这种方式 type arr_name;
1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法
2.声明一个数组的时候并没有数组被真正的创建。
3.构造一个数组,必须指定长度。
1 public class Test{ 2 public static void main(String args[]){ 3 int[] s = null; // 1 4 s = new int[10]; //2 5 for ( int i=0; i<10; i++ ) { 6 s[i] =2*i+1; 7 System.out.println(s[i]); 8 } //3 9 } 10 }
声明数组 分配空间 给数组元素赋值
package cn.sxz.arrays; /** * 测试数组的三种初始化方式 * @author 施星专 */ public class Test01 { public static void main(String[] args) { int[] arr01 = new int[10]; String[] arr02; arr01[0]=13; arr01[1]=15; for(int i=0;i<arr01.length;i++) { arr01[i]=10*i; } for(int i=0;i<arr01.length;i++) { System.out.println(arr01[i]); } User[] arr03 = new User[3]; arr03[0] = new User(1001,"张三"); arr03[1] = new User(1002,"李四"); arr03[2] = new User(1003,"王麻子"); } } class User{ private int id; private String name; public User(int id, String name) { super(); this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }