Learn java step by step day13

1.Shortcut Key


2.Package

The function of package:

Basic gramar:

Essence of package:

 

how to import package:

package com.gdledu.pkg;

//建议:需要使用到哪个类就导入哪个类,不建议使用 * 导入

import java.util.Arrays;

//import java.util.Scanner; //表示指挥引入java.util 包下的 Scanner
//import java.util.*; //表示将java.util 包下的所有类都引入(导入)
public class Import01 {
    public static void main(String[] args) {

        //使用系统提供的 Arrays 完成 数组排序
        int[] arr = {-1, 20, 2, 13, 3};
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
    }
}

//package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package
//一个类中最多只能有一个package
package com.gdledu.pkg;

//import 指令 位置放在 package 的下面,在类定义前面,可以有多句且没有顺序要求
import java.util.Arrays;
import java.util.Scanner;

//类定义
public class PkgDetail {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] arr= {10, 50};
        Arrays.sort(args);
    }
}

3.Access Modifier


4.Encapsulation

 

package com.gdledu.encap;

import java.util.Scanner;

public class Encapsalution01 {
    public static void main(String[] args) {
        //如果要使用快捷键alt + r,需要先配置主类
        //第一次,我们使用鼠标点击形式运行程序,后面就可以用
        Person person = new Person();
        person.setName("chubby");
        person.setAge(30);
        person.setSalary(30000);
        person.getSalary();
        System.out.println(person.info());

        //如果我们直接使用构造器指定属性
        Person ccc = new Person("ccc", 2000, 60000);
        System.out.println("=======ccc的信息======");
        System.out.println(ccc.info());
    }
}

/*
不能随便查看人的年龄,工资等隐私,并对设置的年龄进行合理的验证。
年龄合理就设置,否则给默认 年龄, 必须在 1-120, 年龄,
工资不能直接查看 , name 的长度在 2-6 字符 之间
 */
class Person {
    public String name;
    private int age;
    private double salary;

    //构造器alt + insert

    public Person() {
    }
    //有三个属性的构造器
    public Person(String name, int age, double salary) {
//        this.name = name;
//        this.age = age;
//        this.salary = salary;
        //我们可以将set方法写在构造器中,这样仍然可以验证
        setName(name);
        setAge(age);
        setSalary(salary);
    }
    //自己写setXxx 和getXxx 太慢,我们使用快捷键alt + ins,使用ctrl进行选中
    //然后根据要求来完善我们的代码

    public String getName() {
        return name;
    }

    public void setName(String name) {
        //加入对数据的校验
        if (name.length() >= 2 && name.length() <= 6) {
            this.name = name;
        } else {
            System.out.println("名字长度不对,需要2~6个字符,默认名字");
            this.name = "无名氏";
        }
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        //判断
        if (age >= 1 && age <= 120) {
            this.age = age;
        } else {
            System.out.println("年龄要在1~120岁,默认为18");
            this.age = 18;
        }
    }

    public double getSalary() {
        //可以在这里对当前对象的权限判断
        System.out.println("请输入密码:");
        Scanner scanner = new Scanner(System.in);
        String key = scanner.next();
        if (key.equals("123456")) {
            return salary;
        } else {
            System.out.println("密码错误");
            this.salary = 0;
            return salary;
        }
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    //写一个方法,返回属性信息
    public String info() {
        return "信息为 name=" + name + " age=" + age + " 薪水=" + salary;
    }
}
package com.gdledu.encap;


public class Account {
    private String name;
    private double balance;
    private String pwd;

    //提供两个构造器
    public Account() {
    }
    public Account(String name, double balance, String pwd) {
        setName(name);
        setBalance(balance);
        setPwd(pwd);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        if (name.length() >= 2 && name.length() <= 4) {
            this.name = name;
        } else {
            System.out.println("名字要求2到4个字,默认 无名");
            this.name = "无名";
        }
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        if (balance > 20) {
            this.balance = balance;
        } else {
            System.out.println("余额要大于20");
        }
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        if (pwd.length() == 6) {
            this.pwd = pwd;
        } else {
            System.out.println("密码必须是六位, 默认为:000000");
            this.pwd = "000000";
        }
    }
    public void showInfo(){
        //可以增加权限的校验
        System.out.println("账户信息 name=" + name +" 余额=" + balance);
    }
}
package com.gdledu.encap;

public class TestAccount {
    public static void main(String[] args) {
        //创建Account
        Account account = new Account();
        account.setName("ccc");
        account.setBalance(20000);
        account.setPwd("123456");
        account.showInfo();
    }
}

The knowledge learning in the article comes from:

【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibiliicon-default.png?t=M276https://www.bilibili.com/video/BV1fh411y7R8?p=32

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值