package com.chao.test;
/**
* 我在编程考试中,Java得分60分,Python得分70分
* 大数据得分80分,人工智能得分90分。
* 请使用一个数组将这些分数进行存储,并分别使用三种方式进行初始化
*/
public class test4 {
public static void main(String[] args) {
//默认初始化 (对成员变量进行默认分配空间)
int[] grade = new int[4]; //int类型默认值0,0
String[] subject = new String[4];//String类型默认值null,null
Exam[] e1 = { //给成绩赋值和分配空间
new Exam(60,"java"),
new Exam(70,"python"),
new Exam(80,"bigdata"),
new Exam(90,"artificial")
};
for (Exam i:e1){ //增强循环
System.out.println(i);
}
//动态初始化(对数组进行初始化)
int[] e2 = new int[4];
Exam[] exam ={new Exam(60,"java"),
new Exam(70,"python"),
new Exam(80,"bigdata"),
new Exam(90,"artificial")
};
for (Exam j:exam){
System.out.println(j);
}
//静态初始化(给科目赋值和分配空间)
int[] i ={60,70,80,90};//初始化基本类型数组
Exam[] exam1 = {new Exam(60,"java"),
new Exam(70,"python"),
new Exam(80,"bigdata"),
new Exam(90,"artificial")
};
for (Exam L:exam1){
System.out.println(L);
}
}
}
class Exam{
private int grade;
private String subject;
public Exam(){
}
public Exam(int grade, String subject) {
this.grade = grade;
this.subject = subject;
}
@Override
public String toString() {
return "成绩是:" + subject+
" "+grade;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
}
1.静态初始化:为创建+赋值,即创建数组的同时就设定好有几个数组元素和对应的值。
数组元素和值是对应好的
2.动态初始化:先创建,后设定几个数组元素和分配内存,最后给每个数组元素赋值
先设定好几个数组元素和数组元素所需要的内存,然后才赋值。
3.默认初始化,数组是引用类型,他的元素和类得到实例变量一样,数组已经分配空间,其中每个元素也会分到内存空间,
当被分配到的元素未被赋值时,都会有默认初始化。