`

java switch的使用+switch用String作为条件

 
阅读更多

一、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中,`switch`语句最初只能处理`int`、`char`以及`enum`类型的数据。然而,在实际开发过程中,有时需要根据字符串(`String`)来执行不同的逻辑分支。...

    Java switch 语句如何使用 String 参数

    但是,从 Java 7 开始,switch 语句也支持使用 String 类型作为条件表达式。 在 Java 7 之前,如果我们尝试使用 String 参数在 switch 语句中,编译器将报告错误,指出“Cannot switch on a value of type String ...

    switch语句在java和c#中的区别

    C# 5.0 及以后的版本允许使用枚举类型、字符串以及值类型的 `switch` 表达式,而 Java 之前只支持整型、字符型和枚举类型,但自从 Java 7 引入了 `String` 类型的 `switch`,这一限制得到了放宽。 另一个不同点是,...

    Java-Java Switch语句详解教程

    总的来说,Java Switch语句是编写条件控制代码的一个强大工具,通过理解其工作原理和使用方法,可以提升代码的可读性和效率。在学习过程中,通过实践和不断练习,能够更好地掌握这一特性,并将其应用于实际项目中。

    java课件++++++++

    2. **控制结构**:学习Java编程离不开对流程控制的理解,这包括条件语句(if-else,switch-case)和循环语句(for,while,do-while)。这些结构是编写逻辑代码的基础。 3. **函数与方法**:掌握如何定义和调用函数...

    JAVA考试试卷+答案

    5. **字符串操作**:Java中的String类是不可变的,考生需要理解其特性,以及如何使用StringBuilder或StringBuffer进行字符串操作。 6. **输入/输出流**:Java的I/O流系统是处理数据输入和输出的关键。考生应熟悉...

    二级java南开100+答案

    9. **API使用**:熟悉Java标准库中常用的类和方法,例如Math类、String类、Date类等。 10. **数据库操作**:基础的SQL语句(如SELECT、INSERT、UPDATE、DELETE),以及JDBC(Java Database Connectivity)的使用,...

    java中switch的使用及语法说明

    ### Java中switch的使用及语法说明 在Java编程语言中,`switch`语句是一种非常有用的控制结构,它允许程序基于一个表达式的值来选择执行不同的代码块。这对于需要根据不同条件执行不同操作的情况非常有用,尤其是在...

    Java switch case 语句.docx

    - 自Java 7起,引入了对`String`类型的switch支持,但case标签必须是字符串常量或字面量。 3. **case语句**: - 每个case后面跟着要比较的值和冒号。值的数据类型必须与表达式的结果类型相同,并且必须是常量或...

    java 知识文档+分析源码 汇集day03

    Java作为一门面向对象的编程语言,它的基础知识点非常丰富,尤其对于初学者来说,掌握这些基础知识是学习更高级内容的前提。本文档主要聚焦在Java的基础知识点上,包含了程序的顺序结构、分支结构以及循环结构,并附...

    Java中switch判断语句典型使用实例

    在Java编程语言中,`switch`语句是一种条件控制结构,用于执行多个可能的分支中的一个,这通常比使用多个`if...else if...else`语句更简洁、易读。`switch`语句适用于执行基于变量不同值的不同操作,这里的变量通常...

    switch语句能否作用在byte上,能否作用在long上,能否作用在String上

    在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序根据不同的值执行不同的代码块。这个语句的灵活性在于它不仅支持基本的整数类型,还支持枚举类型。然而,不是所有数据类型都可以直接用于`switch`语句...

    Java制作菜单+时钟

    在Java中,我们可以利用控制台输入(Console Input)和条件语句(如if-else或switch-case)来实现一个简单的命令行菜单。菜单通常包括一系列选项,用户通过输入数字来选择他们想要执行的操作。以下是一个简单的例子...

    java学习资料-switch基础介绍及具体使用方法

    然而,它不支持long和String类型的值,尽管在Java 7之后,String类型可以通过引入常量引用的方式间接使用。 基础语法如下: ```java switch(表达式){ case 表达式常量 1: 语句 1; break; case 表达式常量 2: ...

    十大常见Java String问题_动力节点Java学院整理

    自JDK 7开始,Java允许在switch语句中直接使用String作为case条件,这在之前的版本中是不支持的。这样可以简化代码,提高可读性。 4. **转换String为数字** 当需要将字符串转换为整数或长整数时,可以使用Integer...

    Java switch关键字原理及用法详解

    它会使用case的值作为switch的下标,可以在时间复杂度为O(1)的情况下找到对应的case。这类似于HashMap的实现。 五、Switch与If-Else的区别 switch关键字和if-else语句都是Java编程语言中的条件语句,但是它们有着...

    switch选择结构

    3. **`switch`表达式**:从`Java 14`引入,`switch`可以作为一个表达式,返回一个值,这使得`switch`可以在更复杂的上下文中使用,比如赋值、条件运算符等。 ```java String dayOfWeek = ...; int dayNumber = ...

    Java中的Switch语句

    在Java编程语言中,`switch`语句是一种条件控制结构,它允许程序基于不同的值执行不同的代码块。相比传统的`if...else if...else`结构,`switch`语句提供了更简洁、更易于理解和维护的方式来进行多分支选择。在本文...

    java基础教程+课件+代码

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。它以其“一次编写,到处运行”的特性而闻名,因为Java应用程序可以在任何支持Java虚拟机(JVM)的平台上运行。本资源...

Global site tag (gtag.js) - Google Analytics