java流程结构(switch-case语句)

本文详细介绍了Java中的switch-case语句,强调了break关键字的重要性,并通过示例解释了其工作原理。此外,还讨论了switch-case与if-else语句的比较,指出在适用的情况下,switch通常具有更高的效率。最后,提到了使用switch-case的条件和限制,如数据类型限制及case后只能声明常量等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java流程结构(switch-case语句)

身为分支结构中的一员,就意味着他有很多分支,case后跟的就是各种情况(一种情况用一个常量表示),而switch后跟的是一个可与case后的常量进行匹配的常量,如果匹配成功,则进入相应的case语句中去,调用并执行该语句(若无break,则计算机会继续执行接下来的其他case后的语句),直到default语句。
文字固然难以说明,因此,以例说话:
例子一(错例!!!)

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int number1=scan.nextInt();
        switch (number1){
            case(1):
                number1+=10;  //无break,会执行下面的所有case
            case(2):
                number1-=10;
            case(3):
                number1=0;
        }
        System.out.println(number1);
        }
    }

当输入1时,结果为0.看这个错例子,我们必须记住,break的重要性。改后如下:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int number1=scan.nextInt();
        switch (number1){
            case(1):
                number1+=10;
                break;
            case(2):
                number1-=10;
                break;
            case(3):
                number1=0;
        }
        System.out.println(number1);
        }
    }

最后一句可以不用break,default也不是必要的,可以不加,default表示的是除了上述的case,剩下的所有情况按一个情况处理。下面就是加了default的形式:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int number1=scan.nextInt();
        switch (number1){
            case(1):
                number1+=10;
                break;
            case(2):
                number1-=10;
                break;
            default:
                number1=1;
        }
        System.out.println(number1);
        }
    }

switch-case的使用也没啥,就这些,有些需要必须注意的点就是:
1.break语句的重要性,不加就尴尬了。
2.switch语句只能用于byte型.int型.short型.char型.枚举类型和String型
3.case后只能声明变量,不能声明范围
4.default可选则使用。
5.switch中情况可数 ! ! !

接下来我说的得在大家理解后或者多用几次后的基础上来讲的,这个语句和if-else有很相似的运行原理,因此我在这里根据我的理解给大家辨析一下:
1.可用switch语句的都可以转化成if-else语句,反之,则不成立(因为case后不可以加范围)
2.可以同时使用这两个语句时,优先选择switch。别问,问就是效率高,计算机爱算这样式儿的。
3.还记得三元运算符吗?这三者先后选择顺序(在可以用的前提下!!!)优先三元运算符,其次switch语句,最后使用if-else。如果只用if-else,也可(因人而异)。

最后,我想说下,我这节写的程序可能有点长,但是真的没啥需要思考的东西,仔细看就绝对可以看懂,耐心点,兄弟们,你们可以的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值