看到一个面试题:题目如下,求输出结果:
public class Test4 {
public static void main(String []args){
int i=3,j;
outer:while(i>0){
j=3;
inner:while(j>0){
if(j<2) break outer;
System.out.println(j+"and"+i);
j--;
}
i--;
}
}
}
输出结果是
3and3
2and3
这里的 :
inner**?*
outer**?*
我刚看到代码以为这是java的保留字之类的东西,但是事实上却不是
注意是 有冒号的,这是java的标签,可以换做其他单词,相当于标记一个{}
在c语言中有一个 goto语句,涉及到标记goto可以跳转的位置
比如:
int q=0;
before:while(q<10){
System.out.println(q);
q++;
}
//.c
void main(){
int a=2,b=3;
if(a<b)
goto aa;
printf("hello");
aa:printf("s");
return 0;
}
//改程序的执行结果为s
//所有在goto aa这句之后直接跳转到aa:printf("s");
//aa:为标记行。冒号切记不可省略。