u05-流程控制

157 阅读3分钟

1. 流程控制之选择

概念: 选择结构也叫分支结构,就是从二或者多中选出一个,即二选一或者多选一。

1.1 选择之if

概念: Java中最常用的选择结构就是 if-else 结构,对于一套if的结构来说:

  • 格式:if (条件) {} else if(条件){} else {}
    • if{}: 必须有,而且只能有一个。
    • else if(){}: 不必须有 (>=0)。
    • else{}: 不必须有(要么只有一个,要么没有)。
  • 当if/else/elseif下只有一行代码的时候,可以省略 {},但是并不建议这么写。

1.2 选择之switch

概念:

  • switch选择器也是选择结构的一种,适用于固定匹配类的判断。switch中,switch括号里面只能接 byte / short / int / char 类型变量及表达式,枚举类型,1.6后可以加 String
  • 格式:switch (表达式) {case 1: break; case 2: break; default: break;}
  • break穿透:如果一个case后无break语句,它不会跳出,会继续按顺序执行下一个case语句,直到其后有break语句或所有后面的case语句都执行完毕为止。

2. 流程控制之循环

概念: 循环就是重复性的做事,循环都满足"初判变法则":

  • 初: 初始化变量(只执行一遍)。
  • 判: 循环判断条件(只有满足条件的时候才执行循环)。
  • 变: 每次循环体结束之后将执行变量的变化。

必须是有逻辑的事情,才可以使用循环。

2.1 循环之while

概念: while循环是java循环中的一种:

  • 特点: 先判断后循环。
  • 格式: while( 条件1 ){ 执行1 }
  • 场景: 我们一般在不知道要循环多少次的情况下使用while。
  • 其他: 当while下只有一行代码的时候,可以省略 {},但是并不建议这么写。

2.2 循环之dowhile

概念: dowhile循环是java循环中的一种:

  • 特点: 先循环后判断。
  • 格式: do{ 执行1 } while( 条件1 );
  • 场景: 如果我们知道至少需要执行一次循环的时候,就可以使用dowhile
  • 其他: 当do下只有一行代码的时候,可以省略 {},但是并不建议这么写。

2.3 循环之for

概念: for循环是java循环中的一种:

  • 特点:知道起始和结束(知起止)。
  • 格式:
    • for( ;条件1; ){ 执行1 }
    • for( 初; 判; 变){ 执行1 }
  • 场景:我们一般在知道要循环多少次的情况下使用for。
  • 其他:当for下只有一行代码的时候,可以省略 {},但是并不建议这么写。

3. 流程关键字

概念:

  • continue:结束本次循环,开启下一次循环,continue 后面的代码不执行。
  • break:结束所有轮次的循环,break 后面的代码不执行。
    • break 默认结束其所在的那一层循环,但如果某层循环带有标签,则可以使用 break 标签 的形式来指定结束某一层循环。

4. 特殊变量

概念:

  • 中间变量:
    • 一般命名为 temp
    • 类型是你要交换的类型
    • 作用是辅助其他变量进行变量值的传递和交换。
  • 标识变量:
    • 一般命名为 flagisXXX
    • 类型是boolean
    • 作用是标识程序是否走到了某一个代码段中。
  • 累加变量:
    • 一般命名为 numcount
    • 类型是int
    • 作用是标识程序走到某一个代码段的次数。

5. Scanner工具类

概念: java.util.Scanner 是JDK1.5之后引入的功能类,负责接收控制台上输入的字符,将其转换为相应数据类型的数据,并存储到相应的变量中。

  • Scanner的特性规定我们在new它的时候,传一个固定的值 System.in 进去,代表输入流;
    • Scanner scanner = new Scanner(System.in);
    • scanner.close();
    • scanner.nextInt():接收控制台传递过来的整数。
    • scanner.nextDouble():接收控制台传递过来的浮点数。
    • scanner.next():接收控制台传递过来的字符串。

IDEA中无法使用Junit测试Scanner,请换成main方法测试。