一、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`语句最初只能处理`int`、`char`以及`enum`类型的数据。然而,在实际开发过程中,有时需要根据字符串(`String`)来执行不同的逻辑分支。...
但是,从 Java 7 开始,switch 语句也支持使用 String 类型作为条件表达式。 在 Java 7 之前,如果我们尝试使用 String 参数在 switch 语句中,编译器将报告错误,指出“Cannot switch on a value of type String ...
C# 5.0 及以后的版本允许使用枚举类型、字符串以及值类型的 `switch` 表达式,而 Java 之前只支持整型、字符型和枚举类型,但自从 Java 7 引入了 `String` 类型的 `switch`,这一限制得到了放宽。 另一个不同点是,...
总的来说,Java Switch语句是编写条件控制代码的一个强大工具,通过理解其工作原理和使用方法,可以提升代码的可读性和效率。在学习过程中,通过实践和不断练习,能够更好地掌握这一特性,并将其应用于实际项目中。
2. **控制结构**:学习Java编程离不开对流程控制的理解,这包括条件语句(if-else,switch-case)和循环语句(for,while,do-while)。这些结构是编写逻辑代码的基础。 3. **函数与方法**:掌握如何定义和调用函数...
5. **字符串操作**:Java中的String类是不可变的,考生需要理解其特性,以及如何使用StringBuilder或StringBuffer进行字符串操作。 6. **输入/输出流**:Java的I/O流系统是处理数据输入和输出的关键。考生应熟悉...
9. **API使用**:熟悉Java标准库中常用的类和方法,例如Math类、String类、Date类等。 10. **数据库操作**:基础的SQL语句(如SELECT、INSERT、UPDATE、DELETE),以及JDBC(Java Database Connectivity)的使用,...
### Java中switch的使用及语法说明 在Java编程语言中,`switch`语句是一种非常有用的控制结构,它允许程序基于一个表达式的值来选择执行不同的代码块。这对于需要根据不同条件执行不同操作的情况非常有用,尤其是在...
- 自Java 7起,引入了对`String`类型的switch支持,但case标签必须是字符串常量或字面量。 3. **case语句**: - 每个case后面跟着要比较的值和冒号。值的数据类型必须与表达式的结果类型相同,并且必须是常量或...
Java作为一门面向对象的编程语言,它的基础知识点非常丰富,尤其对于初学者来说,掌握这些基础知识是学习更高级内容的前提。本文档主要聚焦在Java的基础知识点上,包含了程序的顺序结构、分支结构以及循环结构,并附...
`switch-case` 语句是 Java 语言中的一个控制流结构,它允许程序根据不同的条件分支执行不同的代码块。在给定的例子中,`switch-case` 语句被用来根据学生的成绩分配相应的等级,如 A、B、C、D 或 F。 首先,我们...
在Java编程语言中,`switch`语句是一种条件控制结构,用于执行多个可能的分支中的一个,这通常比使用多个`if...else if...else`语句更简洁、易读。`switch`语句适用于执行基于变量不同值的不同操作,这里的变量通常...
《Core Java Volume I+II 10th Edition》是Java编程领域的经典教材,全面深入地讲解了Java的核心技术。这套书分为两卷,第一卷主要介绍基础,第二卷则涉及高级特性。以下是对这两个部分的一些关键知识点的详细阐述:...
在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序根据不同的值执行不同的代码块。这个语句的灵活性在于它不仅支持基本的整数类型,还支持枚举类型。然而,不是所有数据类型都可以直接用于`switch`语句...
在Java中,我们可以利用控制台输入(Console Input)和条件语句(如if-else或switch-case)来实现一个简单的命令行菜单。菜单通常包括一系列选项,用户通过输入数字来选择他们想要执行的操作。以下是一个简单的例子...
然而,它不支持long和String类型的值,尽管在Java 7之后,String类型可以通过引入常量引用的方式间接使用。 基础语法如下: ```java switch(表达式){ case 表达式常量 1: 语句 1; break; case 表达式常量 2: ...
自JDK 7开始,Java允许在switch语句中直接使用String作为case条件,这在之前的版本中是不支持的。这样可以简化代码,提高可读性。 4. **转换String为数字** 当需要将字符串转换为整数或长整数时,可以使用Integer...
它会使用case的值作为switch的下标,可以在时间复杂度为O(1)的情况下找到对应的case。这类似于HashMap的实现。 五、Switch与If-Else的区别 switch关键字和if-else语句都是Java编程语言中的条件语句,但是它们有着...
3. **`switch`表达式**:从`Java 14`引入,`switch`可以作为一个表达式,返回一个值,这使得`switch`可以在更复杂的上下文中使用,比如赋值、条件运算符等。 ```java String dayOfWeek = ...; int dayNumber = ...