栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

对一个switch case语句使用两个值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

对一个switch case语句使用两个值

您可以使用具有以下两个

CASE
语句。

  case text1:   case text4:{ //blah break;        }

请参见此示例:该代码示例计算特定月份中的天数:

class SwitchDemo {    public static void main(String[] args) {        int month = 2;        int year = 2000;        int numDays = 0;        switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:     numDays = 31;     break; case 4: case 6: case 9: case 11:     numDays = 30;     break; case 2:     if (((year % 4 == 0) &&!(year % 100 == 0))          || (year % 400 == 0))         numDays = 29;     else         numDays = 28;     break; default:     System.out.println("Invalid month.");     break;        }        System.out.println("Number of Days = "     + numDays);    }}

这是代码的输出:

Number of Days = 29

贯穿:

另一个兴趣点是中断声明。每个break语句终止封闭的switch语句。控制流从切换块后的第一条语句继续。break语句是必需的,因为如果没有它们,则是switch块中的

fallthrough
语句:匹配case标签之后的所有语句将按顺序执行,而不管后续case标签的表达式如何,直到遇到break语句为止。

示例代码:

public class SwitchFallThrough {    public static void main(String[] args) {        java.util.ArrayList<String> futureMonths = new java.util.ArrayList<String>();        int month = 8;        switch (month) { case 1:  futureMonths.add("January"); case 2:  futureMonths.add("February"); case 3:  futureMonths.add("March"); case 4:  futureMonths.add("April"); case 5:  futureMonths.add("May"); case 6:  futureMonths.add("June"); case 7:  futureMonths.add("July"); case 8:  futureMonths.add("August"); case 9:  futureMonths.add("September"); case 10: futureMonths.add("October"); case 11: futureMonths.add("November"); case 12: futureMonths.add("December"); default: break;        }        if (futureMonths.isEmpty()) { System.out.println("Invalid month number");        } else { for (String monthName : futureMonths) {    System.out.println(monthName); }        }    }}

这是代码的输出:

AugustSeptemberOctoberNovemberDecember

在switch语句中使用字符串

在Java SE 7和更高版本中,可以在switch语句的表达式中使用String对象。以下代码示例,基于名为month的字符串的值显示月份数:

public class StringSwitchDemo {    public static int getMonthNumber(String month) {        int monthNumber = 0;        if (month == null) { return monthNumber;        }        switch (month.toLowerCase()) { case "january":     monthNumber = 1;     break; case "february":     monthNumber = 2;     break; case "march":     monthNumber = 3;     break; case "april":     monthNumber = 4;     break; case "may":     monthNumber = 5;     break; case "june":     monthNumber = 6;     break; case "july":     monthNumber = 7;     break; case "august":     monthNumber = 8;     break; case "september":     monthNumber = 9;     break; case "october":     monthNumber = 10;     break; case "november":     monthNumber = 11;     break; case "december":     monthNumber = 12;     break; default:      monthNumber = 0;     break;        }        return monthNumber;    }    public static void main(String[] args) {        String month = "August";        int returnedMonthNumber = StringSwitchDemo.getMonthNumber(month);        if (returnedMonthNumber == 0) { System.out.println("Invalid month");        } else { System.out.println(returnedMonthNumber);        }    }}

该代码的输出为8。

从Java文档



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号