文章目录
- 一、分支语句
- 1. if 语句
- 2. switch 语句
 
- 二、循环语句
- 1. for 循环语句
- 2. while 循环语句
- 3. do...while 循环语句
- 4. 跳转控制语句
- 5. 循环嵌套
- 6. Random
- 6.1 猜数字游戏
 
 
 
一、分支语句
1. if 语句
if(关系表达式1) {
    语句体1;
} else if(关系表达式2){
    语句体2;
}
...
else {
    语句体n+1;
}
执行流程:
 ① 首先计算关系表达式1的值;
 ② 如果值为 true 就执行语句体1,如果值为 false 就计算关系表达式2的值;
 ③ 如果值为 true 就执行语句体2,如果值为 false 就计算关系表达式3的值;
 ④ 以此类推,如果前面关系表达式全不满足,则执行语句体 n+1。
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a == 1) {
    System.out.println("a等于1");
} else if(a == 2){
    System.out.println("a等于2");
} else {
    System.out.println("a不是1也不是2");
}
2. switch 语句
switch(表达式) {
    case 值1:
            语句体1;
            break;
    case 值2:
            语句体2;
            break;
    ...
    default:
            语句体n+1;
            break;        
}
注意:
① case 后面跟的是要和表达式进行比较的值;
② break 表示中断、结束的意思,用来结束 switch 语句,break 不要丢掉;
③ default 表示当所有的情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 相似。
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
//case穿透,可以合并结果相同的多种情况
switch(month) {
    case 1:
    case 2:
    case 12:
            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("请输入正确的月份"); 
            break;             
}
default 下的 break 可写可不写!
二、循环语句
1. for 循环语句
for(初始化语句; 条件判断语句; 条件控制语句) {
    循环体语句;
}
执行流程:
 ① 执行初始化语句;
 ② 执行条件判断语句,如果结果是 false 循环结束,如果是 true 则继续执行;
 ③ 执行循环体语句;
 ④ 执行条件控制语句;
 ⑤ 回到 ② 继续。
//循环输出5次
for (int i = 1; i <= 5; i++) {
    System.out.println("我爱你!");
}
案例1:求 1—100 之间的偶数和
int sum = 0;
for (int i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        sum += i; 
    } 
}
System.out.println("1—100之间的偶数和是:" + sum);
案例2:在控制台输出所有的水仙花数
什么是水仙花数?
 ① 水仙花数是一个三位数;
 ② 水仙花数的个位、十位、百位的数字立方和等于原数。
for (int i = 100; i <= 999; i++) {
    int a = i % 10;
    int b = i / 10 % 10;
    int c = i / 100;
    int m = a ^ 3 + b ^ 3 + c ^ 3;
    if (m == i) {
        System.out.println(i);
    }
}
2. while 循环语句
while (条件判断语句) {
    循环体语句;
}
int j = 1;
while (j <= 5) {
    System.out.println("你好!");
    j++;
}
3. do…while 循环语句
do {
    循环体语句;
} while (条件判断语句);
int j = 1;
do {
    System.out.println("你好啊!");
    j++;
} while (j <= 5);
while 循环与 do...while 循环的区别是,while 是先判断后执行,而 do...while 先执行后判断。
4. 跳转控制语句
先清楚两个关键字:
 ① continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行;
 ② break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环。
for (int i = 1; i <= 5; i++) {
    if (i % 2 == 0) {
        continue;
    }
    System.out.println(i);
}
5. 循环嵌套
分支语句中包含分支语句称为分支嵌套,循环语句中包含循环语句称为循环嵌套。
//外循环控制小时的范围,内循环控制分支的范围
for (int hour = 0; hour < 24; hour++) {
    for (int minute = 0; minute < 60; minute++) {
        System.out.println(hour + "时" + minute + "分");
    }
    System.out.println("--------");
}
6. Random
作用:用于产生一个随机数。
使用步骤:
① 导包
import java.util.Random;
② 创建对象
Random r = new Random();
③ 获取随机数
int number = r.nextInt(10); //获取数据的范围,[0, 10)
6.1 猜数字游戏
程序自动生成一个 1—100 之间的数字,请你猜出这个数字是多少?
 当猜错的时候根据不同情况给出相应的提示:
 如果猜的数字比真实数字大,提示你猜的数据大了;
 如果猜的数字比真实数字小,提示你猜的数据小了;
 如果猜的数字与真实数字相等,提示恭喜你猜中了。
import java.util.Random;
import java.util.Scanner;
public class cs {
    public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100) + 1;
        Scanner sc = new Scanner(System.in);
        int x;
        while(true) {
            System.out.println("请输入你要猜的数字:");
            x = sc.nextInt();
            if (x > num) {
                System.out.println("你猜的数据大了!");
            } else  if (x < num) {
                System.out.println("你猜的数据小了!");
            } else {
                System.out.println("恭喜你猜中了!");
                break;
            }
        }
    }
}




![Redis面试题万字汇总 [施工中]](https://img-blog.csdnimg.cn/img_convert/2aec0227771ba7673d13cfa53a1125ff.png)












![洛谷-P2114 [NOI2014] 起床困难综合症](https://img-blog.csdnimg.cn/img_convert/7edf53c01bf4534d76928418a7f7b6eb.png)


![[GYCTF2020]EasyThinking (ThinkPHP V6.0.0)](https://img-blog.csdnimg.cn/2e9f06245b514ab38ea4936319e11d5a.png)