黑马程序员技术交流社区
标题:
一道有趣的面试题
[打印本页]
作者:
张淼
时间:
2012-9-28 23:03
标题:
一道有趣的面试题
闲来无事浏览论坛的帖子,看到一个题目很有趣,但有些没想明白。
class Test1
{
public static void main(String[] args)
{
String msg = "XXX公司欢迎您";
double x = 99.0;
if(x > 0)
{
http://www.bjxxx.com.cn;
System.out.println("XXXXXXX" + x);
}
}
}
编译,运行可以通过,而且有输出结果,如果//后面的为注释内容,那http:为何可以编译和运行都通过呢?
作者:
rioy1
时间:
2012-9-28 23:14
http:部分被认为是跳转标志,后面的是注释
作者:
严海荣
时间:
2012-9-28 23:22
http:是一个空标记,没有continue回到这个标记。
public static void main(String[] args) throws Exception{
H:
for(int i=0;i<10;i++){
System.out.println("i:"+i);
for(int j=0;j<10;j++){
System.out.println("j:"+j);
if(j==3){
continue H;
}
}
}
}
复制代码
H: 做了个标记 然后continue 之后可以跳转到标记处,大家没感觉到像什么东东吗?goto 就是他,java没goto,但是有goto的实现方式
作者:
李润根
时间:
2012-9-29 00:04
是的,JVM认为这是跳转标记
作者:
黑马杨锦喜
时间:
2012-9-29 00:51
跳转标记,别被外表蒙骗了卦
作者:
陈琦
时间:
2012-9-29 08:19
一个跳转标记,就类似于C语言中万恶的
goto
方法。可以通过 berak HTTP;和 continue HTTP;跳转过去。
作者:
柳彬
时间:
2012-9-29 09:11
很明显是被虚拟机认为是标记了,其实有些面试题总是用一些东西来误导大家,问题本身并不难,
作者:
王小闲7
时间:
2012-9-29 09:40
学习了……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2