java switch基础介绍及具体使用方法

java switch基础介绍及具体使用方法switch的case语句可以处理int,short,byte,char类型的值,但是不能处理long,String等类型。javaswitch基础语法witch(表达式){case表达式常量1:语句1;break;case表达式常量2:语句2;break;……case表达式常量n:语句n;break;[default:语句n+1;]…

大家好,又见面了,我是你们的朋友全栈君。

switch的case语句可以处理int,short,byte,char类型的值,但是不能处理long,String等类型。

java switch基础语法

witch(表达式){ 
case 表达式常量1:语句1breakcase 表达式常量2:语句2break; 
...... 
case 表达式常量n:语句n; 
break; 
[default:语句n+1;] 
} 

其中,一个case表达式常量成为标号,代表一个case分支的入口。switch语句在运行时首先计算switch圆括号中“表达式”的值,这个值必须是整型或字符型的,同时后面各个case表达式常量的值的类型应与switch圆括号中“表达式”的值类型一致。一个case语句代表一个制定操作,然后转向结构出口。default子句是可选的,当表达式的值与case表达式常量的值都不匹配时,就运行default子句,转向结构出口。

java里switch的执行顺序
switch表达式的值决定选择哪个case分支,如果找不到相应的分支,就直接从”default” 开始输出。
当程序执行一条case语句后,因为例子中的case分支中没有break 和return语句,所以程序会执行紧接于其后的语句。
这里写图片描述

这里写图片描述

这里写图片描述

java switch语句注意事项
case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义一个final型的常量,后面会详细介绍原因)或者int、byte、short、char(比如1、2、3、200000000000(注意了这是整型)),如果你需要在此处写一个表达式或者变量,那么就要加上单引号; case后的语句可以不用大括号,就是C不需要用大括号包裹着;

default就是如果没有符合的case就执行它,default并不是必须的。

实例:java 用switch语句解决月薪范围问题

public class SwitchDemo {
    public static void main(String[] args) {

        int month = 8;
        String monthString;
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

Java中switch和if语句的区别

switch和if语句都是Java的选择语句,这两种语句都是允许在程序运行时控制程序的执行过程。

switch和if-else相比,由于使用了Binary Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。 

编译器编译switch与编译if…else…不同。不管有多少case,都直接跳转,不需逐个比较查询。 
 
相比于if-else结构,switch的效率绝对是要高很多的,但是switch使用查找表的方式决定了case的条件必须是一个连续的常量。而if-else则可以灵活的多。
  
switch效率高,从汇编代码可以看出来。switch只计算一次值,然后都是test。
  
switch的效率与分支数无关。当只有分支比较少的时候,if效率比switch高(因为switch有跳转表)。分支比较多,那当然是使用switch。

本文编辑整理来源于w3cschool

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156967.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Navicat Premium 15激活码【2021免费激活】

    (Navicat Premium 15激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlb…

    2022年3月26日
    1.1K
  • 从日记到博客

    从日记到博客我自零八年上大学开始主动写日记,记录一些自己的想法。我特别喜欢在纸上写字的感觉。我会在纸上记录一些想法和反思,自己新见识的事物、经历,与人接触的小摩擦,待人接物的新想法,也有自己的情感的。当看看最初的日记的时候,觉得当时的想法还非常的幼稚。后来经历的一些事情给我很多困惑、苦恼、启发、激励,帮我建立对人、对事的态度和认知。如果不是这些文字,过去的我是什么样子,会有什么样的想法,早就完全忘记了。正是这…

    2022年5月18日
    34
  • Java培训/广州Java培训/最好的Java培训机构

    Java培训/广州Java培训/最好的Java培训机构 Java培训/广州Java培训/最好的Java培训机构   随着互联网已经成为人们不可分割的一部分,很多人将自己的未来都投入到互联网这块。   如果你也想在互联网有一番作为学们IT技术,那到底学什么好呢?        在IT行业,Java是目前最热门的软件开发技术,Java作为IT业最知名的品牌之一,各种技术规范已经相当成熟,支持的框…

    2022年7月8日
    19
  • phpstrom激活码2021 5月最新注册码_通用破解码

    phpstrom激活码2021 5月最新注册码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    35
  • C币商城帮助文档「建议收藏」

    C币商城帮助文档「建议收藏」帮助中心您需要什么样的帮助?关于C币商城:C币商城是为了奖励在CSDN平台有共享精神的用户。如果您曾在博客频道发表博客分享您的经验,或者在论坛为他人解惑,或者在下载频道上传优质的资源,或者在CSDN其他任一平台。温馨提示:如需更多帮助,请发邮件至webmaster#csdn.net(发送时请把地址中的‘#’换成‘@’)或拨打电话:400-660-0108常见问题关于发…

    2022年6月4日
    36
  • Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念[通俗易懂]

    Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念[通俗易懂]Java中的四种引用方式的区别 强引用、软引用、弱引用、虚引用的概念

    2022年4月23日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号