【4】 java流程控制之选择结构

一、流程控制概述

三大流程控制语句:顺序、选择、循环
1)顺序:依次执行
2)选择:if ,if-else,多重 if结构,嵌套if,switch
3)循环:while,do-while,for,循环嵌套

二、多重if结构

格式:

if(条件){
语句1;
}
else{
语句2;
}

 

多重if-else结构案例:

import java.util.Scanner;
public class ScoreAssess {
    public static void main(String[] args) {
    /*
    成绩大于90分,输出“优秀”
    成绩大于80分且小于90分的,输出“良”
    成绩大于等于60分小于80分,输出“中”
    成绩小于60分,输出“不及格”
    */
    System.out.println("请输入成绩");
        Scanner sc= new Scanner(System.in);
        int score= sc.nextInt();
        if (score>=90)
            System.out.println("优秀");
        else if (score>=80)//相当于if((score>=80)&(score<90))
            System.out.println("良");
        else if(score>=60)//相当于if((score>=60)&(score<80))
            System.out.println("中等");
        else
            System.out.println("不及格");
    }
}

 

请输入您的成绩: 85
良好
请输入您的成绩: 55
不及格
请输入您的成绩: 30
不及格

三、嵌套if结构

else会和离自己最近的if匹配,为了保证else和正确的if匹配,一定不要遗漏大括号。
格式:
if(表达式)
    if(表达式)
        if(表达式)
            语句;
else
    语句;                

 嵌套if结构结构案例:

public class Twe {

    public static void main(String[] args) {
//定义两个整型变量并初始化
        int x=15,y=5;
//判断x和y是否相等
        if(x!=y) {
            if(x>y) {
                System.out.println(x+"大于"+y);
            }else {
                System.out.println(x+"小于"+y);
            }
        }else {
            System.out.println(x+"和"+y+"相等");

        }
    }
}

 

四、switch结构

1)if和switch的区别
if结构:判断条件是boolean类型,判断条件是一个范围。
switch结构:判断条件是常量值。ps:有多条case语句,break语句不是必须的可以去掉。default类似else
 
2.)switch的整个流程。
计算表达式的值,然后与case进行匹配,匹配成功则执行下面的语句,如果有break则跳出整个switch结构,没有则下面case情况的语句及default的语句都会执行。
最后的default是前面的case都不成立则执行,但是default可以省略,如果case所有情况都不满足且没有default,则跳出switch结构。
switch又叫多路选择结构。
 
3)在JDK6.0及之前的版本中,switch中表达式的值只能为int类型,或者与int等价的类型如byte,short,char类型。但是JDK7.0之后表达式的值可以是基本数据类型byte,short,int,char及String类型。
 
4)switch的代码结构
switch(表达式){
case 常量表达式1:
语句1;break;
case 常量表达式2:
语句2;break;
default:
语句3;
}

 

5)案例

import java.util.Scanner;
public class Demo1 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int n = sc.nextInt();
        switch (n) {
            case 1:
                System.out.println("星期一");break;
            case 2:
                System.out.println("星期二");break;
            case 3:
                System.out.println("星期三");break;
            case 4:
                System.out.println("星期四");break;
            case 5:
                System.out.println("星期五");break;
            case 6:
                System.out.println("星期六");break;
            case 7:
                System.out.println("星期日");break;
            default:
                System.out.println("输入的数字不在1-7的范围之内!");
        }
    }
}
//System.out.println("请输入一个表示星期的英文单词:");
//String week = sc.next();//输入字符串,存在变量week中
//week=week.toUpperCase();//字符串全部改为大写

 

 
 
 
 

 

posted @ 2020-03-30 14:26  柠檬不萌!  阅读(232)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end