其他分享
首页 > 其他分享> > 2022.7.19-第三组-王晓-学习笔记

2022.7.19-第三组-王晓-学习笔记

作者:互联网

                                              7-19-Day10

课堂笔记

1.构造器

public class Ch01 {

    public static void main(String[] args) {
        // person是Person类的对象,是Person类的实例
        Person person = new Person();
        // 对象有什么功能?
        // 对象可以调属性,可以调方法
        // 对象调用的属性和方法
        person.name = "小明";
        person.age = 20;
//        person.eat();

        Car car = new Car();
        car.brand = "奔驰";
        car.color = "黑色";
//        car.run();

//        person.travel(car);

        // p2出生,就会有name,age,wife
        Wife wife = new Wife();
        wife.name = "李四";
        wife.age = 25;
        // p2一创建出来,所有的属性都会跟着初始化
        Person p2 = new Person("张三",25,wife);

        // p3一创建出来,就只有name和age,没有wife
        Person p3 = new Person("王五",26);
    }
}

2.this关键字

4.空指针异常

 什么情况下会出现空指针异常:  引用数据类型的默认值(初始值是null,空引用)   3个异常:  1、数组下标越界   2、内存溢出(错误)   3、空指针

 

 练习:

 注册和登录!  封装:属性一定要私有化,提供公有的set、get方法   1、创建一个User类,username和password   2、创建一个Employee类,id和name   3、Demo类。     登录:   输入账号和密码,然后去数组中比对,   遍历数组,分别比对账号和面,如果比对成功,则输出登录成功,则输入账号或密码错误!       空指针异常NullPointerException     注册2.0版本:   用户名不能重复!   遍历,用户名和数组中的用户名比对一下
 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // User类型的数组
        // User类型的数中保存的就是一个一个的User对象
        // 当从User类型的数组中取值的时候,比如说users[0]是一个User类型的对象

        User [] users = new User[10];
        users[0] = new User(123456,123456);
        int index = 1;
        main:for (;;){
            System.out.println("请选择功能:1、注册  2、登录");
            String flag = sc.next();
            u:for(;;){
                switch (flag) {
                    case "1":
                        System.out.println("请输入账号:");
                        int username = sc.nextInt();
                        for (User user : users) {
                            if(user != null){
                                if(username == user.getUsername()){
                                    System.out.println("用户名不能重复,请重新输入!");
                                    continue u;
                                }
                            }
                        }
                        System.out.println("请输入密码:");
                        int password = sc.nextInt();
                        // 保存账号密码,保存的是User对象
                        // 构建User对象
                        User user = new User(username,password);
                        users[index] = user;
                        System.out.println("注册成功,账号:" + users[index].getUsername() + ",密码:" + users[index].getPassword());
                        index ++;
                        continue main;
                    case "2":
                        System.out.println("请输入账号:");
                        int username1 = sc.nextInt();
                        System.out.println("请输入密码:");
                        int password1 = sc.nextInt();
                        boolean b = false;
                        for (User u : users) {
                            if(u != null){
                                if(u.getUsername() == username1 && u.getPassword() == password1) {
                                    b = true;
                                    break;
//                                System.out.println("登录成功!");
                                }
//                          System.out.println("账号或密码错误!")
                            }
                        }
                        if(b) {
                            System.out.println("登录成功!");
                        }else {
                            System.out.println("账号或密码错误!");
                        }
                }
            }


        }

    }
}

 

学习心得

今天的内容对我来说较为难快速吸收,需要逐渐的去理解和消化。

标签:第三组,19,System,User,2022.7,println,new,public,out
来源: https://www.cnblogs.com/bai030/p/16512935.html