IDEA工具快捷键的使用
🏀关于IDEA工具的快捷键以及一些简单的设置
🥅project---Module---class三板斧
❤️(1)创建新的项目工程:
create new project--->EmptyProject(Next)--->输入项目工程名称(例如:JavaSe1)
编辑
编辑
编辑
❤️(2)在空的工程创建一个Module(模块)
eclipse的组织方式:
workspace--> project
idea的组织方式:
project --> module
怎么创建module?
file菜单-->new --> Module(默认选项,然后Next)--->输入模块名称(例如:chapter)
编辑
编辑
❤️(3)编写代码,在src目录下(右击鼠标)新建类(例如:Helloworld),写代码运行
编辑
编辑
自动生成类!编辑
🥅IDEA常用快捷键
❤️一般设置
⭐️字体设置
file --> settings --> 输入font --> 设置字体样式以及字号大小。
⭐️背景设置
file --> settings-->Theme,一般常用两个选项:黑、白
编辑
❤️常用快捷键设置
⭐️快速生成main方法
psvm回车⭐️快速生成System.out.println()
sout 回车⭐️怎么运行:
(1)代码上有机鼠标-->run
(2)或者点击左侧的绿色箭头。
(3)ctrl + shift + F10
⭐️注意:IDEA是自动保存,不需要ctrl + s
⭐️删除一行:ctrl + y
⭐️最左侧窗口中的列表怎么展开?怎么关闭?
(1)左箭头关闭。
(2)右箭头展开。
(3)上下箭头移动。
⭐️idea中退出任何窗口,都可以使用esc键盘。(esc就是退出)
⭐️任何新增/新建/添加的快捷键是:alt + insert;例如:
(1)创建一个新类不需要鼠标也可以;在src目录下按alt + insert然后输入class回车,就会弹出窗口让你输入类名(例如:User);最终就会自动创建新类;(2)可以用来自动创建构造方法;创建一个User类,给上实例变量;然后按alt + insert就会弹出窗口,选择Constructor(构造)就可以调用无参和有参的构造方法;
(3)用来自动创建settter方法和getter方法;alt + insert然后选择getter和setter;选择所要创建的参数,就可以自动生成;
(4)用来重写方法;对于User类默认是继承Object类,所以可以重写Object父类的toString()方法;按alt + insert选择Override Method就可以自动生成toStrig方法;
⭐️窗口变大,变小:ctrl + shift + F12
⭐️切换java程序:从HelloWorld切换到User
alt + 右箭头 或者 alt + 左箭头
⭐️切换带标号的窗口:
alt + 标号;例如:alt + 1(打开,关闭)
⭐️提示方法可以传什么参数:ctrl + p;必须在()内才可以;
⭐️注释:
(1)单行注释:ctrl + /
(2)多行注释:ctrl + shift + /⭐️idea中怎么定位当前的方法/属性/变量?
光标停到某个单词的下面,这个单词可能是:方法名、变量名停到单词下面之后,按ctrl键,出现下划线,点击就会跳转。⭐️idea当中复制一行是ctrl + d
⭐️查看一个类:双击shift,输入所需要查找的类
⭐️查看一个类的属性和方法:ctr+F12
⭐️不是java.lang包下的需要导包,对于SUN公司写好的方法,我们使用alt+回车就可以自动导包;如果是自己写的方法,alt+回车可以自动生成要写的方法,这个方法,默认是private修饰的,可以手动改成public修饰;alt+回车也可以自动纠错!
🥅小试牛刀
例1:请定义一个交通工具(Vehicle)的类
(1)其中有属性:
速度(speed)
体积(size)等等
(2)方法移动(move())
设置速度(setSpeed(int speed))
加速speedUp(),
减速speedDown()等等.
(3)最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且打印出来。
(4)另外调用加速减速的方法对速度进行改变。
public class HomeWork01 { public static void main(String[] args) { //方法1:调用无参构造方法 Vehicle v = new Vehicle(); v.setSpeed(110); v.setSize(10); //打印 System.out.println("speed:"+v.getSpeed()); System.out.println("size:"+v.getSize()); //加速speedUp() v.speedUp(20); System.out.println("speed:"+v.getSpeed()); //减速speedDown() v.speedDown(30); System.out.println("speed:"+v.getSpeed()); } } class Vehicle{ private int speed; private int size; //构造方法 public Vehicle() { } public Vehicle(int speed, int size) { this.speed = speed; this.size = size; } //getter 和 setter方法 public int getSpeed() { return speed; } //设置速度(setSpeed(int speed)) public void setSpeed(int speed) { this.speed = speed; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } // 方法移动(move()) public void move(){ } // 加速speedUp() public void speedUp(int addSpeed){ this.setSpeed(addSpeed+this.getSpeed()); } // 减速speedDown() public void speedDown(int addSpeed){ if(this.getSpeed() > addSpeed) { this.setSpeed(this.getSpeed()-addSpeed); }else{ this.setSpeed(0); } } }
例2:编写Java程序模拟简单的计算器。
(1)定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。
(2)编写构造方法赋予n1和n2初始值
(3)再为该类定义加addition()、减subtration()、乘multiplication()、除division()等公有实例方法
(4)分别对两个成员变量执行加、减、乘、除的运算。
public class HomeWork02 { public static void main(String[] args) { Number num = new Number(10,2); num.add(); num.sub(); num.mul(); num.div(); } } class Number{ private int n1; private int n2; //构造方法 public Number() { } public Number(int n1, int n2) { this.n1 = n1; this.n2 = n2; } //getter和setter方法 public int getN1() { return n1; } public void setN1(int n1) { this.n1 = n1; } public int getN2() { return n2; } public void setN2(int n2) { this.n2 = n2; } //定义加add()、减sub()、乘mul()、除div()等公有实例方法 public void add(){ System.out.println(this.getN1()+"+"+this.getN2()+"="+(this.getN1()+this.getN2())); } public void sub(){ System.out.println(this.getN1()+"-"+this.getN2()+"="+(this.getN1()-this.getN2())); } public void mul(){ System.out.println(this.getN1()+"*"+this.getN2()+"="+(this.getN1()*this.getN2())); } public void div(){ if(n2 == 0){ System.out.println("除数不能为0"); return; } System.out.println(this.getN1()+"/"+this.getN2()+"="+(this.getN1()/this.getN2())); } }
例3:编写Java程序用于显示人的姓名name和年龄age。
(1)定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。
(2)定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。
(3)在main方法中创建人类的实例然后将信息显示
public class HomeWork03 { public static void main(String[] args) { //调用有参的 Person p = new Person("张三",18); p.display(); //调用无参的 Person p1 = new Person(); p1.setName("李四"); p1.setAge(22); p1.display(); } } class Person{ private String name; private int age; //构造方法 public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } //getter和setter方法 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; } //定义显示display方法将姓名和年龄打印出来。 public void display(){ //三种方法都可以 System.out.println("姓名:"+this.getName()+","+"年龄:"+this.getAge()); System.out.println("姓名:"+this.name+","+"年龄:"+this.age); System.out.println("姓名:"+name+","+"年龄:"+age); } }
例4:在程序中经常要对时间进行操作但是并没有时间类型的数据。 那么我们可以自己实现一个时间类来满足程序中的需要。
(1)定义名为MyTime的类其中应有三个整型成员时hour分minute秒second 为了保证数据的安全性这三个成员变量应声明为私有。
(2)为MyTime类定义构造方法以方便创建对象时初始化成员变量。
(3)再定义diaplay方法用于将时间信息打印出来。
(4)为MyTime类添加以下方法
addSecond(int sec)
addMinute(int min)
addHour(int hou)
subSecond(int sec)
subMinute(int min)
subHour(int hou)
分别对时、分、秒进行加减运算。
public class HomeWork04 { public static void main(String[] args) { MyTime m = new MyTime(6,30,30); //6 30 30 m.display(); //6时30分30秒 //增加:hour、minute、second m.addHour(1); m.display();//7时30分30秒 m.addMinute(40); m.display();//8时10分30秒 m.addSecond(40); m.display();//8时11分10秒 System.out.println("--------------------------"); m.addHour(22); m.display();//6时11分10秒 m.addMinute(140); m.display();//8时31分10秒 m.addSecond(140); m.display();//8时33分30秒 System.out.println("--------------------------"); //减少:hour、minute、second m.subHour(1); m.display();//7时33分30秒 m.subMinute(21); m.display();//7时12分30秒 m.subSecond(30); m.display(); //7时12分0秒 System.out.println("--------------------------"); m.subHour(8); m.display();//23时12分0秒 m.subMinute(151); m.display();//21时19分0秒 m.subSecond(150); m.display(); //21时17分30秒 } } class MyTime{ private int hour; private int minute; private int second; //构造方法 public MyTime() { } public MyTime(int hour, int minute, int second) { this.hour = hour; this.minute = minute; this.second = second; } //getter和setter方法 public int getHour() { return hour; } public void setHour(int hour) { this.hour = hour; } public int getMinute() { return minute; } public void setMinute(int minute) { this.minute = minute; } public int getSecond() { return second; } public void setSecond(int second) { this.second = second; } //增加小时 addHour(int hou) public void addHour(int hou){ if((this.getHour()+hou)<24) { this.setHour(this.getHour() + hou); }else{ int newHour = this.getHour() + hou; this.setHour(newHour % 24); } } //减少小时 subHour(int hou) public void subHour(int hou){ if(hou > this.getHour()){ this.setHour(this.getHour() - hou+24); }else{ this.setHour(this.getHour() - hou); } } //增加分钟 addMinute(int min) public void addMinute(int min){ if((this.getMinute()+min) < 60){ this.setMinute(this.getMinute()+min); }else { int newMin = this.getMinute()+min; this.setMinute(newMin%60); this.setHour(this.getHour()+newMin/60); } } //减少分钟 subMinute(int min) public void subMinute(int min){ if(min > this.getMinute()) { int newMin = min-this.getMinute(); this.setMinute(newMin%60); this.setHour(this.getHour() - newMin/60); }else{ this.setMinute(this.getMinute()-min); } } //增加秒 addSecond(int sec) public void addSecond(int sec){ if((this.getSecond()+sec) <60) { this.setSecond(this.getSecond() + sec); }else{ int newSec = this.getSecond() + sec; this.setSecond(newSec%60); this.setMinute(this.getMinute() + newSec/60); } } //减少秒 subSecond(int sec) public void subSecond(int sec){ if(sec > this.getSecond()){ int newSec = sec - this.getSecond(); this.setSecond(newSec%60); this.setMinute(this.getMinute()-newSec/60); }else{ this.setSecond(this.getSecond()-sec); } } //定义diaplay方法用于将时间信息打印出来。 public void display(){ System.out.println(this.getHour()+"时"+this.getMinute()+"分"+this.getSecond()+"秒"); } }