0x00: 顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

0x02: if 语句

单独 if 语句

  1. 格式:
  2. if(关系表达式){
  3. 语句体;
  4. }

执行流程:和python中 if 语句是一样的,满足条件执行语句体,不然就执行后面的语句。

image.png

if else 语句

  1. 格式:
  2. if(关系表达式){
  3. 语句体1;
  4. }
  5. else{
  6. 语句体2;
  7. }

反正满足 if 执行语句体1 , 不满足执行语句体2 ,然后执行 if 循环之后的语句。
image.png

if else if else 语句

  1. 格式:
  2. if(关系表达式){
  3. 语句体1;
  4. }
  5. else if{
  6. 语句体2;
  7. }
  8. else{
  9. 语句体3;
  10. }

这个就不讲解了,和python 中的if 语句一样的。
image.png

0x03:switch语句

  1. 格式:
  2. switch(表达式){
  3. case 1:
  4. 语句体 1;
  5. break;
  6. case 2
  7. 语句体 2;
  8. break
  9. ......
  10. default:
  11. 语句体 n + 1;
  12. [break;
  13. ]
  14. }

格式说明:
表达式: 取值为byte、short、int、char、JDK5 以后可以是枚举, JDK 7 以后可以是 String。
case:后面跟的是要跟表达式进行比较的值。
break: 表示中断,结束,用来结束switch 语句。
default:表示所有情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 类似。

image.png
列举一个案例:

  1. import java.util.Scanner;
  2. public class ScannerDemo {
  3. public static void main(String []args) {
  4. System.out.println("Hello World");
  5. System.out.println("------------");
  6. Scanner sc = new Scanner(System.in); //创建一个Scanner对象
  7. System.out.println("请输入今天是星期几");
  8. int today = sc.nextInt(); // 定义一个 x 接收 sc 对象的值,也就是我们输入的值
  9. switch (today){
  10. case 1: // case 的值与 today 进行比较
  11. System.out.println("今天是星期一");
  12. break;
  13. case 2:
  14. System.out.println("今天是星期二");
  15. break;
  16. case 3:
  17. System.out.println("今天是星期三");
  18. break;
  19. case 4:
  20. System.out.println("今天是星期四");
  21. break;
  22. case 5:
  23. System.out.println("今天是星期五");
  24. break;
  25. case 6:
  26. System.out.println("今天是星期六");
  27. break;
  28. default:
  29. System.out.println("今天是星期天");
  30. break;
  31. }
  32. }
  33. }

注意事项: 在Switch 语句中,如果case 控制的语句体后面不写break,将会出现穿透现象,在不判断下一个case 值的情况下,向下运行,知道遇到 break,或者整体 switch 语句结束。