黑马程序员技术交流社区
标题:
switch关键字的测试
[打印本页]
作者:
吴扬
时间:
2012-7-12 11:01
标题:
switch关键字的测试
本帖最后由 吴扬 于 2012-7-12 11:35 编辑
下面这段代码是有关switch关键字的小应用,有几个地方不是很明白,请大家指点下。
public static int switchTest(){
int i = 0;
switch(i)
{
case 0:
System.out.println("haha");
return 0;
case 1:
System.out.println("hehe");
return 1;
case 2:
System.out.println("heihei");
return 2;
}
}
复制代码
为什么会报“没有返回值”的错误呢?每个case语句后面不是已经有返回值了吗?
作者:
陆强强
时间:
2012-7-12 11:15
本帖最后由 陆强强 于 2012-7-12 11:18 编辑
i=3呢,你让他返回什么,所以
case 2:
System.out.println("heihei");
return 2;
default: //加上这个
System.out.println("你好卡哇伊");
return -1;
}
作者:
韦念欣
时间:
2012-7-12 11:21
楼主的代码中switch语句,除了处理0,1,2,其他情况都没有处理,所以编译器就报错啦!
作者:
吴扬
时间:
2012-7-12 11:34
明白了,谢谢两位,太不细心了!呵呵...
作者:
梁健生
时间:
2012-7-12 11:41
本帖最后由 梁健生 于 2012-7-12 11:43 编辑
public static int switchTest(){
int i = 0;
switch(i)
{
case 0:
System.out.println("haha");
return 0;
case 1:
System.out.println("hehe");
return 1;
case 2:
System.out.println("heihei");
return 2;
//default:
//System.out.println("是这个");
//return 4;
}
return 5 ;
}
总结:你的问题楼上几个哥们说的都很对!!我只是稍微结尾补充下~之所以运行会出现缺少返回值是因为switch语句有两个结束方法,一是遇到break,二是到结尾处“}”,因为结尾没有返回值所以会报错,我的红紫色和蓝色修改,任何一个都可以解决你的问题!!
希望这些能更好的帮你理解switch语句!!{:soso_e112:}
作者:
王红霞
时间:
2012-7-12 14:59
public static int switchTest(){
int i = 0;
switch(i)
{
case 0:
System.out.println("haha");
return 0;
case 1:
System.out.println("hehe");
return 1;
case 2:
System.out.println("heihei");
return 2;
default:return 3;
}
}
作者:
耿立刚
时间:
2012-7-13 16:30
return不应该写在switch的大括号里面写里面的是说终止程序运行了,不用返回值的。而应该写在外面里面的一般用的是break,你试一试这样写对你有用吗
3.png
(5.46 KB, 下载次数: 26)
下载附件
2012-7-13 16:30 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2