Java 控制跳转语句标号【面试题】

1、案例:写标号

public static void main(String[] args){
	a: for(int i = 1;i <= 10;i++){
		System.out.println("i = " + i);
		b: for(int j = 1;j <= 10;j++){
			System.out.println("j = " + j);
			break a;
		}
	}
}

上面代码是直接将标号a的循环退出:所以输出结果为:

i = 1
j = 1

如果不写标号:

public static void main(String[] args){
	a: for(int i = 1;i <= 10;i++){
		System.out.println("i = " + i);
		b: for(int j = 1;j <= 10;j++){
			System.out.println("j = " + j);
			break;	//和break b;效果相同
		}
	}
}

正常跳出内层循环,输出:

i = 1
j = 1
i = 2
j = 2
i = 3
j = 3
...

注意:

  • 一般标号用于多层循环。
  • a 和 b就是标号,只要是合法的标识符即可,最好见名之意。

2、面试题:看下面代码是否可以编译成功

System.out.println("你好");
http://www.csdn.net
System.out.println("很高兴认识你");

编译成功,正常输出:

你好
很高兴认识你

分析:

其实表面上看起来像是一个网站,实际上则是http:标号,而//是java中的注释,后面的www.csdn.net在注释后面没有实际意义。

实际上的代码是:

System.out.println("你好");	//www.csdn.net
http:System.out.println("很高兴认识你");

猜你喜欢

转载自blog.csdn.net/weixin_44296929/article/details/107058675