1,类的创建
public class Student {
一,写成员变量
private String name;
private int age;
二,无参构造器
public Student() {
}
三,有参构造器
public Student(String name, int age) {
this.name = name;
this.age = age;
}
四,get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2,数组
数组属于引用数据类型,存储的是数组在内存 中的地址信息
静态:eg: int[] ages={12,13,45,78};
动态: 数据类型[] 数组名=new 数据类型[长度] ;
int[] arr=new int[长度];
后赋值:arr[0]=10;
1,数组的访问
数组名[索引];
2,数组的遍历
eg: int[] ages={12,13,45,78};
for(int i=0;i<ages.length;i++){
System.out.println(ages[i]);
}
3,动态初始化数组元素默认值规则
4,多个数组变量,指向同一个数组对象的原因是什么?需要注意什么?
多个数组变量中存储的是同一个数组对象的地址。
多个变量修改的都是同一个数组对象中的数据。
5,注意:
如果某个数组变量存储的地址是null,那么该变量将不再指向任何数组对象
arr2=null;
输出arr2得到null;但输出arr2[0]或arr2.length会出现异常,会报空指针异常
3,随即排名
import java.util.Random;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
//目标;完成随机排名
//1,定义一个动态初始用于存储5名员工的工号
int[] codes=new int[5]; //[0,0,0,0,0]
//2.提示电脑录入5个员工的工号
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < codes.length; i++) {
//i=01234
System.out.println("请您输入当前第"+(i+1)+"个员工的工号");
int code= scanner.nextInt();
codes[i]=code;
}
//3,打乱数组中的元素顺序
//[12,33,54,26,8]
// i index
Random r=new Random();
for (int i = 0; i < codes.length; i++) {
//每遍历到一个数据,都随机一个数组索引范围内的值,然后让当前遍历的数据与该索引位置处的值交换
int index=r.nextInt(codes.length); //0-4
//定义一个临时变量记住index位置处的值
int temp=codes[index];
//吧i位置处的值赋值给index位置处
codes[index]=codes[i];
//把index位置原来的值赋值给i位置处
codes[i]=temp;
}
//4,遍历数组中的工号输出即可
for (int i = 0; i < codes.length; i++) {
System.out.print(codes[i]+" ");
}
}
}