学习 Java 你必须要知道的东西(三)【三大流程结构:顺序结构、选择结构、循环结构】

八、流程结构(顺序结构、选择结构、循环结构)

1、顺序结构

Java 的基本流程结构就是顺序结构,可以理解为 "代码都是一行一行执行的";
语句和语句之间是按照从上到下的顺序执行的,它是由若干个依次执行的处理步骤组成的。

2、选择结构

2.1 If
语法格式:
    if(boolean b){
        ...
    }
当布尔类型的"b"为 true 时,大括号内执行;否则,直接跳过不执行
    
if 可以有 "单选、双选、多选、嵌套" 四种使用方式:
    单选:
      if(boolean b){
        ...
      }

	双选:
      if(boolean b){
        ...
      }else{
        ...
      }

	多选:
      if(boolean b1){
        ...
      }else if(boolean b2){
        ...
      }else if(boolean b3){
        ...
      }else if(boolean bx){
        ...
      }else{
        ...
      }
	嵌套:
      if(boolean b1){
          if(boolean b2){
              ...
          }
      }
2.2 Switch
"多选择结构" 还有一种实现方式: switch
switch case 语句用于判断"一个变量"与"一系列值"中的"某一个值"是否匹配,当成功匹配时,执行指定的代码;
语法:
    switch(value0){
        case value1:
            ...
            break;
        case value2:
            ...
            break;
        case value3:
            ...
            break;
        default:
            ...
    }
switch 语句中的变量类型可以是 "byte、short、int、char";
JDK7开始支持 String 类型,同时 case 变量必须是字符串常量或字面量;实际上就是通过 String 的 hashCode进行比较; 
default 为默认选项,当所有的 case 都不匹配时,执行 default 中的语句。
    
"!注意!":每次 case 结尾都要加 break,否则会出现 "case穿透";

3、循环结构

3.1 while
语法格式:
    while(表达式){
        ...
    }
当表达式不成立为 flase时,循环终止;
"死循环":当表达式不可能为false时,程序将无线循环下去,程序即会崩溃,称之为死循环
3.2 do...while
语法格式:
    do{
        ...
    }while(){
        ...
    }
do while 相较于 while 时,会先执行 do 里面的代码,也就是说 do while 至少也会执行一次结构内的代码;
可以理解为 无论如何,先执行 do,然后再进行 while循环
3.3 for
for循环是一种支持 迭代(重复反馈过程的活动,每一次迭代的结果会作为下一次迭代的初始值)的通用循环结构;
for循环的次数在执行前就是确定的
语法格式:
    for(初始化值,表达式,更新语句){
        ...
       }
举例fori:
    for(int i = 0; i < 100; i++) {
        ...
       }
"注意" for 循环也是有 死循环 的!
    写法:
        for( ; ; ) {
        ...
       }
    即 无初始化值,无表达式,无更新 = "死循环"
3.4 增强for
Java5 引入了一种主要用于数组或集合的增强型for循环;
语法格式:
    for (数据类型 变量名 : 目标数组或集合) {
         ...
    }
变量名:新的局部变量,代指目标数组或集合中的每一项
数据类型:与目标数组或集合的数据类型相匹配
3.5 拓展 breank,continue
break:
	杀死循环,直接从循环体重跳出,意为"结束";
continue:
	跳过循环,是指从本次循环跳出,意为"继续";
        
"注意:break和continue只会对当前循环体产生影响,并不会对外层循环产生影响
posted @ 2021-11-11 11:30  想上天的小旭旭呀  阅读(17)  评论(1)    收藏  举报