Surpass Day10——IntelliJ IDEA和eclipse的使用、Java程序基础练习

目录

1、关于IDEA工具的快捷键以及一些简单的设置

2、关于eclipse工具的快捷键以及一些简单设置

2.1. 文件相关的快捷键

2.2 编写代码时常用的快捷键

3、Java程序基础练习题

3.1 题目一:Vehicle Driving

3.2 题目二:Calculator

 3.3 题目三:People Message

 3.4 题目四:Add Time


1、关于IDEA工具的快捷键以及一些简单的设置

1)字体设置 File ---> setting ---> 输入font --->设置字体样式以及字号大小;

2)快速生成main方法: psvm

3)快速生成Sys.out.println(): sout

4)注意IDEA是自动保存,不需要 Ctrl + S

5)删除一行: Ctrl + Y

6)运行: 代码上右键--->run 点击代码左侧的绿色箭头 Ctrl + Shift + F10

7)左侧窗口的列表的展开和关闭: 左箭头关闭; 右箭头打开; 上下箭头移动;

8)退出任何窗口 Esc键

9)任何新增/新建/添加的快捷键: Alt + Insert

10)窗口变大、变小: Ctrl + Shift + F12

11)切换Java程序 Alt + 左右箭头

12)切换窗口 Alt + 标号(打开、关闭)

13)提示方法的参数: Ctrl + P

14)复制光标当前行代码到下一行: Ctrl + D

15)定位方法/属性/变量 光标停到某个单词下面,按Ctrl键,出现下划线,点击

2、关于eclipse工具的快捷键以及一些简单设置

2.1. 文件相关的快捷键

1)新建一个工程、文件、文件夹等内容 Ctrl + N

2)在对话框中进行的快捷操作 Alt + 带下划线字母

3)窗口最大化/还原 Ctrl + M

4)打开被选中的工程、包、文件等的属性窗口 Alt + Enter

5)运行程序 Ctrl + F11

6)调试模式运行程序 F11

7)重命名工程名、文件名、方法名、变量名 右键 —> Refactor —> Rename Alt + Shift + R F2

8)重命名工程名、文件名 F2

9)打开编辑窗口查看目录 Ctrl + E

10)切换到当前编辑窗口的上一个窗口 Ctrl + Page Up

11)切换到当前编辑窗口的下一个窗口 Ctrl + Page Down

2.2 编写代码时常用的快捷键

1)向上(下)复制光标所在行内容或选中内容 Ctrl + Alt + 向上(下)键

2)向上(下)移动光标所在行内容或选中内容 Alt + 向上(下)键

3)删除当前行/光标所在行 Ctrl + D

3)在光标所在行下添加一个空格 Shift + Enter

4)错误给出解决方案 Ctrl + 1

5)自动提示 Alt + ?

3、Java程序基础练习题

3.1 题目一:Vehicle Driving

要求:

请定义一个交通工具(Vehicle)的类,其中有属性:
1)速度(speed),
2)体积(size),
3)方法移动(move()),
4)设置速度(setspeed(int speed,) ),
5)加速speedUp (),
6)减速speedDown();
        最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且打印出来,用加速减速的方法对速度进行改变;

public class HelloWorld {
    public static void main(String[] args) {
        //无参数构造方法创造对象
        Vehicle v = new Vehicle();
        //有参数构造方法创造对象
        Vehicle v1 = new Vehicle(100.0,5.0);
        //通过set方法赋值
        v.setSpeed(100.0);
        System.out.println("oldSpeed : " + v.getSpeed());
        v.setSize(5.0);
        //调用加速方法
        v.speedUp(10.0);
        System.out.println("addSpeed : " + v.getSpeed());
        //调用减速方法
        v.speedDown(5.0);
        System.out.println("downSpeed : " + v.getSpeed());
    }
}

class Vehicle {
    private double speed;
    private double size;
    //无参构造方法
    public Vehicle() {
    }
    //有参构造方法
    public Vehicle(double speed, double size) {
        this.speed = speed;
        this.size = size;
    }
    public double getSpeed() {
        return speed;
    }
    //设置速度的方法
    public void setSpeed(double speed) {
        this.speed = speed;
    }
    public double getSize() {
        return size;
    }
    public void setSize(double size) {
        this.size = size;
    }
    //交通工具的移动方法
    public void move() {
        System.out.println("公共汽车起步行驶");
    }
    //加速方法
    public void speedUp(double addSpeed) {
        //在原来基础上加
        //int oldSpeed = this.getSpeed()
        this.setSpeed(this.getSpeed() + addSpeed);
    }
    //减速方法
    public void speedDown(double delSpeed) {
        //在原来基础上减
        //int oldSpeed = this.getSpeed()
        this.setSpeed(this.getSpeed() - delSpeed);
    }
}

