一、switch判断语句基本内容

1.switch后面使用的表达式可以是那些?

switch表达式后面的数据类型只能是(jdk 4):byte,short,char,int四种整形类型;

jdk 5:byte short int char enum(枚举)

jdk 7: byte short int char enum(枚举),String 六种类型

2.enum(枚举):一般枚举的格式是,枚举类.枚举类型,使用 switch 的要义在于,case 枚举类型,而不是 case 枚举类.枚举类型;总之枚举就是将你输入的字符串转换为一组数据存在相应的变量中。

3.String(字符串型):用equlas进行写入字符串内容,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;equals 重写:值内容 , equals不重写:地址

所有没有重写equals()方法的类中,调用equals()方法其实和使用==的效果一样,也是比较的地址值,然而,Java提供的所有类中,绝大多数类都重写了equals()方法,equals方法进行了重写则是用来比较指向的对象所存储的内容是否相等。

4.switch中可有有null(空值)吗?

在switch语句中,表达式的值不能是null,否则会在运行时抛出NullPointerException。在case子句中也不能使用null,否则会出现编译错误。

5.case后的数值能重复吗?

case后的数值是不可以重复的,对于字符串类型的也一样,但是字符串中可以包含Unicode转义字符。重复值的检查是在Java编译器对Java源代码进行相关的词法转换之后才进行的。也就是说,有些case字句的值虽然在源代码中看起来是不同的,但是经词法转换之后是一样的,就会在成编译错误。比如:“男”和“\u7537”就是一个意思。

二、案例:

  1. 使用switch语句改写下列if语句:

  int a = 3;int x = 100;if(a==1)         x+=5;else if(a==2)x+=10;else if(a==3)x+=16;else  x+=34;

替换后的代码:

switch(a){case 1:x+=5;break;case 2:x+=10;break;case 3:x+=16;break;default:x+=34;}

完整代码:

public class lianxi_3_2{public static void main(String[] args){int a=3;int x=100;switch(a){case 1:x+=5;break;case 2:x+=10;break;case 3:x+=16;break;default:x+=34;}System.out.println("x="+x);}
}

运行结果:

二、使用 switch case 语句也有以下几点需要注意。

  1. case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现。

  2. case 条件里面只能是常量或者字面常量。

  3. default 语句可有可无,最多只能有一个。

switch判断语句相关推荐

  1. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

  2. PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...

    php switch case 求具体详解,case里面能加if语句? swich 语句 我非常喜欢用 case里面加if干嘛 . php switch中能加if语句吗 PHP里 switch cas ...

  3. switch判断语句用法

    switch括号内的语句条件和case后面的字段进行匹配测试,如果匹配一样,则执行case后面的语句,不一样 break跳出判断,执行下一个条件. /*switch语句     * 一旦条件满足不会出 ...

  4. c# string 转 datetime_C#判断语句详解(if、if-else、switch-case、三目/元运算符)

    判断语句是指程序指定一个或者多个需要评测的条件时,映射出两种结果,条件成立或者不成立时需要执行的内容. 判断语句的类别 代码如下 using System;using System.Collectio ...

  5. c#switch语句判断成绩_Go的条件判断语句

    现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...

  6. 选择判断语句(switch)

    选择判断语句(switch) 一.switch语句格式 switch(表达式){ case 取值1: 执行语句: break: case 取值2: 执行语句: break: -...    defau ...

  7. 【小白学习C++ 教程】三、C++用户输入、判断语句和switch

    @Author:Runsen 文章目录 用户输入 判断语句 switch 用户输入 cout用于输出(打印)值的 .现在将使用cin来获取用户输入. cin是预定义的变量,可使用提取操作符(>& ...

  8. 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)

    求1+2+3+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C) 文章目录 求1+2+3+...+n,要求不能使用乘除法.for ...

  9. 前端:JS/19/特殊运算符,运算符优先级,if条件判断语句,switch分支语句,while循环语句,for循环语句,break和continue循环控制语句,实例:九九乘法表

    特殊运算符 new运算符:创建一个对象.如:var today=new Date(); delete运算符:删除数组的元素,或者对象的属性: typeof运算符:一元运算符,主要功能:判断变量的类型的 ...

最新文章

  1. 漫画:什么是快速排序?(完整版)
  2. 各种系统启用snmp协议的方法
  3. 机器学习实战3--豆瓣读书简介
  4. 将MyEclipse项目导入到Eclipse中
  5. Scintilla 3 24在MFC中的使用 动态 静态
  6. HCNA配置telnet远程管理
  7. 5 好看的字体样式_嫌电脑字体样式太少,这款小软件几百种的样式随便你选择...
  8. linux动态调试工具od,OllyDBG(OD动态调试工具)
  9. 怎么用html做随机颜色,JavaScript 实现网站标签随机颜色的方法
  10. unityar自动识别人脸_Unity人脸识别插件分享 | 技术贴
  11. .net DLL反编译文件
  12. C/C++ 中 int 转 string,string 转 int 的几种方法
  13. tcp_sock_struct
  14. emv交易流程介绍_(精)EMV流程介绍.ppt
  15. Chrome 93 版本新特性 Chrome 93 版本发行说明
  16. 小程序全套购物车(全选,单选,反选,删除,价格计算)
  17. PageHelper处理分页问题,total总数不对
  18. BTree和B+Tree详解结构
  19. Android最牛的开源整理
  20. [转]情侣相处最佳模式

热门文章

  1. 安卓Intent跳转到系统应用中的一些界面的方法
  2. 投资超百亿 新能源“绿岛”项目落户温州洞头
  3. 优化模型验证关键代码26:异构车队车辆路径问题模型及gurobipy实现
  4. 2023TMEA腾讯音乐娱乐盛典举办 蔡依林张靓颖周深等现场演唱
  5. 全面认识海思SDK及嵌入式层开发(3)
  6. 2022年12月安全事件盘点
  7. 0CTF-2016-piapiapia(PHP反序列化字符逃逸)
  8. android打开视频噔_Android中三种视频的播放
  9. RSS Reader for MAC Code
  10. stm32毕设 STM32的智能水产养殖系统