转自:http://mianshi.fenzhi.com/post/368.html
http://blog.sina.com.cn/s/blog_451f5962010161w2.html
break:使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。 在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。
continue:而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句
return:return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。尽管对return 语句详细讨论在第 7 章开始,这里对其作简要地介绍。在一个方法任何时间,return 语句可被用来使正在执行分支程序返回到调用它方法。下面例子说明这一点。下例中,由于是Java 运行系统调用main() ,因此,return语句使程序执行返回到Java 运行系统。 // Demonstrate return. class Return { public static void main(String args[]) { boolean t = true; System.out.println(“Before the return.”); if(t) return; // return to caller System.out.println(“This won’t execute.”); } } 该程序结果如下: Before the return. 正如你看到一样,最后println( ) 语句没有被执行。一旦return语句被执行,程序控制传递到它调用者。 最后一点:在上面程序中,if(t)语句是必要。没有它,Java 编译器将标记“执行不到代码”(unreachable code )错误,因为编译器知道最后println ()语句将永远不会被执行。为阻止这个错误,为这个例子能够执行,在这里使用if语句来“蒙骗”编译器。
其他网摘:
最近在机子上装了jdk1.4.2,装了编辑器eclipse3.0.1,用后感觉eclipse确实很好用,特别是参数提示功能。
网上的java资源也还不少,看了《thinking in
java》中文版前几章,记点问题与发现在这里:
1. for循环的一个问题
for(int i=1,
j=i+10
;
i<5;
i++
,
j=i*2)
system.out.println(“i=”+i+” j=”+j);
运行结果:
i=1 j=11
i=2 j=4
i=3 j=6
i=4 j=8
而改动一点后:
for(int i=1,
j=i+10;
i<5;
i++){
j=i*2;
system.out.println(“i=”+i+” j=”+j);
}
结果又为:
i=1 j=2
i=2 j=4
i=3 j=6
i=4 j=8
经网上求助后发现,原因在于:for循环在执行条件测试后,先执行程序部分,再只是步进。
2. break
与
continue
加标签用法
在java语句里,唯一能放标签的地方是在循环语句前面。而且循环语句跟标签之间不能有任何东西。
label1:
outer-iteration {
inner-iteration
{
//…
break;
//
1
//…
continue;
//
2
//…
continue
label1;
//
3
//…
break
label1;
//
4
}
}
案例1会中断内部循环。2会中断内部当前循环,直接跳入下一轮循环。案例3中断内部和外部循环,跳到label1,从外部开头重新开始循环。案例4跳到label1,且不在进入循环。
下面举例:
public class
labeledfor
{
static
test
monitor
=
new
test();
public
static
void
main(string[]
args)
{
int
i
=
0;
outer:
//
can’t
have
statements
here
for(;
true
;)
{
//
infinite
loop
inner:
//
can’t
have
statements
here
for(;
i
<
10;
i++)
{
system.out.println(“i
=
”
+
i);
if(i
==
2)
{
system.out.println(“continue”);
continue;
}
if(i
==
3)
{
system.out.println(“break”);
i++;
//
otherwise
i
never
//
gets
incremented.
break;
}
if(i
==
7)
{
system.out.println(“continue
outer”);
i++;
//
otherwise
i
never
//
gets
incremented.
continue
outer;
}
if(i
==
8)
{
system.out.println(“break
outer”);
break
outer;
}
for(int
k
=
0;
k
<
5;
k++)
{
if(k
==
3)
{
system.out.println(“continue
inner”);
continue
inner;
}
}
}
}
}
} ///:~
结果:
“i =
0”,
“continue inner”,
“i =
1”,
“continue inner”,
“i =
2”,
“continue”,
“i =
3”,
“break”,
“i =
4”,
“continue inner”,
“i =
5”,
“continue inner”,
“i =
6”,
“continue inner”,
“i =
7”,
“continue outer”,
“i =
8”,
“break outer”
http://blog.sina.com.cn/s/blog_451f5962010161w2.html
break:使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。 在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。
continue:而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句
return:return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。尽管对return 语句详细讨论在第 7 章开始,这里对其作简要地介绍。在一个方法任何时间,return 语句可被用来使正在执行分支程序返回到调用它方法。下面例子说明这一点。下例中,由于是Java 运行系统调用main() ,因此,return语句使程序执行返回到Java 运行系统。 // Demonstrate return. class Return { public static void main(String args[]) { boolean t = true; System.out.println(“Before the return.”); if(t) return; // return to caller System.out.println(“This won’t execute.”); } } 该程序结果如下: Before the return. 正如你看到一样,最后println( ) 语句没有被执行。一旦return语句被执行,程序控制传递到它调用者。 最后一点:在上面程序中,if(t)语句是必要。没有它,Java 编译器将标记“执行不到代码”(unreachable code )错误,因为编译器知道最后println ()语句将永远不会被执行。为阻止这个错误,为这个例子能够执行,在这里使用if语句来“蒙骗”编译器。
其他网摘:
最近在机子上装了jdk1.4.2,装了编辑器eclipse3.0.1,用后感觉eclipse确实很好用,特别是参数提示功能。
网上的java资源也还不少,看了《thinking
1.
for(int
system.out.println(“i=”+i+”
运行结果:
i=1
i=2
i=3
i=4
而改动一点后:
for(int
j=i*2;
system.out.println(“i=”+i+”
}
结果又为:
i=1
i=2
i=3
i=4
经网上求助后发现,原因在于:for循环在执行条件测试后,先执行程序部分,再只是步进。
2.
在java语句里,唯一能放标签的地方是在循环语句前面。而且循环语句跟标签之间不能有任何东西。
label1:
outer-iteration
}
案例1会中断内部循环。2会中断内部当前循环,直接跳入下一轮循环。案例3中断内部和外部循环,跳到label1,从外部开头重新开始循环。案例4跳到label1,且不在进入循环。
下面举例:
public
}
结果:
“i
“continue
“i
“continue
“i
“continue”,
“i
“break”,
“i
“continue
“i
“continue
“i
“continue
“i
“continue
“i
“break