黑马程序员技术交流社区

标题: Switch 语句的用法 [打印本页]

作者: 漫步人    时间: 2013-10-18 02:40
标题: Switch 语句的用法
本帖最后由 漫步人 于 2013-10-20 23:26 编辑

switch语句能否作用在byte上,能否作用在long上,以及Sting上?

作者: 未知数|X|    时间: 2013-10-18 07:48
本帖最后由 未知数|X| 于 2013-10-18 07:54 编辑

byte是可以的 long不行其实在jdk7.o到是提供了对String的支持,其实你只要稍微试试你就会发现,哇塞 也不过如此
作者: 雷丹    时间: 2013-10-18 11:15
没试过,按理说应该行,switch可以看成if语句的组合
作者: 飘落    时间: 2013-10-18 11:27
switch语句判定的变量必须是byte,short,int,char类型中的任意一种,
jdk6.0加入对枚举类型的兼容,jdk7.0加入对字符串类型的兼容。
作者: 王飚    时间: 2013-10-18 12:31
  1. /*
  2. switch可以用于int,和String,但是当接收一个long类型的数据时,
  3. switch()的括号内要转成int类型(向下转型):不然,“可能丢失精度”;
  4. 如代码中我有注释的地方:
  5. */

  6. class SwitchDemo
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 byte x=1;
  11.                 long y=1;
  12.                 String z="java";
  13.         byteDemo(x);
  14.         longDemo(y);
  15.         StringDemo(z);
  16.         }
  17.         public static void byteDemo(byte x)
  18.         {
  19.         switch(x)
  20.                 {
  21.         case 1:System.out.println("hello byte");
  22.                 }
  23.         }
  24.        
  25.         public static void longDemo(long x)
  26.         {
  27.         switch((int)x)//这里要强转成int否则可能会丢失精度
  28.                 {
  29.         case 1:System.out.println("hello long");
  30.                 }
  31.         }
  32.        
  33.         public static void StringDemo(String x)
  34.         {
  35.         switch(x)
  36.                 {
  37.         case "java":System.out.println("hello String");
  38.                 }
  39.         }
  40. }
复制代码

作者: 王东    时间: 2013-10-20 20:21
switch 必须是short,byte ,int ,char  中的一种,其它的不行
作者: 漫步人    时间: 2013-10-20 22:01
标题: 已解决
本帖最后由 漫步人 于 2013-10-20 23:18 编辑

好的,加油中!
作者: 漫步人    时间: 2013-10-20 22:01
好的,加油中!
作者: 漫步人    时间: 2013-10-20 22:01
好的,加油中!
作者: 漫步人    时间: 2013-10-20 22:02
好的,加油中!
作者: 漫步人    时间: 2013-10-20 22:02
好的,加油中!
作者: 漫步人    时间: 2013-10-20 22:45
问题已近解决了!怎么设置成已解决啊!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2