_03_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分支
    }
    【示例】
    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 (表达式) {
    case 值1:
    语句;
    break;
    case 值2:
    语句;
    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语句。

控制语句类型 关键字 作用
选择结构语句 if、if else、else if switch 通过开关机制,选择要执行的代码
循环结构语句 for、while、do while 通过循序机制,反复执行相同的代码段
改变语句执行序 break、continue 通过打断或继续机制,改变当前工码的执行顺序

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

发布了24 篇原创文章 · 获赞 0 · 访问量 412

猜你喜欢

转载自blog.csdn.net/qq1317121361/article/details/102858828