关键字和封装

  1. 整理java中学习到的所有关键字,详细说明其作用和用法.

package:包对类进行管理。

import:导包为了使用包中的成员

class 声明一个类

public :公共权限。用来修饰类、属性、方法。可以被任意类访问

protected:受保护的权限。用来修饰属性、方法。 可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问

default默认权限。用来修饰类属性方法。可以被同包类访问。

private:私有权限。修饰属性、方法。 只能在本类中访问

static:静态。用来修饰属性、方法、代码块、内部类。随着类的加载而加载、优先于对象存在、修饰的成员,被所有对象所共享、可不创建对象,直接被类调用。使用时在属性、方法、代码块、内部类前加static。

void:方法不想返回任何东西时使用void。

整数型:int long short byte

浮点型:float double

字符型:char

布尔型:boolean

new:实例化。创建一个新对象。

this:代表当前对象,使用this引用成员方法和成员变量

控制流程的关键字

条件语句if{ }else{}

循环语句while(){   },do{}while(),for(  ;   ;  ){}

switch语句switch(){case 1:  break;case 2:  continue;}

break:用来终止某个语句块的执行。

continue:用来终止某次循环过程。

return:结束方法,返回方法指定类型的值

2.静态成员变量与非静态成员变量的区别.   

答:静态成员变量: 在数据类型前面多了一个static修饰在内存中只有一个,直接通过类名使用,在类加载的时候,类加载完成,就分配完空间;直到类被卸载时空间被回收

非静态成员变量: 没有static修饰,必须通过对象使用,创建对象的时候分配空间; 对象变为垃圾空间被回收的时候被销毁

3.下面程序运行输出的结果顺序是?

public class Test {

    Person person = new Person("Test");

          int age;

static{

        System.out.println("test static");

    }                             

{   

        System.out.println(“test”);

    }

public Test() {

        System.out.println("test constructor");

}

     

    public static void main(String[] args) {

        new Test();

    }

}

class Person{

    static{

        System.out.println("person static");

    }

    public Person(String str) {

        System.out.println("person "+str);

    }

}

运行结果:

test static

person static

person Test

test

test constructor

4封装是一个保护屏障,保护类的代码和数据不被外部类定义的代码随机访问。如果要访问该类的代码和数据,要通过严格的接口控制。可以让程式码更容易理解与维护,增强了安全性。

  1.  设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.
     要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限)
    1.启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学
    生,4-退出
    2.选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储
    到一个数组中,数组容量定位30.
    3.删除删除时,必须输入学号,如果学号对应的学生存在,删除该学生信息
    4.点击查询时,必须输入学号,如果学号对应的学生存在,输出学生信息即可

import java.util.ArrayList;
import java.util.Scanner;

public class Dome {
    public static void main(String[] args) {
        Student s1 = new Student(1, "赵一", "");
        Student s2 = new Student(2, "钱二", "");
        Student s3 = new Student(3, "孙三", "");

        ArrayList<Student> studentArrayList = new ArrayList<>();

        studentArrayList.add(s1);
        studentArrayList.add(s2);
        studentArrayList.add(s3);

        Scanner sc = new Scanner(System.in);
       out: do {
            System.out.println("输入想进行的操作");
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("3.查询学生");
            System.out.println("4.退出");
            int n = sc.nextInt();
            switch (n) {
                case 1:
                    System.out.println("请问你要输入几位学生信息");
                    int m = sc.nextInt();
                    for (int i = 0; i < m; i++) {
                        System.out.println("请输入依次学号,姓名,性别");
                        int id=sc.nextInt();
                        String name= sc.next();
                        String sex = sc.next();
                        Student student = new Student(id,name,sex);
                        studentArrayList.add(student);
                    }break;
                case 2:
                    System.out.println("请输入要删除学生的学号");
                    int ID = sc.nextInt();
                    for (int i = 0; i < studentArrayList.size(); i++) {
                        if (ID==studentArrayList.get(i).getStuID()) {
                            studentArrayList.remove(i);
                            System.out.println("操作成功");
                        }
                    }break;
                case 3:
                    System.out.println("请输入你要查询的学生学号");
                    int s= sc.nextInt();
                    for (int i = 0; i < studentArrayList.size(); i++) {
                        if (s==studentArrayList.get(i).getStuID()) {
                            System.out.println(studentArrayList.get(i));
                            System.out.println("操作成功");
                        }
                    }break;
                case 4:break out;
            }
        }while (true);
    }
}

public class Student {
    private int stuID;
    private String stuName;
    private String stuSex;

    public Student() {
    }

    public Student(int stuID, String stuName, String stuSex) {
        this.stuID = stuID;
        this.stuName = stuName;
        this.stuSex = stuSex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "stuID=" + stuID +
                ", stuName='" + stuName + '\'' +
                ", stuSex='" + stuSex + '\'' +
                '}';
    }

    public int getStuID() {
        return stuID;
    }

    public void setStuID(int stuID) {
        this.stuID = stuID;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public String getStuSex() {
        return stuSex;
    }

    public void setStuSex(String stuSex) {
        this.stuSex = stuSex;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值