Java流程控制
用户交互Scanner
java.util.Scanner是Java5的新特新,我们可以通过Scanner类获
取用户的输入。
-
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next ()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
-
nextline():
- 以Enter为结束符也就是说nextline()方法返回的是输入回车之前的所有字符。
- 可以获得空白
顺序结构
从上至下,按照顺序执行。
选择结构
-
if单选结构
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
-
if双选结构
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }else{ //如果布尔表达式为false将执行的语句 }
-
if多选结构
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 }else if(布尔表达式2){ //如果布尔表达式2为true将执行的语句 }esle if(布尔表达式3){ //如果布尔表达式3为true将执行的语句 }else{ //如果以上布尔表达式都不为为true将执行的语句 }
-
嵌套if结构
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 if(布尔表达式2){ //如果布尔表达式为2true将执行的语句 } }
-
switch多选结构
switch(表达式){ case value: //语句 break; case value: //语句 break; default: //语句 }
循环结构
-
while循环
while(布尔表达式){ //循环内容 }
-
do…while循环
do{ //循环内容 }while(布尔表达式)
while和do…while的区别
while先判断后执行。do…while是先执行后判断
do…while总是保证循环体被至少执行一次。
-
for循环
for(初始化;布尔表达式;迭代){ //代码语句 }
关于for循环有以下几点说明:
最先执行初始化步骤。可以声明一种类型,但可视化一个或多个循环控制变量,也可以是空语句。
然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
再次检测布尔表达式。循环执行上面的过程。
break&continue
break
- break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余语句。(break语句在switch语句中使用)
continue
- continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
练习
分别用都while,do…while,for循环实现九九乘法表
-
while循环实现
/** * @Author FengKuangDeDaBai * @Data 2022/8/16 1:04 */ public class WhileDemo05 { public static void main(String[] args) { //用while循环打印九九乘法表 int row = 0; //row 行 int column = 0; //column 列 int sum = 0; //外层循环九行 while(row<9){ row++; column = 1; //内层循环保证列数 while(column<=row){ //减少无效循环 sum = row * column; System.out.print(rowi + "*" + row + "=" + sum + "\t"); column++; } System.out.print("\n"); } } }
-
do…while循环实现
/** * @Author FengKuangDeDaBai * @Data 2022/8/16 1:04 */ public class DoWhileDemo03 { public static void main(String[] args) { int row = 0; //row 行 int column = 0; //column 列 int sum = 0; do { row++; column = 1; do { //内层循环保证列数 sum = row * column; System.out.print(i=row + "*" + column + "=" + sum + "\t"); column++; }while(column <= row); //减少无效循环 System.out.print("\n"); }while(row < 9); //外层循环九行 } }
-
for循环实现
/** * @Author FengKuangDeDaBai * @Data 2022/8/16 1:04 */ public class ForDemo03 { public static void main(String[] args) { //用for循环打印九九乘法表 int sum = 0; //行 for(int row = 1;i < 10;i++){ //row //列 for (int column = 1;j <= i;j++){ //column 列 sum = row * column; System.out.print(row + "*" + column + "=" + sum + "\t"); } System.out.print("\n"); } } }