定义数组
Java支持两种语法格式来定义数组
- type[] arrayName;(推荐)
- type arrayName[];
初始化数组
- 静态初始化数组
Object[] objArr;
objArr=new String[] {“Java”,“李刚”};
或者
Object[] objArr={“Java”,“李刚”};
- 动态初始化数组
Object[] objArr;
objArr=new String[5];
或者
Object[] objArr=new String[5];
使用数组
public class Test {
public static void main(String[] args)
{
String[] books;//定义数组
books=new String[2];//动态初始化数组
//使用数组
books[0]="疯狂Java讲义";//对动态初始化后的数组元素进行赋值
books[1]="轻量级Java EE企业应用实战";
//使用循环输出books数组的每个数组元素的值
for(int i=0;i<books.length;i++)
{
System.out.println(books[i]);
}
}
}
foreach循环
foreach循环遍历数组和集合元素时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素。
- foreach循环的语法格式:
for(type variableName : arry|collecction)
{
//variableName自动迭代访问每个元素
}
其中:type是数组元素或集合元素的类型,variableName是一个形参名,foreach循环将自动将数组元素、集合元素依次赋给该变量。
public class Test {
public static void main(String[] args)
{
String[] books= {"Java","疯狂","疯狂Java"};
//使用foreach循环来遍历数组元素
//其中book将会自动迭代每个数组元素
for(String book:books)
{
System.out.println(book);
}
}
}
引用类型数组的初始化
public class ClassTest {
public static void main(String[] args) {
class Person
{
public int age;
public double height;
public void info()
{
System.out.println("我的年龄是:"+age+",我的身高是:"+height);
}
}
// 定义一个students数组变量,其类型是Person[]
Person[] students;
//执行动态初始化
students=new Person[2];
//创建一个Person实例,并将这个Person实例赋值给zhang变量
Person zhang=new Person();
//为zhang所引用的Person对象的age、height赋值
zhang.age=15;
zhang.height=158;
//创建一个Person实例,并将这个Person实例赋值给lee变量
Person lee=new Person();
//为lee所引用的Person对象的age、height赋值
lee.age=16;
lee.height=161;
//将zhang变量的值赋值给第一个数组元素
students[0]=zhang;
//将lee变量的值赋值给第二个数组元素
students[1]=lee;
lee.info();
students[1].info();
}
}