目录
❤️(1)创建新的项目工程:
create new project--->EmptyProject(Next)--->输入项目工程名称(例如:JavaSe1)
❤️(2)在空的工程创建一个Module(模块)
eclipse的组织方式:
workspace--> project
idea的组织方式:
project --> module
怎么创建module?
file菜单-->new --> Module(默认选项,然后Next)--->输入模块名称(例如:chapter)
❤️(3)编写代码,在src目录下(右击鼠标)新建类(例如:Helloworld),写代码运行
自动生成类!
❤️一般设置
⭐️字体设置
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修饰
例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()+"秒");
- }
- }