Java-选择结构(if-else)

编程语言有3种语句的顺序
顺序结构:从上往下,逐行执行
选择结构:根据需要,有些执行,有些不执行
循环结构:反复做同一件事

下面主要来说选择结构:

1.单分支if语句
语法格式:
if(表达式){
语句;
}
规则:只要表达式为true,则执行if中的语句,反之表达式为flase,不执行if中的语句

public static void main(String[] args) {
    // TODO Auto-generated method stub
    int age=20;
    if(age>=18){
    System.out.println("您可以注册!");
    }
}

分析:如果age的值大于等于18,执行if中的输出语句,反之,如果if不满足条件(小于18),不执行if中的输出语句

2.if-else语句

语法结构:
if(表达式){
语句1
}else{
语句2
}
规则:如果表达式为true,则执行if语句,反之,如果表达式为flase,执行else中语句
注意:else的后面不要加入任何条件,else本事就是if的相反条件
程序要么执行if语句,要么执行else语句,两端必须要执行一端

public class Test1 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int age=12;
        if(age>=16){
        System.out.println("您可以注册!");
        }else{
        System.out.println("您还小。。。再等几年");
        }
    }
}

分析:如果age大于或等于16,执行if语句,反之,如果age小于16岁,执行else语句

3.多分支if-else if
格式:if(表达式1){
        语句1
        }else if(表达式2){
        语句2
        }else if(表达式3){
        语句3
        }……else{
        语句n
        }
语法规则:多分支if-else if特点有多重执行的可能,但只执行其中一条语句
如果表达式1为真,执行语句1,如果表达式2为真,执行语句2,如果表达式3为真,执行语句3……都不满足条件,执行语句n

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        if(num>0) {
            System.out.println("整数");
        }else if(num==0) {
            System.out.println("零");
        }else {
            System.out.println("负数");
        }
    }
}

4.switch(多分支语句)

功能跟if-else if很相似,多个分支,只执行一个分支
语法格式:
switch(变量){
case 值1:
语句1;
break;
case值2:
语句2;
break;
Case 值3:
语句3;
break;

default:
    上面的分支全部不满足,执行该语句;
}
语法规则:switch中变量的值,如果等于case中的值,就执行case语句,通过break,退出switch语句
switch中变量的取值:byte,short,int,char
jdk 1.7可以使用String
break:用于退出switch语句,如果不加break语句,代码会一直往下执行,直到遇到break/default退出switch语句(称为“击穿”)

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的分数(5分制):");
        int score=scanner.nextInt();
        switch(score) {
        case 5:
            System.out.println("优秀");
            break;
        case 4:
            System.out.println("良好");
            break;
        case 3:
            System.out.println("及格");
            break;
        case 2:
        case 1:
        case 0:
            System.out.println("不及格");
            break;
        default:
            System.out.println("输入有误");
        }
    }
}
原文地址:https://www.cnblogs.com/lilyo/p/12792470.html