1、学生信息管理系统
学号,姓名,性别,出生日期,政治面貌,籍贯,联系方式,家庭住址,民族,身份证号2、因为,Java只提供了8种原始的数据类型+String类型。
如果Java当中能够提供一种学生类型的数据类型,是不是会幸福许多?
3、Java提供了一种类似的机制,让我们根据需要,自已来定义新的数据类型。
新的数据类型,也是由原始数据类型构造而成的,所以,也称为“构造类型”。构造类型,也叫“引用类型”
4、Java规定,用户要定义自己的新的数据类型,必须使用一个关键字,叫class。class关键字后面,跟上新的数据类型的名称。
自定义数据类型的名称也是一个标识符,也要遵循标识符命名规则,并且首字母要大写。
在使用自定义数据类型定义该类型的变量时,必须使用new关键字,向内存申请空间。
class Student{
String stuId;
String stuName;
}
使用class关键字,自定义一个新的数据类型以后,再写程序的话,除了8种原始数据类型和String类型可用之外,还多了一种新的Student的数据类型可用呀。
public class Test{
public static void main(String[] args){
int a = 3;
float b = 3.5f;
char gender = 'f';
String name = "张三";
Student stu = new Student(); //向内存申请自定义数据类型变量的空间
}
}
5、要点:
5.1 学Java编程基础的时候,要点是理解变量的实质:内存空间;
5.2 学Java面向对象(OOP:Object-Oriented Programming)的时候,要点是自定义新的数据类型:class。
6.例子:
//需求:保存多个学生的信息。(学号和姓名、年龄)
//自定义一种新的数据类型,代表“学生”这种类型
class Student{
String stuId; //学号字段
String stuName; //姓名字段
int age; //年龄字段
}
public class Demo2{
public static void main(String[] args){
//定义一个Student类型的数组,它只能存入Student类型的变量
Student[] stus = new Student[2];
//1.创建并保存第1个学生信息
Student stu01 = new Student();
stu01.stuId = "111";
stu01.stuName = "张三";
stu01.age = 18;
stus[0] = stu01;
//2.创建并保存第2个学生信息
Student stu02 = new Student();
stu02.stuId = "222";
stu02.stuName = "李四";
stu02.age = 19;
stus[1] = stu02;
//遍历这个数组?
//for-each语句
for(Student stu : stus){
System.out.println("学号:" + stu.stuId + ",姓名:" + stu.stuName + ",年龄:" + stu.age);
}
System.out.println("---------------------------------------");
//for循环
for(int i=0;i<stus.length;i++){
Student stu = stus[i];
System.out.println("学号:" + stu.stuId + ",姓名:" + stu.stuName + ",年龄:" + stu.age);
}
}
}
(老师讲解)