3.2 题目二:Calculator

 要求:

1)定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。
2)编写构造方法赋值n1和n2初始值;
3)为该类定义加addition()、减subration()、乘multiplication()、除division()公有实例方法;
4)分别对两个成员变量执行加、减、乘、除的运算;

public class JiSuanQi {
    public static void main(String[] args) {
        Number n1 = new Number();
        Number n2 = new Number(5,41);
        Number n3 = new Number(82,6);
        Number n4 = new Number(24,6);
        n1.addition();
        n2.subration();
        n3.multiplication();
        n4.division();
    }
}
class Number {
    private int n1;
    private int n2;

    public Number(int n1, int n2) {
        this.n1 = n1;
        this.n2 = n2;
    }

    public Number() {
        this(10,20);
    }

    public void setN1(int n1) {
        this.n1 = n1;
    }

    public void setN2(int n2) {
        this.n2 = n2;
    }

    public int getN1() {
        return n1;
    }

    public int getN2() {
        return n2;
    }

    public void addition(){
        System.out.println(n1 + "+" + n2 + "=" + (n1+n2));
        System.out.println(this.getN1() + "+" + this.getN2() + "=" + (this.getN1() + this.getN2()));
    }

    public void subration(){
        System.out.println(n1 + "-" + n2 + "=" + (n1-n2));
        System.out.println(this.n1 + "-" + this.getN2() + "=" + (this.getN1() - this.getN2()));
    }

    public void multiplication(){
        System.out.println(n1 + "*" + n2 + "=" + (n1*n2));
        System.out.println(n1 + "*" + n2 + "=" + (getN1() * getN2()));
    }

    public void division(){
        System.out.println(n1 + "/" + n2 + "=" + (n1/n2));
    }
}

 3.3 题目三:People Message

要求:

1)定义一个人类People该类中应该有两个私有属性姓名name和年龄age;
2)定义构造方法用来初始化数据成员;
3)定义显示display方法将姓名和年龄打印出来;
4)在main方法中创建人类对象的实例然后将信息显示;

public class People {
    public static void main(String[] args) {
        Peason p = new Peason("Sam",18);
        p.display();
        Peason p2 = new Peason();
        p2.setName("张三");
        p2.display();
    }
}
class Peason{
    private String name;
    private int age;

    public void display(){
        System.out.println("name:" + this.getName() + "," + "age:" + this.age);
    }


    public Peason() {
    }

    public Peason(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}

 3.4 题目四:Add Time

要求:

1)定义为MyTime的类其中应有三个整形成员时hour分minute秒second;
2)为了保证数据的安全性这三个成员变量应声明为私有;
3)为MyTime类定义构造方法以方便创建对象时初始化成员变量;
4)再定义display方法用于将时间信息打印出来;
5)为MyTime类添加一下方法:
        addSecond(int sec)
        addMinute(int min)
        addHour(int hou)
        subSecond(int sec)
        subMinute(int min)
        subHour(int hou)

public class Time {
    public static void main(String[] args) {
        MyTime t1 = new MyTime(13,20,15);
        t1.display();
        t1.addSecond(121);
        t1.display();
    }
}
class MyTime{
    private int hour;
    private int minute;
    private int second;

    public void addSecond(int sec){
        int oldSec = this.getSecond();
        int newSec = oldSec +sec;
        if(newSec < 60){
            this.setSecond(newSec);
        }else if(newSec == 60){
            this.addMinute(1);
            this.setSecond(0);
        }else{
            this.addMinute(newSec / 60);
            this.setSecond(newSec % 60);
        }
    }
    public void addMinute(int min) {
        this.setMinute(this.getMinute() + min);
    }//由于下列方法类似,不再赘述解决数学问题
     //还可以采用秒处理的方法对此类题进行处理   
    public void addHour(int hou){

    }
    public void subSecond(int sec){

    }
    public void subMinute(int min){

    }
    public void subHour(int hou){

    }

    public void display(){
        System.out.println(this.getHour() + "时"  + this.getMinute() + "分" + this.getSecond() + "秒");
    }

    public void setHour(int hour) {
        this.hour = hour;
    }

    public void setMinute(int minute) {
        this.minute = minute;
    }

    public void setSecond(int second) {
        this.second = second;
    }

    public int getHour() {
        return hour;
    }

    public int getMinute() {
        return minute;
    }

    public int getSecond() {
        return second;
    }

    public MyTime() {
    }

    public MyTime(int hour, int minute, int second) {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }
}

上一篇:C++类中变量的初始化顺序


下一篇:B1036 跟奥巴马一起编程