class Srcontinue2
{
public static void main(String args[])
{
uper: //我觉得跳到这里
for(int i=1;i<=3;i++) //i应该被重新赋值过
{
for(int j=1;j<=3;j++)
{
System.out.println("i:"+i+"j:"+j);
if(i+j>3)
{
System.out.println("继续");
continue uper; //在JAVA语法中这个有什么实际用到??
}
}
}
}
}
{
public static void main(String args[])
{
uper: //我觉得跳到这里
for(int i=1;i<=3;i++) //i应该被重新赋值过
{
for(int j=1;j<=3;j++)
{
System.out.println("i:"+i+"j:"+j);
if(i+j>3)
{
System.out.println("继续");
continue uper; //在JAVA语法中这个有什么实际用到??
}
}
}
}
}
楼主【sure2003】截止到2008-06-25 22:17:54的历史汇总数据(不包括此帖):
发帖数:180 发帖分:8606
结贴数:180 结贴分:8606
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
压根就是换了个说法,CONTINUE就成了GOTO的别名了
* 演示查找过程,使用带标签的 break 和 continue 语句。
*/
public void search() ......{
//loop1:
// 若在此处定义标签,由于不是其后紧跟循环语句,所以会被勿略掉。
// 被忽略掉的标签,如果在 break 或者 continue 语句中用到,编译时不能通过。
// 如果没有在 break 或者 continue 中用到则编译可以成功。
System.out.println("--- Begin Searching ---");
loop1: for (int i = 0; i < row; i++) ......{
for (int j = 0; j < col; j++) ......{
if (data[i][j] > lookfor) ......{
System.out.println("--- JUMP ---");
continue loop1; // 想想此处用 break,结果会有什么变化
}
if (data[i][j] == lookfor) ......{
System.out.println("FOUND: data[" + i + "][" + j + "] = "
+ lookfor);
break loop1; // 想想此处用 return,结果会有什么变化
}
System.out
.println("data[" + i + "][" + j + "] = " + data[i][j]);
}
System.out.println("--- LOOP2END ---");
}
System.out.println("--- End Searching ---");
}
goto可以直接从goto所在的行跳到他的label.
goto可以写在任意地方,不限定在循环或判断里面。而continue和break必须写在循环或判断里面。
--只有第一次才int i=0;然后每次循环都是执行i++;没有标签之前也是能记得上次的i值的啊。不知道,等高手来:
是直接进入打上你那标签的 for 的下一次循环,即 for(int i=1;i<=3;i++) 不再 int i = 1 了,而是直接 i++ 然后看看 i <= 3 是否成立,成立就再执行循环体。