本帖最后由 王瀛 于 2012-12-22 16:14 编辑
刚刚看个别人的关于return的帖子,自己去试了一下。
附上代码A:- package myTest;
- public class ReturnTest {
-
- public static void main(String[] args) {
- test1();
- }
-
- public static void test1(){
- System.out.println("---------无返回值类型的return语句测试--------");
- for(int i=1;;i++){
- if(i==4){
- return;
- }
- System.out.println("i="+i);
- }
- System.out.println("Over");//<-------------------------------AAA
- }
- }
复制代码 其中AAA处,eclipse提醒Unreachable code。
************************************************************************************************************************
但是,之前自己编写的一个程序,也有类似的结构,就没出现这个问题。
附上代码B:- public static void printTo98ByReturn(){
- for(int x=1;x<=100;x++){
- if(x<100){
- if(x==98){
- return;//使用return,结束循环
- }
- else{
- System.out.print(x+",");
- }
- }
- else{
- System.out.print(x);
- }
- }
- System.out.print("ReturnOver");//<-----------------------------BBB
- }
复制代码 BBB处就没出现代码A中的错误提示。
我看这两个代码结构差不多啊,都是for循环里使用return结束循环,两处都是在循环体外,代码A就不能通过代码B就可以。
求详解。。。
|