Java程序基础之流程控制

流程控制结构

程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。程序可以通过控制语句来对程序实现选择、循环、转向和返回等流程控制。
程序控制结构包括:顺序结构、分支结构、循环结构

1. 顺序结构

顺序结构程序就是按语句出现的先后顺序执行的程序结构。计算机按顺序逐条执行语句,当一条语句执行完毕,自动转到下一条语句。
如图:
在这里插入图片描述
示例:

int a = 11; //第一步 
int b = 2; //第二步 
int c = a+b; //第三步 
System.out.println(“a+b的结果为:”+c); //第四步

2. 分支结构

1)分支结构又称为选择结构。当程序执行到控制分支语句时,首先判断条件,根据条件表达式的值选择相应的语句执行(放弃另一部分语句的执行)。
2)分支结构包括单分支、双分支和多分支三种形式。
如图:
在这里插入图片描述
2.1单分支
【语法格式】
if(布尔表达式){语句块;}
说明:当语句块为一条语句时,大括号可以省略。只有布尔表达式为true时,才进入if语句中。
【示例】

int age = 20; 
if(age >= 18){ 
    System.out.println("成年人"); 
}

2.2双分支
【语法格式】

if(布尔表达式){ 
    语句块;//if分支 
}else{ 
    语句块;//else分支 
}s

【示例】

int age = 20; 
if(age >= 18){ 
    System.out.println("成年人"); 
}else{ 
    System.out.println("未成年人"); 
}

2.3多分支-1
【语法格式】

if(布尔表达式){ 
    语句块; 
}else if(布尔表达式){ 
    语句块; 
}else{ 
    语句块; 
}

【示例】

int age = 20; 
if(age >0 && age <=18){ 
    System.out.println("未成年"); 
}else if(age > 18 && age <=40) { 
    System.out.println("青年"); 
}else if(age > 40&& age<=50) { 
     System.out.println("中年"); 
}else if(age > 50) { 
     System.out.println("老年"); 
}else{ 
     System.out.println("见鬼了"); 
}

2.4多分支-2
【语法格式】

switch (表达式) {
        case1:
            语句;
            break;
        case2:
            语句;
            break;
        default:
            语句;
            break;
}

说明:
- 表达式的值只能为:char、byte、short、int类型、String、enum类型,其它类型均非法
- break语句可以省略,但会出现switch穿透
- default语句也可以省略,一般不建议省略,并且放置在最后
【示例】

public static void main(String[] args) { 
     String type = "dog"; 
     switch(type) { 
     case "cat": 
          System.out.println("喵"); 
          break;//注意break 
     case "dog": 
          System.out.println("旺"); 
          break; 
     case "sheep": 
          System.out.println("咩"); 
          break; 
     default: 
          System.out.println("哇!"); 
     } 
     System.out.println("switch执行结束!"); 
}

3. 循环结构

当程序执行到循环控制语句时,根据循环判定条件对一组语句重复执行多次。
循环结构的三个要素:循环变量、循环体和循环终止条件。
while、do…while、for三种循环。
如图:
在这里插入图片描述
3.1 while语句
【语法格式】

while(布尔表达式){ 
循环体; //一条或多条语句 
}

【示例】

int i = 1; 
while(i<=5) { 
  System.out.println(i); 
  i++; 
}

3.2 do…while语句
【语法格式】

do { 
  循环体; 
}while(条件判断表达式);

【示例】

int i = 1; 
do{ 
  System.out.println(i); 
  i++; 
}while(i<=0); //注意分号

3.3 for语句
【语法格式】

for(表达式1;表达式2;表达式3) { 
  循环体; //一条或多条语句 
}

【示例】

for (int i=1; i<=5; i++) { 
  System.out.println(i); 
}

增强for循环 forEach

for(数据类型 变量名 : 数组/集合){
}

3.4 break语句
强制退出某个循环体,结束循环语句的执行
【示例】

public static void main(String[] args) { 
  for(int i=1; i<=10; i++) { 
    System.out.println(i); 
    if(i == 5){ 
      break; //会跳出当前循环 
    } 
  } 
  //break跳到这里 
}
3.5 continue语句 
终止某次循环过程,跳过continue语下方未执行的代码,开始下一步循环过程
【示例】 
public static void main(String[] args) { 
  for (int i=1; i<=10; i++) { 
    if (i == 5) { 
      continue; //会跳该次循环,跳到i++代码处 
    } 
    System.out.println(i); 
  } 
}

3.6 流程控制语句总结
条件判断语句:if语句、switch语句。
循环执行语句:do while语句、while语句、for语句。
跳转语句:break语句、continue语句、return语句。

三种循环结构的异同点:
用while和do…while循环时,循环变量在循环体之前初始化,而for循环一般在语句1进行初始化。
while 循环和for循环都是先判断表达式,后执行循环体;而do…while循环是先执行循环体后判断表达式。也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。
这三种循环都可以用break语句跳出循环,用continue语句结束本次循环。

猜你喜欢

转载自blog.csdn.net/a290575479/article/details/102858248