栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java入门程序控制结构之分支控制(详细)(if,switch)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java入门程序控制结构之分支控制(详细)(if,switch)

目录

前言:

一、分支控制

     单分支if

1)代码格式

2)代码演示

        

    ​​​双分支if-else

1)代码格式

2)代码演示

     濾多分支if-else if....-else濾

1)多分支流程控制图

 2)代码演示

     switch   

1)代码格式

2)流程图

 3)实例

        if与switch的比较


前言:


         在程序中,程序的流程控制决定程序是如何执行的,因此作为java的入门,我们必须掌握程序流程控制,我将向大家介绍了两大流程控制结构,分别为分支控制和循环控制,顺序控制是java程序执行的默认流程,自上而下的执行代码,复合人们日常的逻辑思维,故本篇不做介绍。由于篇幅较长,我将用两篇文章介绍java的流程控制结构,本篇文章讲解分支控制的相关内容。

                                       

一、分支控制

     单分支if

1)代码格式
if(condition){
    statement
}

        说明: 

          当()中的条件表达式为真时,则程序执行{}中的语句,反之当()中的条件表达式为假时,{}中的语句则不会被执行。

2)代码演示

        
import java.util.Scanner;
    public static void main(String[] args) {
        System.out.println("请输入年龄");
        Scanner input = new Scanner(System.in);
        int age = input.nextInt();
        //若输入的年龄大于18,则输出“你已经成年”
        if(age >= 18){
            System.out.println("你已经成年");
        }
      

好!让我们来看一下这个简单的代码,用整型数据age接收用户输入的年龄,通过if进行判断,例如用户输入了一个>=18的数字,比如是19,19大于18即小括号中条件判断语句为真,则会执行{}中的代码,输出“你已经成年”,但是!若用户输入的数字小于18,则计算机什么都不会输出,显然,单单一个if单分支语句并不够用,因此我们引入了if-else这个双分支语句。

    ​

    ​​​双分支if-else 1)代码格式
if(condition){
    statement1
}else{
    statement2
}

        说明:

        当()中的条件判断语句为真时,则程序执行statement1所在的语句块,若()中的条件判断语句为假时,则程序执行statement2所在的语句块。相比于单分支,双分支大大增强了程序的可读性,并且平时最常用的也是双分支结构。

2)代码演示

我们来将上面的程序优化一下,如下:

import java.util.Scanner;
    public static void main(String[] args) {
        System.out.println("请输入年龄");
        Scanner input = new Scanner(System.in);
        int age = input.nextInt();
        //若输入的年龄大于18,则输出“你已经成年”
        if(age >= 18){
            System.out.println("你已经成年");
        }
        else{
            System.out.println("还未成年哦!");
        }
        System.out.println("程序结束")
    }

✅用一个流程图来让大家更好的理解if-else执行流程

     濾多分支if-else if....-else濾

        那么,多分支有什么作用呢,在我们对程序的需求中,显然单分支是远远不够用的,双分支也并不是万能的,有时候分支结构会错综复杂,这个时候,多分支if-else if...-else就派上用场了。

1)多分支流程控制图

 2)代码演示

        下面我们用一段简单的代码,来更加直观的体会一下多分支结构的执行流程

import java.util.Scanner;
    public static void main(String[] args) {
        //我们用一段代码来实现对信用分的评级
        //信用分的范围为[0,100]
        //信用分>=90即为优秀
        //80<=信用分<90即为良好
        //60<=信用分<80即为一般
        //信用分<60即为差
        System.out.println("请输入您的信用分");
        Scanner input = new Scanner(System.in);
        int grade = input.nextInt();
        if(grade >=0 && grade <= 100){  //保证用户输入的为有效数字
            if(grade >= 90 ){
                System.out.println("信用优秀");
            }else if(grade >= 80 && grade < 90){
                System.out.println("信用良好");
            }else if(grade >=60 && grade <= 80){
                System.out.println("信用一般");
            }else if(grade < 60){
                System.out.println("信用较差");
            }
        }else{
                System.out.println("您的输入有误,请输入[0,100]内的整型数字");
        }
    }

     switch   

           switch是一个可以实现多重选择的语句,在处理多个选项时,if/else往往会显得格外复杂,让人头大,这个时候switch语句就可以派上用场了。

1)代码格式
switch(表达式){
    case 常量1:
        语句块1;
        break;
    case 常量2:
        语句块2;
        break;
    default:
        default语句块;
        break;
}
  • {}中的case可以是任意个数,看情况需求而言,default语句是可选择项,即可写可不写。
  • case后的常量类型可以为char、byte、short、int的常量表达式、枚举常量、从java SE 7开始,还可以是字符串常量
  • 语句中的break的作用是跳出当前case语句,执行下一条case语句。
  • 常量和default后面的是冒号不是分号

2)流程图​​​​​​​

  1. 程序首先根据表达式对常量1进行判断,若常量1的值与表达式相同,则执行语句块1
  2. 反之则对常量2的值进行判断,若相同则执行语句块2,以此类推
  3. 若没有常量与表达式相同,则会执行default语句块
  4. 若没有default语句则直接退出switch语句

 3)实例
import java.util.Scanner;
    public static void main(String[] args) {
        //我们将输入的char类型的a,b,c由小写转为大写
        //若输入其他,则提示输入错误
        Scanner input = new Scanner(System.in);
        System.out.println("请在a,b,c中选择一个进行输入");  //提示语句
        char letter = input.next().charAt(0);
        switch(letter){
            case 'a':
                System.out.println("A");
                break;
            case 'b':
                System.out.println("B");
                break;
            case 'c':
                System.out.println("C");
                break;
            default:
                System.out.println("你的输入有误");
                break;
        }
    }

        if与switch的比较
  • 如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这 6 种类型。虽然两个语句都可以使用,建议使用 swtich 语句
  •  其他情况:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广

本篇为java系列的第一篇,后续讲持续更新更多的java相关内容

感兴趣的小伙伴点个关注再走吧,谢谢!

对本文内容有不懂或疑惑的地方欢迎下面评论或直接私信

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820922.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号