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

java switch基础语法

witch(表达式){
case 表达式常量1:语句1;
break;
case 表达式常量2:语句2;
break;
......
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

java switch基础介绍及具体使用方法相关推荐

  1. 阿里云【名师课堂】Java零基础入门24 ~ 26:方法的定义与使用

    阿里云[名师课堂]Java零基础入门24 ~ 26:方法的定义与使用 24:方法的基本定义 无返回值无参数 无返回值有参数 有返回值有参数 25:方法重载(重点) 26:方法递归调用 24:方法的基本 ...

  2. java radiogroup_Android基础控件RadioGroup使用方法详解

    本文为大家分享了Android基础控件RadioGroup的使用,供大家参考,具体内容如下 1.简单介绍 RadioGroup可以提供几个选项供用户选择,但只能选择其中的一个.其下面可以横着或者竖着挂 ...

  3. java语言基础介绍

    第一章java语言概述 1-1:Java知识图解 1-2. Java语言概述:Java简史 1991年 Green项目,开发语言最初命名为Oak (橡树) 1994年,开发组意识到Oak 非常适合于互 ...

  4. java 字符串 基础介绍

    1-1.字符串的概述与特点 字符串的概述:在Java中Java.lang.String类代表字符串.字符串是常量,创建后用不可变. 字符串的特点: 1).字符串的内容在创建后永不可变.(重点) 2). ...

  5. 一、Java语言基础(4)_方法和数组——数组

    2018-04-25 不悔梦归处,只恨未尽心 数组 一.一维数组 数组的含义:具有相同类型的多个变量按有序形式组织起来的数据形式.(数组是用来存储固定大小的同类型元素.) 数组的定义: 方式1(推荐使 ...

  6. 【2022软件创新实验室暑假集训】Java环境安装与基础介绍

    Java环境安装与基础介绍 文章目录 文章目录 Java环境安装与基础介绍 文章目录 Java 简介 主要特性 关于语言学习的选择 Python Java Go&Rust Java环境配置 J ...

  7. 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇

    本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  8. [Java入门笔记] 面向对象编程基础(二):方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...

  9. java的基础类库称为_JAVA基本类库介绍

    8.1 包的概念 包是由.class文件组成的一个集合,.class文件时可以用Java解释其解释执行的文件,它也是由Java源的文件,即.Java文件经编译而生成的.Java是一种面向对象的语言,它 ...

最新文章

  1. java 线程面试题_JAVA多线程面试题(一)
  2. python飞机大战简书_python中的小游戏——飞机大战
  3. 关于Mysql 修改密码的记录
  4. python phpstudy_GitHub - Writeup007/phpStudyBackDoor: phpStudy后门检测与利用工具,Python脚本,可一键 GetShell。...
  5. 前端学习(3011):vue+element今日头条管理--关于编辑器代码段
  6. 跟我学《JavaScript高程3》第一讲,视频课程,课程笔记
  7. PyQt5笔记(08) – 输入对话框
  8. 设计模式系列之「装饰模式」
  9. 解决IE6中PNG图出现灰色背景问题
  10. Security+ 学习笔记48 攻击框架
  11. gmail api 发送邮件_Node定时自动发邮件功能
  12. win7一直卡在首次使用计算机,重装win7一直停留在正在启动windows解决方法(完美解决)...
  13. 「PMP答题卡」真实模拟PMP考试
  14. Unity---商店搭建
  15. Flink DataStream的多流、键控流、窗口、连接、物理分区转换算子的使用
  16. 软件测试周刊(第54期):管他乐观还是悲观,都滚蛋,干就完了。
  17. 明日书苑:史上书法字体分类最全(收藏版)
  18. php 浏览器唯一标识符,在PHP中获取唯一的Web浏览器ID
  19. 基于MFC开发的单文档画图(线段,多线段,矩形,椭圆,多边形),选中,变色,平移,线段长度,区域面积计算
  20. c语言作文的题目_c语言练习题目

热门文章

  1. 联通4G业务或沿用沃品牌 不推无限量套餐
  2. 数据库05子查询,union
  3. 人机交互技术课程实验报告《社交点评APP》系统移动界面分析报告
  4. pstack工具查看线程堆栈的方法
  5. 人脸属性分析--性别、年龄和表情识别
  6. linux管道通信 半双工通信
  7. 《那些年啊,那些事——一个程序员的奋斗史》——36
  8. Oracle 查询临时表空间
  9. 华为鸿蒙第一期公测,华为鸿蒙开启第二轮公测,新增7款机型,有你的吗?
  10. DDR,DDR2,DDR3,DDR4,LPDDR区别