java分支语句

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

流程控制

1.1流程控制语句概述

1.2流程控制语句分类

  • 顺序结构

顺序结构是程序中最简单最基本的结构。

  • 分支结构(if,switch)

  • 循环结构(for,while,do...while)

if语句

2.1if语句格式1

//格式
if(关系表达式){
语句体;
}

执行流程:

  • 首先计算关系表达式的值

  • 如果关系表达式的值为true就执行语句体

  • 如果关系表达式的值为false就不执行语句体

  • 继续执行后面的语句内容

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args){
        System.out.println("开始");
        int a=10;
        int b=20;

        if (a==b){
            System.out.println("a等于b");
        }

        int c=10;
        if (b==c){
            System.out.println("a等于c");
        }
        System.out.println("结束");
    }
}

2.2if语句格式2

//格式
if (关系表达式){
语句体1;
}else{
语句体2;
}

执行流程:

  • 首先计算关系表达式的值

  • 如果关系表达式的值为true就执行语句体1

  • 如果关系表达式的值为false就执行语句体2

  • 继续执行后面的语句内容

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args){
        System.out.println("开始");
        int a=10;
        int b=20;

        if (a>b){
            System.out.println("a的值大于b");
        }else{
            System.out.println("a的值不大于b");
        }

        if (a==b){
            System.out.println("a等于b");
        }

        int c=10;
        if (b==c){
            System.out.println("a等于c");
        }
        System.out.println("结束");
    }
}

案例

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number= sc.nextInt();
        if (number%2==0){
            System.out.println(number+"是偶数");
        }else {
            System.out.println(number+"是奇数");
        }
    }
}

2.3if语句格式3

//格式
if(关系表达式1){
语句体1;
}else if(关系表达式){
语句体2;
}
...
else{
语句体n+1;
}
  • 首先计算关系表达式的值

  • 如果关系表达式的值为true就执行语句体1;如果值为false就计算关系表达式2的值

  • 如果关系表达式的值为false就执行语句体2;如果值为false就计算关系表达式3的值

  • ...

  • 如果没有任何关系表达式为true就执行语句n+1。

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args){
        System.out.println("开始");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个星期数(1~7):");
        int week =sc.nextInt();

        if (week==1){
            System.out.println("星期一");
        } else if (week==2) {
            System.out.println("星期二");
        } else if (week==3) {
            System.out.println("星期三");
        }else if (week==4){
            System.out.println("星期四");
        }else {
            System.out.println("开心一下");
        }
        System.out.println("结束");


//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入一个整数");
//        int number= sc.nextInt();
//        if (number%2==0){
//            System.out.println(number+"是偶数");
//        }else {
//            System.out.println(number+"是奇数");
//        }
    }
}

案例

数据测试:正确测试、边界测试、错误数据

switch语句

3.1switch语句格式

//格式
switch(表达式){
case值1:
     语句体1;
     break;
case值2:
     语句体2;
     break;
...
default:
     语句体n1;
     [break];
}

格式说明:

  • 表达式:取值为byte,short,int,char,JDK5以后可以是枚举JDK7以后可以是String

  • case:后面跟的是要和表达式进行比较的值

  • break:表示中断结束的意思用来结束switch语句

  • default:表示所有情况都不匹配的时候就执行该处的内容和if语句的else相似

执行流程:

  1. 首先计算表达式的值

  1. 依次和case后面的值进行比较如果有对应的值就会执行响应的语句在执行的过程中遇到break就会结束

  1. 如果所有的case后面的值和表达式的值都不匹配就会执行default里面的语句体然后程序结束掉

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args){
        System.out.println("开始");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个星期数(1~7):");
        int week =sc.nextInt();

        switch (week){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            default:
                System.out.println("你输入的星期有误");
                break;

        }//        if (week==1){
//            System.out.println("星期一");
//        } else if (week==2) {
//            System.out.println("星期二");
//        } else if (week==3) {
//            System.out.println("星期三");
//        }else if (week==4){
//            System.out.println("星期四");
//        }else {
//            System.out.println("开心一下");
//        }
        System.out.println("结束");


//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入一个整数");
//        int number= sc.nextInt();
//        if (number%2==0){
//            System.out.println(number+"是偶数");
//        }else {
//            System.out.println(number+"是奇数");
     //case穿透
       int month=sc.nextInt();
        
        switch (month){
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
        }
//        }
    }
}

注意事项:在switch语句中如果case控制的语句体后面不写break将出现穿透现象在不判断下一个case值的情况下向下运行直到遇到break或者整体switch语句结束

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java