Java中Switch用法代码示例
时间:2019-04-07
本文章向大家介绍Java中Switch用法代码示例,主要包括Java中Switch用法代码示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、java当中的switch与C#相比有以下区别
注:在java中switch后的表达式的类型只能为以下几种:byte、short、char、int(在Java1.6中是这样), 在java1.7后支持了对string的判断
还有一点要注意的是:在java中如果switch的case语句中少写了break;这个关键字,在编译的时候并没有报错。但是在执行的时候会一直执行所有case条件下的语句并不是去判断,所以会一直执行直到遇到break关键字跳出或者一直执行到defaut语句。
还有就是如果在switch表达的结果在case中没话swithc就会从default执行,这是与C#不同的地方。
对应演示代码:
public class TestSwitch{ public static void main(String args[]){ char c = 'a'; //char类型字符 switch(c){ default: System.out.println("打印默认值"); break; case 'a': System.out.println("a"); break; case 'b': System.out.println('b'); break; case 'c': System.out.println('c'); break; case 'd': System.out.println("d"); break; } } }
下面再介绍一个例子
二.switch的用法和if的大体作用是一样的
switch的用法和if的大体作用是一样的,但是在细节方面不一样,if语句主要用做范围性的判断选择,而switch判断的比较准确,类似于等值判断。
用法:
switch(判断条件){
case 与判断条件进行比较:判断成功执行;break(break的作用是执行完成后跳出);
……(可以写很多比较的case)
case 与判断条件进行比较:判断成功执行;break;
}
switch的案例:
package com.bjsxt.one; import java.util.*; /** * 实现一个功能:根据学生录入的分数,判断学生的级别 * >=90 A * >=80 B * >=70 C * >=60 D * <60 E */ public class Grade { public static void main(String[] args){ //获取学生的分数 Scanner sc=new Scanner(System.in); System.out.println("请输入学生的分数"); int score=sc.nextInt(); String grade=""; boolean flag=true; switch(score/10){ case 10: grade="A";break; case 9: grade="A";break; case 8: grade="B";break; case 7: grade="C";break; case 6: grade="D";break; case 5: grade="E";break; case 4: grade="E";break; case 3: grade="E";break; case 2: grade="E";break; case 1: grade="E";break; default :flag=false; } if(flag){ System.out.println("该学生的等级是"+grade); }else{ System.out.println("分数录入错误"); } } }
运行结果:
请输入学生的分数 50 该学生的等级是E 请输入学生的分数 60 该学生的等级是D 请输入学生的分数 70 该学生的等级是C 请输入学生的分数 80 该学生的等级是B 请输入学生的分数 90 该学生的等级是A 请输入学生的分数 100 该学生的等级是A 请输入学生的分数 1000 分数录入错误
总结
以上就是本文关于Java中Switch用法代码示例的全部内容,希望对大家有所帮助。欢迎参阅:Java异常退出条件的判断示例代码、浅谈java实现mongoDB的多条件查询等,有什么问题可以随时留言,欢迎大家交流讨论。。。。
- Rafy 框架 - 为数据库生成注释
- CNN预测股票走势基于Tensorflow(思路+程序)
- 路径查找器AI
- android推荐使用dialogFrament而不是alertDialog
- 自定义圆角和园边的实现
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
- 应用潜在语义分析技术将文档进行3D可视化
- 利用神经网络算法的C#手写数字识别
- fastText、TextCNN、TextRNN…这套NLP文本分类深度学习方法库供你选择
- nfc开发
- N-CryptoAsset投资组合 | 使用PCA识别高度相关的加密货币(最近听说某币很疯狂哦!)
- 仿刮刮乐刮奖效果
- Spacebuilder在Mono上运行修改备忘
- maven配置详解
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 2020年手工webpack构建react项目,完美支持ssr,包括css和图片资源
- php中赋值、浅拷贝与深拷贝
- 2020最新:100道有答案的前端面试题(下)
- UI自动化测试之ddt实战
- KVM 之网络配置
- Mysql操作
- CentOS7+nginx+uwsgi+Django部署之路
- 【翻译】200行代码讲透RUST FUTURES (4)
- 使用Flask部署图像分类模型
- Try2Cry:使用蠕虫技术传播的勒索软件
- 安全研究 | Jenkins漏洞分析
- 算法:链表之环形链表
- 爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
- 3分钟短文 | Laravel获取关联表指定列的3个方法
- 其实算法就这么点东西