1.3.1 switch 语句中的 String

switch语句是一种高效的多路语句,可以省掉很多繁杂的嵌套if判断;

在Java 6及之前,case语句中的常量只能是byte、char、short和int(也可以是对应的封装类)或枚举常量,在Java 7规范中增加了String,毕竟它也是常量类型;

Demo:

public class CoinSwitchString {

    public static void main(String[] args) {
        printDay("Sunday");
        printDay("Tuesday");
        printDay("Ten");
    }

    public static void printDay(String dayOfWeek) {
        switch(dayOfWeek) {
            case "Sunday": System.out.println("星期日"); break;
            case "Monday": System.out.println("星期一"); break;
            case "Tuesday": System.out.println("星期二"); break;
            case "Wednesday": System.out.println("星期三"); break;
            case "Thursday": System.out.println("星期四"); break;
            case "Friday": System.out.println("星期五"); break;
            case "Saturday": System.out.println("星期六"); break;
            default: System.out.println("Error: ‘" + dayOfWeek + "‘ is not a day of the week!");
        }
    }

}

Ran As Java Application:

星期日
星期二
Error: ‘Ten‘ is not a day of the week!
时间: 2024-10-13 17:54:06

1.3.1 switch 语句中的 String的相关文章

java7 语法糖 之 switch 语句中的string

Jdk7新增的switch 语句中常量可以string类型, 例如: @Test public void test_1(){ String string = "hello"; switch (string) { case "hello": System.out.println(string); break; default: throw new IllegalArgumentException("非法参数"); } } 语法糖的背后,其实用的对待

java中switch语句中的defaul条件的位置

在java中switch语句中,每个case分支就是一个入口,如果都没有满足条件,那么将会走到default分支中.那么这个default分支的位置会不会影响到执行的流程呢? package com.app.statement; import java.util.Scanner; /**  * Created by charles on 2015/7/12.  */ public class SwitchTest {     public static void main(String[] ar

java7 switch语句中使用字符串的背后原理

先看下代码及反编译后的代码: /**  * @author doctor  *  * @time 2015年3月28日 下午3:26:06  */ public class StringForSwitch { @Rule public ExpectedException ex = ExpectedException.none(); @Test public void test_string_switch() { String result=""; switch ("docto

switch语句中break的巧用

大家都知道,break的作用就是终止它所在的switch语句后循环语句的执行.在这里呢,我们不去探讨break在循环里的终止作用,也不去回忆在循环里是跳出本层循环,不去研究它与continue或者return的区别.在这里,我们简简单单的谈一下,它在switch语句中的利用. 有这样一道编程题目:输入某年某月某日三个值,判断这是这一年的第几天.一般的情况,我们会这样写代码: #include<stdio.h> void main() { int year,month,day,num; prin

C++中switch 语句中的变量声明和

switch 内部的变量定义: 1 int i = 1; 2 switch(i) 3 { 4 case 0: 5 string str; //error 6 int val1 = 0; //error 7 int val2; //right 8 int val3; val3 = 0; //right 9 case 1: 10 val2 = 9; 11 cout << val2 << endl; 12 } <C++ Primer> P163: 如果在某处一个带有初始值的变

swift switch语句中的标签语句

当我们在遍历中使用switch语句时有时需要终止整个遍历的进行而不是switch语句,那么标签语句的实现就是很有必要的 //可以使用标签来标记一个循环体或者switch代码块,当使用break或者continue时带上这个标签,可以控制该标签代表对象的终端或者执行,适合复杂真的控制流程 /* 要求在遇到异常数据时直接终止循环 */ var score = [96,83,43,101,66,70,-5,99] First:for s in score {//定义标签First switch s/1

switch语句中 参数的类型

switch可作用于char byte short int switch可作用于char byte short int对应的包装类 switch不可作用于long double float boolean,包括他们的包装类 switch中可以是字符串类型,String(JDK1.7之后才可以作用在string上) switch中可以是枚举类型(JDK1.5之后) 原文地址:https://www.cnblogs.com/houchen/p/12034578.html

JavaScript对于switch语句中的case后键入值的带不带引号

一.用switch选择星期几 这时case为  例:case="星期一" 二.用switch选择单纯的数字 这时case为  例:case='1' 三.用switch选择一个应用了函数的值 例:switch(preseInt(grade/10)){ case=6: document.write("该同学成绩为中") } 请问case后面的引号什么时候加,什么时候不加有具体的分类么 第一次写,希望大神可以指点一下,后日必深入研究

switch语句中case的标签

类型为char.byte.short.int的常量表达式 字符串字面量 String input=......; switch (input.toLowerCase()) { case "yes" : ...... break; case "no"; ...... break; ...... } 枚举常量 enum Size {SMALL, LARGE}; Size size=......: switch (size){ case SMALL://不需要使用Size