开发软件_Scanner键盘录入_Random随机数_流程控制语句
- 一、开发软件idea(MAC版)
- 1、软件安装-安装社区版
- 2、中英文设置
- 3、保存时格式化配置
- 4、注释和代码对不齐
- 5、idea快捷键
- 二、键盘录入--Scanner
- 1、next和nextInt
- 2、next和nextLine区别
- 三、Random随机数
- 1、使用
- 2、随机范围
- 四、流程控制语句
- 1、switch语句
- 1、基本使用
- 2、case穿透性
- 3、执行语句重复时
- 2、if语句
- 1、if格式
- 2、if else格式
- 3、if else if else格式
- 3、for循环语句
- 练习1
- 练习2
- 练习3
- 4、while循环语句
- 5、do....while循环语句
- 6、循环控制关键字
- 7、死循环
- 8、嵌套循环
- 练习1
- 综合练习
一、开发软件idea(MAC版)
1、软件安装-安装社区版
idea社区版(免费)
2、中英文设置
3、保存时格式化配置
4、注释和代码对不齐
解决方法
设置-Editor-Code Style- Java-Code Generation
设置-Editor-Code Style- XML-Code Generation
5、idea快捷键
快捷键 | 功能 |
---|---|
Alt+Enter | 导入包,自动修正代码(重中之重) |
Ctrl+Y | 删除光标所在行 |
Ctrl+D | 复制光标所在行的内容,插入光标位置下面 |
Ctrl+Alt+L | 格式化代码 |
Ctrl+/ | 单行注释 |
Ctrl+Shift+/ | 选中代码注释,多行注释,再按取消注释 |
Alt+Shift+上下箭头 | 移动当前代码行 |
二、键盘录入–Scanner
1、概述:是java定义好的一个类
2、作用:将数据通过键盘录入的形式放到代码中参与运行
3、位置:java.util
1、next和nextInt
变量名.nextInt() 输入整数int
型的
变量名.next() 输入字符串 String
型的
public static void main(String[] args) {// 创建对象Scanner sc = new Scanner(System.in);// 整数intint detal = sc.nextInt();System.out.println("detal = " + detal);// 字符串String data2 = sc.next();System.out.println("data2 = " + data2);}
}
2、next和nextLine区别
变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
变量名.nextLine():录入字符串 -> 遇到回车就结束录入了public class Demo03Scanner {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String data = sc.next();System.out.println("data = " + data);String data1 = sc.nextLine();System.out.println("data1 = " + data1);}
}
三、Random随机数
1、使用
1、创建对象 Random 变量名 = new Random()2、调用方法,生成随机数 变量名.nextInt(). ---->在int的取值范围内随机一个整数public class Demo01 {public static void main(String[] args) {// 创建对象Random rd = new Random();int data = rd.nextInt();System.out.println("data = " + data);}
}
2、随机范围
public class Demo01 {public static void main(String[] args) {// 创建对象Random rd = new Random();/**指定随机数nextInt(int bound) 0-(bound-1)a.nextInt(10) -> 0-9b.在1-10之间随机一个数: nextInt(10)+1 -> (0-9)+1 -> 1-10c.在1-100之间随机一个数:nextInt(100)+1 -> (0-99)+1 -> 1-100d.在100-999之间随机一个数: nextInt(900)+100 -> (0-899)+100 -> 100-999*/ int data = rd.nextInt(10)+1;System.out.println("data = " + data);}
}
四、流程控制语句
1、switch语句
1、基本使用
switch能匹配的数据类型: byte short int char 枚举类型 String类型格式: switch(变量){case 常量值1:执行语句1;break;case 常量值2:执行语句2;break;case 常量值3:执行语句3;break;case 常量值4:执行语句4;break;...default:执行语句n;break;}
public class Demo01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int data = sc.nextInt();switch (data) {case 1:System.out.println("学习Java第一天");break;case 2:System.out.println("学习Java第二天");break;case 3:System.out.println("学习Java第三天");break;case 4:System.out.println("学习Java第四天");break;default:System.out.println("学习Java第N天");break;}}
}
2、case穿透性
如果没有break,就会出现case的穿透性,程序就一直往下穿透执行,直到遇到了break或者switch代码执行完毕了,就停止了public class Demo01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int data = sc.nextInt();switch (data) {case 1:System.out.println("学习Java第一天");case 2:System.out.println("学习Java第二天");case 3:System.out.println("学习Java第三天");case 4:System.out.println("学习Java第四天");break;default:System.out.println("学习Java第N天");break;}}
}
3、执行语句重复时
public class Demo02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int month = sc.nextInt();switch(month){case 12:case 1:case 2:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("什么情况,你家有这个月份?");}}
}
2、if语句
1、if格式
if(boolean表达式){执行语句;
}public class Demo01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int data1 = sc.nextInt();int data2 = sc.nextInt();if(data1==data2){System.out.println("两个数相等");}}
}
2、if else格式
public class Demo02 {public static void main(String[] args) {// 任意给出一个整数,请用程序实现盘算该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数Scanner sc = new Scanner(System.in);int data = sc.nextInt();if(data/2==0){System.out.println("这个整数是偶数 " + data);}else{System.out.println("这个整数是奇数 " + data);}}
}
3、if else if else格式
if(boolean表达式){执行语句1}else if(boolean表达式){执行语句2}else if(boolean表达式){执行语句3}...else{执行语句n}public class Demo08ElseIf {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int data1 = sc.nextInt();int data2 = sc.nextInt();if (data1>data2){System.out.println("data1大于data2");}else if(data1<data2){System.out.println("data1小于data2");}else (data1==data2){System.out.println("data1等于data2");}}
}
3、for循环语句
1.格式:for(初始化变量;比较;步进表达式){循环语句 -> 哪段代码循环执行,就将哪段代码放到此处}2.执行流程:a.先走初始化变量b.比较,如果是true,走循环语句,走步进表达式(初始化的变量的值进行变化) c.再比较,如果还是true,继续走循环语句,走步进表达式d.再比较,直到比较为false,循环结束了
public class Demo01 {public static void main(String[] args) {for (int i = 0; i < 7; i++) {System.out.println("今天是学习Java的第"+i+"天");}}
}
练习1
// 求1-3之间的数据和,并把求和结果输出public class Demo02 {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 3; i++) {sum+=i;}System.out.println("sum = " + sum);}
}
练习2
// 求出1-100的偶数和public class Demo02 {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if(i%2==0){sum+=i;}}System.out.println("sum = " + sum);}
}
练习3
//统计1-100之间的偶数个数public class Demo02 {public static void main(String[] args) {int sum = 0;for (int i = 0; i < 100; i++) {if(i%2==0){sum+=1;}}System.out.println("num = " + sum);}
}
4、while循环语句
while(比较){循环语句;步进表达式}public class Demo01 {public static void main(String[] args) {int i = 0;while (i<5){System.out.println("今天学习Java");i++;}}
}
练习:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?public class Demo01 {public static void main(String[] args) {// 1、定义一个变量表示山峰。mountionint mountion = 8844430;// 2、定义一个变量表示纸的厚度 paperdouble papaer = 0.1;// 3、定义一个变量表示折纸的次数。countint count = 0;// 利用while循环比较,如果paper<mountion,就循环对折while(papaer<mountion){papaer*=2;count++;}System.out.println("count = " + count);}
}
5、do…while循环语句
1.格式:初始化变量;do{循环语句;步进表达式}while(比较);2.执行流程:a.初始化变量b.走循环语句c.走步进表达式d.判断,如果是true,继续循环,直到比较为false,循环结束3.特点:至少循环一次
public class Demo01DoWhile {public static void main(String[] args) {int i = 0;do{System.out.println("我爱java");i++;}while(i<5);}
}
6、循环控制关键字
1.break:a.在switch中代表结束switch语句b.在循环中代表结束循环 2.continue:结束当前本次循环,直接进入下一次循环,直到条件为false为止
public class Demo03Scanner {public static void main(String[] args) {for (int i = 0; i < 5; i++) {if (i == 3) {//结束循环//break;// 结束本次循环continue;}System.out.println("今天是学习Java的第" + i + "天");}}
}
7、死循环
比较条件一直为true
8、嵌套循环
1.概述:循环中还有循环
2.执行流程:
先执行外层循环,再进入内层循环,内层循环就一直循环,直到内层循环结束,外层循环进入下一次循环,直到外层循环都结束了,整体结束
练习1
// 打印直角三角形public class Demo03Scanner {public static void main(String[] args) {for (int j = 1; j < 5; j++) {for (int i = 0; i < j; i++) {System.out.print("* ");}System.out.println();}}
}*
* *
* * *
* * * *
综合练习
1.创建Scanner和Random对象
2.调用Random中的nextInt(100)+1在1-100之间随机一个数 rdNumber
3.调用Scanner中的nextInt()方法 键盘录入一个要猜的数 scNumber
4.如果scNumber大于rdNumber,证明猜大了
5.如果scNumber小于rdNumber,证明猜小了
6.如果scNumber等于rdNumber,证明猜中了
public class Demo01Exam {public static void main(String[] args) {//1.创建Scanner和Random对象Scanner sc = new Scanner(System.in);Random rd = new Random();//2.调用Random中的nextInt(100)+1在1-100之间随机一个数 rdNumberint rdNumber = rd.nextInt(100) + 1;while(true){//3.调用Scanner中的nextInt()方法 键盘录入一个要猜的数 scNumberSystem.out.println("请您猜一个数:");int scNumber = sc.nextInt();//4.如果scNumber大于rdNumber,证明猜大了if (scNumber>rdNumber){System.out.println("对不起,您猜大了!");}else if (scNumber<rdNumber){//5.如果scNumber小于rdNumber,证明猜小了System.out.println("对不起,您猜小了!");}else{//6.如果scNumber等于rdNumber,证明猜中了System.out.println("恭喜您,猜中了!");break;}}}
}