day03 总结笔记
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穿透现象
02-for循环语句
- 目标 : 为什么要学习循环 ?
- 回答 : 我们的代码逻辑, 有些时候需要重复的执行很多次, 就应该使用循环
- 格式 :
for(初始化语句; 判断条件; 条件控制语句){
循环体语句;
}
初始化语句 : 定义变量, 用这个变量来控制循环
判断条件 : 决定循环是否需要继续
循环体语句 : 要重复执行的代码逻辑
条件控制语句 : 改变控制循环的变量
- 执行流程 :
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回结果是true, false
false : 循环结束
true : 进入第三步
3. 执行循环体语句
4. 执行条件控制语句
5. 回到2继续
for(int i = 1; i <= 5; i++){
System.out.println("itheima");
}
03-while循环语句
- 格式 :
初始化语句;
while(判断条件){
循环体语句;
条件控制语句;
}
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回结果是true, false
false : 循环结束
true : 进入第三步
3. 执行循环体语句
4. 执行条件控制语句
5. 回到2继续
- 注意 : while循环, 千万别忘了条件控制语句.
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都能实现, 反之也是一样.
06-跳转控制语句
break : 结束 (循环, switch)
- break只能在循环, 和switch当中使用
continue : 跳过 (循环)
- continue只能在循环中使用
- 共同的注意事项 : break, continue 下面不允许写代码, 因为执行不到
细节 :
- 如果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;
package com.itheima.test;
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("感谢您的使用, 再见!");
}
}