类的创建和数组

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,动态初始化数组元素默认值规则

f4d8b876bea4545c3bdd3681cd41f2d.jpg

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]+" ");
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值