JavaSE数组的初始化

数组的静态和动态初始化
数组是引用数据类型,有内存分配问题(都是在堆上分配空间)关键字new一旦出现就是在堆上开辟了新空间
当数组采用动态初始化开辟空间之后,数组中的每个元素都是该数据类型的默认值。数组首先先开辟内存空间,而后再使用索引进行内容的设置
数组是引用数据类型,所以在使用前一定要开辟空间(实例化)
引用传递(多个栈内存指向同一个堆内存)
数组静态初始化(数组在定义的同时设置内容)
数组长度固定,一旦声明后长度不可改变。
在开发中,静态数组初始化尽量采用完整格式,可实现匿名数组。(匿名数组是没有任何占内存指向的数组空间,只能使用完整格式且只能使用一次)
二维数组的本质就是一张二维表,行和列共同组合成一个元素
数组取值等运算一般都是用 for循环实现
小练习:对象数组的静态和动态初始化数组
// //对象数组的动态初始化
// class Person{
// private String name;
// private int age;
// public Person(String name,int age){
// this.name=name;
// this.age=age;
// }
// public void getInfo(){
// System.out.println(“姓名:”+this.name+",年龄:"+this.age);
// }
// }
// public class Day3{
// public static void main(String[] args){
// Person[]per=new Person[3];//数组动态初始化;每个元素的默认值都其对应数据类型的默认值
// per[0]=new Person(“爸爸”,43);
// per[1]=new Person(“妈妈”,41);
// per[2]=new Person(“妹妹”,11);
// for(int i=0;i<per.length;i++){
// per[i].getInfo();
// }
// }
// }
//对象数组静态初始化
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}

 public void getInfo(){
   System.out.println("姓名:"+this.name+"年龄:"+this.age);
 }
}    
 public class Day3{
     public static void main(String[] args){
    Person[]per=new Person[]{
        new Person("爸爸",43),
        new Person("妈妈",41),
        new Person("妹妹",11)
    };//对象数组静态初始化
    for(int i=0;i<per.length;i++){
        per[i].getInfo();
      }
    }
  }

猜你喜欢

转载自blog.csdn.net/qq_43577380/article/details/84927233