JavaSEDay03 总结笔记
01-switch 语句
- 格局 :
switch(将要匹配的值){
case 值 1:
语句体 1;
break;
case 值 2:
语句体 2;
break;
case 值 3:
语句体 3;
break;
...
default:
语句体 n +1;
break;
}
- 执行流程 :
1. 拿着 switch () 中的数据, 跟 case 给出的数据一一进行匹配, 匹配胜利, 就执行对应的语句体,再由 break, 完结掉整个的 switch 语句.
2. 给出的所有 case, 全副匹配失败, 将会执行 default
- 注意事项 :
1. case 前面的值不能反复
2. case 前面的值只能是常量, 不能是变量
3. switch 语句, () 中能够接管的类型
1). 根本数据类型: byte short char int
2). 援用数据类型: jdk5 开始能够是枚举, jdk7 开始能够是 String 字符串
4. 如果省略了 break, 将会开启 case 穿透景象
-
switch 语句案例:
-
示例代码:
import java.util.Scanner; public class SwitchDemo2 { /* 需要: 键盘录入一个数值, 代表星期 (1~5)打印工作日, (6~7)打印休息日 状况: 发现多个 case 中, 存在反复的代码 jdk14 的新个性: switch 语句中, case 容许编写多个值, 两头要用逗号隔开 ------------------------------------------------------------ if 语句和 switch 语句的应用抉择 : if : 实用于范畴的判断 switch : 实用于固定值的匹配 */ public static void main(String[] args) {Scanner sc = new Scanner(System.in); System.out.println("请输出一个整数:"); int week = sc.nextInt(); switch (week) { case 1, 2, 3, 4, 5: System.out.println("工作日"); break; case 6, 7: System.out.println("休息日"); break; default: System.out.println("您的输出有误!"); break; } } }
02-for 循环语句
- 指标 : 为什么要学习循环 ?
- 答复 : 咱们的代码逻辑, 有些时候须要反复的执行很屡次, 就应该应用循环
- 格局 :
for(初始化语句; 判断条件; 条件管制语句){循环体语句;}
初始化语句 : 定义变量, 用这个变量来管制循环
判断条件 : 决定循环是否须要持续
循环体语句 : 要反复执行的代码逻辑
条件管制语句 : 扭转管制循环的变量
- 执行流程 :
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回后果是 true, false
false : 循环完结
true : 进入第三步
3. 执行循环体语句
4. 执行条件管制语句
5. 回到 2 持续
for(int i = 1; i <= 5; i++){System.out.println("itheima");
}
-
示例代码:
public class ForTest7 { /* 需要: 应用 * 号, 在控制台打印 5 行直角三角形 * ** *** **** ***** ***** **** *** ** * 1. 打印 5 行 5 列矩形 2. 改良为直角三角形 */ public static void main(String[] args) { // 外循环: 管制行数 for(int i = 1; i <= 5; i++){ // 内循环: 管制列数 for(int j = 1; j <= i; j++){System.out.print("*"); } System.out.println();} System.out.println("-----------------------"); for(int i = 5; i >= 1; i--){for(int j = 1; j <= i; j++){System.out.print("*"); } System.out.println();} }
03-while 循环语句
- 格局 :
初始化语句;
while(判断条件){
循环体语句;
条件管制语句;
}
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回后果是 true, false
false : 循环完结
true : 进入第三步
3. 执行循环体语句
4. 执行条件管制语句
5. 回到 2 持续
- 留神 : while 循环, 千万别忘了条件管制语句.
-
示例代码:
public class WhileTest1 { /* 需要: 在控制台打印出所有的水仙花数, 要求应用 while 实现. */ public static void main(String[] args) { int i = 100; while (i <= 999) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){System.out.println(i); } i++; } } }
04-do…while 循环语句 (理解)
- 格局 :
初始化语句;
do {
循环体语句;
条件管制语句;
}while(判断条件);
1. 执行初始化语句
2. 执行循环体语句
3. 执行条件管制语句
4. 判断条件, 看其返回后果是 true, false
false : 循环完结
true : 回到 2 持续.
特点: 无论判断条件是否满足, 都至多执行一次循环体.
05- 三种循环的比照
- for, while : 先判断, 后执行
- do…while : 先执行, 后判断
for 循环 : 用于管制循环的那个变量, 因为归属于 for 的语法结构当中, 在循环完结后, 无奈持续应用
for (int i = 1; i <= 5; i++) { }
// System.out.println(i); 编译出错
while 循环 : 用于管制循环的那个变量, 不归属于 while 的语法结构, 在循环完结后, 能够持续应用的.
int i = 1;
while(i <= 5){System.out.println("itheima");
i++;
}
System.out.println(i); // 失常应用
- 论断 : for 可能实现的需要, while 都能实现, 反之也是一样.
-
三种循环的死循环写法
// 没有判断条件就是始终执行 for(;;){System.out.println("停不下来了~"); } -------------------------------------------- // 条件只有是 boolean:true 就会始终执行上来 while(true){System.out.println(1); } -------------------------------------------- do {System.out.println(1); }while(true);
06- 跳转管制语句
-
break : 完结 (循环, switch)
- break 只能在循环, 和 switch 当中应用
-
continue : 跳过 (循环)
- continue 只能在循环中应用
- 独特的注意事项 : break, continue 上面不容许写代码, 因为执行不到
-
示例代码:
public class ContinueDemo1 { /* continue : 跳过 留神: 只能在循环中用 break, continue 独特的注意事项 : 这俩货色, 上面不容许写代码, 因为执行不到. */ public static void main(String[] args) {for (int i = 1; i <= 80; i++) {if (i == 3 || i == 7 || i == 11) {continue;} System.out.println("老师正在给第" + i + "名同学发冰棍儿~"); } } }
-
细节 :
- 如果 break | continue 遇到了循环嵌套, 默认只能操作到本人所在的那一层循环
- 想要操作指定层的话, 能够退出循环标号
07-Random 产生随机数
1. 找符咒
import java.util.Random;
2. 号召精灵
Random r = new Random();
3. 指挥精灵产生随机数
20 ~ 60;
// 0 ~ 40
int num = r.nextInt(41) + 20;
import java.util.Random;
import java.util.Scanner;
public class RandomTest {
/*
需要: 实现猜数字小游戏
1. 应用 Random, 产生随机数 (1~100) 作为要猜的那个数据 (randomNum)
2. 应用 Scanner, 键盘录入用户猜想的数据 (scNum)
3. 比对
留神: 如果死循环, 没有进口, 上面是不容许写代码的, 因为执行不到.
*/
public static void main(String[] args) {Random r = new Random();
Scanner sc = new Scanner(System.in);
// 1. 应用 Random, 产生随机数 (1~100) 作为要猜的那个数据 (randomNum)
int randomNum = r.nextInt(100) + 1;
while(true){// 2. 应用 Scanner, 键盘录入用户猜想的数据 (scNum)
System.out.println("请输出:");
int scNum = sc.nextInt();
// 3. 比对
if (scNum > randomNum) {System.out.println("猜大了");
} else if (scNum < randomNum) {System.out.println("猜小了");
} else {System.out.println("祝贺, 猜对了!!!");
break;
}
}
System.out.println("感谢您的应用, 再见!");
}
}