1.流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果又直接的影响。所以,我们必须清楚每条语句的执行流程。而且,有时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

    流程控制语句分类:顺序结构,选择结构和分支结构。


2.顺序结构

    顺序结构是最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中的大多数代码就是这样执行的。

    总的来说:写在前面的先执行,写在后面的后执行。



3.选择结构

    也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

    java语言提供了两种选择结构语句:if语句和switch语句。


4.选择结构之if语句

格式一:

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


java三个if一个return java多个if语句执行顺序_System

import java.util.Scanner;

/**
 * 选择结构:
 *      if语句和switch语句
 * if语句有三种格式
 *      1)if(布尔表达式){
 *          语句体;
 *      }
 *      执行流程:先计算布尔表达式的值,看其返回值是true还是false。
 *              如果是true,就执行语句体;
 *              如果是false,就不执行语句体;
 *      2)
 */
public class IfDemo1 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个数字:");
        int num1 = input.nextInt();
        System.out.print("\n请输入第二个数字:");
        int num2 = input.nextInt();
        if(num1 == num2){
            System.out.println(num1+"和"+num2+"的值相等");
        }

    }
}

      注意事项:1.布尔表达式无论简单还是复杂,结果必须是boolean类型 2.if语句控制的语句体,如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。强烈建议永远不要省略,为了便于阅读。


格式二:

if(布尔表达式){
    语句体1;
}else{
    语句体2;
}

    执行流程:1.首先判断布尔表达式结果是true还是false 2.如果是true,就执行语句体1 3.如果是false,就执行语句体2。

java三个if一个return java多个if语句执行顺序_执行流程_02

import java.util.Scanner;

/**
 * 选择结构:
 *      if语句和switch语句
 * if语句有三种格式
 *      1)if(布尔表达式){
 *          语句体;
 *      }
 *      执行流程:先计算布尔表达式的值,看其返回值是true还是false。
 *              如果是true,就执行语句体;
 *              如果是false,就不执行语句体;
 *      2)if(布尔表达式){
 *          语句体1;
 *      }else{
 *          语句体2;
 *      }
 *      执行流程:先计算布尔表达式的值,看其返回值是true还是false。
 *              如果是true,就执行语句体1;
 *              如果是false,就执行语句体2;
 */
public class IfDemo1 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个数字:");
        int num1 = input.nextInt();
        System.out.print("\n请输入第二个数字:");
        int num2 = input.nextInt();
        if(num1 == num2){
            System.out.println(num1+"和"+num2+"的值相等");
        }else{
            System.out.println(num1+"和"+num2+"的值不相等");
        }

    }
}

    注意事项:else后面是没有布尔表达式的,之后if后面才有哦。


格式三:

if(布尔表达式1){
    语句体1;
}else if(布尔表达式2){
    语句体2;
}else{
    语句体n;
}

    执行流程:1)首先会判断布尔表达式1,看其结果是true还是false 。2)如果是true就执行语句体1 。3)如果是false,就继续判断布尔表达式2,看其结果是true还是false。4)如果是true,执行语句体2。4)如果是false就继续判断布尔表达式,看其结果是true还是false。……5)如果没有任何布尔表达式为true,就执行else中的语句体。

java三个if一个return java多个if语句执行顺序_布尔表达式_03

import java.util.Scanner;

/**
 * 选择结构:
 *      if语句和switch语句
 * if语句有三种格式
 *      1)if(布尔表达式){
 *          语句体;
 *      }
 *      执行流程:先计算布尔表达式的值,看其返回值是true还是false。
 *              如果是true,就执行语句体;
 *              如果是false,就不执行语句体;
 *      2)if(布尔表达式){
 *          语句体1;
 *      }else{
 *          语句体2;
 *      }
 *      执行流程:先计算布尔表达式的值,看其返回值是true还是false。
 *              如果是true,就执行语句体1;
 *              如果是false,就执行语句体2;
 *      3)if(布尔表达式1){
 *          语句体1;
 *      }else if(布尔表达式2){
 *          语句体2;
 *      }else{
 *          语句体3;
 *      }
 *      执行流程:先计算布尔表达式1,看其返回值是true还是false
 *              如果是true,那么就执行语句体1;
 *              如果是false,继续判断布尔表达式2,看其返回值是true还是false
 *              如果是true,那么久执行语句体2;
 *              如果是false,那么执行语句体3;
 */
public class IfDemo1 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个数字:");
        int num1 = input.nextInt();
        System.out.print("\n请输入第二个数字:");
        int num2 = input.nextInt();
        if(num1 == num2){
            System.out.println(num1+"和"+num2+"的值相等");
        }else{
            System.out.println(num1+"和"+num2+"的值不相等");
        }

        System.out.println(10>20?"10大":"20大");

        int score = 88;
        if(score <=100 && score >90){
            System.out.println("优秀");
        }else if(score <=89 && score >80){
            System.out.println("好");
        }else if(score <=80 && score >70){
            System.out.println("良");
        }else if(score <=70 && score >60 ){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
    }
}