一、java switch的基本使用:
/* int参数的switch */
int x = new Random().nextInt(3);// 0至2的随机数
System.out.println("x=" + x);
switch (x) {
case 0:
System.out.println("随机0");break;
case 1:
System.out.println("随机1");break;
case 2:
System.out.println("随机2");break;
}
/* 16进制int参数的switch */
int x2 = 49;// 0至2的随机数
System.out.println("x2=" + x2);
switch (x2) {
case 0x01:
System.out.println("随机0");break;
case 0x21:
System.out.println("随机1");break;
case 0x31:
System.out.println("随机49");break;
}
/* int参数的switch */
char y = 'b';
System.out.println("y=" + y);
switch (y) {
case 'a':
System.out.println("随机a");break;
case 'b':
System.out.println("随机b");break;
case 'c':
System.out.println("随机c");break;
}
二、java中的switch用String作为条件
在开发java程序的过程中,我们遇到了条件判断首选就是switch,但是遗憾的是,我们java中的switch功能不如C#中的强大,她不支持字符串作为条件。这时我们该怎么办呢?
这种种解决方案比较容易理解。
先看代码:
public enum Day
{
SUNDAY, MONDAY, TUESDAY,
WEDNESDAY,
THURSDAY, FRIDAY,
SATURDAY,
NOVALUE;
public static Day
toDay(String str)
{
try
{
return valueOf(str);
}
catch
(Exception ex) {
return NOVALUE;
}
}
}
main:方法体测试
Scanner s=new Scanner(System.in);
String
day=s.next();//输入的字符串
switch(Day.toDay(day.toUpperCase())){
case SUNDAY:
System.out.println("星期天");
break;
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
}
看看这个代码,其实是通过定义枚举来实现的。将字符串作为枚举,然后通过toDay方法返回的是一个int的值。这样就可以让switch接受String的条件了。就这么简单!
三、switch语句参数
float z=2;
switch(z){
//,不能是z, Cannot switch on a value of type float. Only convertible int values or enum constants are permitted
//也就是说,只有当该数据类型可以自动转换为int型时,才可以作为switch的语句,
//所以该类型表示的范围应该比int的小,short和byte都可以。
case 1: System.out.println(1);break;
case 2: System.out.println(2);break;
case 3: System.out.println(3);break;
}
四、for定义参数
/*
*int x =2; int y=3;
这里声明变量的方式" int a=0, b=0;"
如果写成" int a=0, int b=0;"是错误的, 因为如果声明为这种方式,则他们是两个语句,
要用分号隔开,但是for语句中分号只能有两个。所以使用"int a=0,b=0"这种方式好使
*/
for(int a=0, b=0; a<2; b=++a, System.out.println("b="+b)){
System.out.println("a="+a);
}
分享到:
相关推荐
在java switch中使用String作为分支条件
主要介绍了Java switch 语句如何使用 String 参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
在完成项目后,就可以进行系统测试了,可以将以下性能指标,作为性能调优的标准,响应时间、吞吐量、计算机资源分配使用率、负载承受能力。 本教程结合 Java 应用开发的知识点,将内容分为七大模块,从上到下依次...
rankingBySwitch.java 用switch语句评定成绩等级 realExample.java 演示浮点数的有效位数 remainder.java 取余运算示例 showBreak.java 利用标号语句跳转出所有循环嵌套 showCount.java 循环计数示例 ...
通常用在国际化/本地化程序中与地区/语言相关的方式显示日期、数字或文本信息。 主要方法: public Locale(String language) public Locale(String language,String country) public static Locale getDefault() ...
import java.util.Scanner; public class Command { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请选择功能: 1.显示全部记录 2.查询登录记录 0....
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
北京动力节点-Java编程零基础教程-091-Java基本语法-控制语句-switch语句-字符串作为比较对象.avi 北京动力节点-Java编程零基础教程-092-Java基本语法-控制语句-switch语句-举例1.avi 北京动力节点-Java编程零...
前言 switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰。 使用语法很简单: 代码如下: switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; ...
本书将向读者展示用Java语言和它的类库创建2D游戏,所涉及的主题包括高速性能、双缓冲图像、动画、声音、媒体控制、I/O和网络支持等。将带领大家一步一步学习编写Java游戏,最终打造属于自己的Java游戏。 目录...
1给定如下Java程序,编译运行时,将在()出现错误。(选一项) public class Test{ public static void main(String[]args){ int i= 0; //a语句 for(;i;i++){ //b语句 if(i>5){ String test = “hello”; /...
java 万年历程序代码 package test2; import java.util.Scanner; public class Test2{ public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("请输入年份:"); ...
修复建议:使用c.toArray(new String[c.size()])。 6.不良实践 - 方法返回boolean类型返回了null。 7.错误用法 - "."用作正则表达式。 修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到...
Type 异常报告 消息 Failed to convert ... nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'java.util.Date': no matching editors or co
相比Java 8 添加了新的var关键字,使得我们用更简洁的方式声明我们的局部变量,可通过下面两行代码作比较 List<String> list = new ArrayList(); var myList = new ArrayList(); 注意的是,我们在使用var的时候,...
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求...
6. switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 8 7. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 8 8. char型变量中能不能存贮一个中文汉字?为什么? 8 9. 用最...
3、未优化的代码,例如String的不正确使用 4、过于复杂的表达式,没有必要的表达式循环,判断 5、重复代码 PMD支持的编辑器包括: JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun...
如果小明的Java考试成绩大于95分,就能获得一张积分卡作为奖励。 在Java中如何解决这些问题呢? 可以使用选择结构 Java语言提供了两种选择结构: 选择结构 选择结构 if 选择结构 switch 选择结构 双分支if-else语句 ...