解释的详细点!!!!!!!!下列方法method()执行,返回值为
         int method(){
               int num=10;
               if (num>20)
                  return num;
               num=30;
            }
10
20
30
编译出错

解决方案 »

  1.   


    int method(){
      int num=10;
      if (num>20)
      return num;
      num=30;
      return num;//加上
      }
      

  2.   

    如果是这样呢::
    int method(){
      int num=10;
      return num;
      num=30;
      }
    为什么会出错?????????
      

  3.   


    int method(){
      int num=10;
      if (num>20)
      return num;
      num=30;
      [code=Java]return num;//加上返回值

    [/code]
      

  4.   

    执行到return后方法就返回了,num=30这行,无法执行,编译器肯定报错
      

  5.   


    这里如果大于20,返回num;那不大于20返回什么呢?没有返回,所以错。
      

  6.   

    这里,执行到return,程序就会结束,不会报错,会报警告,楼主可以把报的错误贴出来。
      

  7.   

    报的错误是::::::::::
    apple02.java:14: 无法访问的语句
       i=15;
       ^
    apple02.java:16: 缺少返回语句
    }
    ^
    2 错误输出完成 (耗时 0 秒) - 正常终止
      

  8.   

    int method(){
    int num=10;
    return num;
    num=30;
    }为什么结果是30呢???????
      

  9.   

    你确定你这个能编译通过???都返回值了,num=30这句会报错
      

  10.   

    int method(){
    int num=10;
    return num;
    num=30;

    编译出错啊 
    你return num后后边的num=30就不可达了啊 反正我运行不出30啊
      

  11.   


    这个是不可能通过编译的,我在eclipse中不能通过编译,也不能得到值。return之后不能放语句,因为代码执行到return就结束了,写代码要注意规范对于一些这样的问题不要深究,开发中没有人会这样写的。
      

  12.   

    为什么这样也报错??????????
     条件是trun啊!!!!!!!
    int method(){
      int num=30;
      if (num>20)
      return num;
      }
      

  13.   

    第一个编译就不能通过啊~,第二个也是一样的啊 不是你把int定义了大于20了编译器就会让你过了的= =~
    取其他值一样没有返回啊
      

  14.   

    if{

    return (int)
    }else{
    return (int)
    }
      

  15.   

    int method(){
      int num=10;
      if (num>20)
      return num;
        num=30;
         return num;
      }
    lz,你java语法都搞不明白吧. 注意方法是有返回值的,语法规定必须要返回.
      

  16.   


    if (num>20)
      return num;
      num=30;相当于if (num>20){
      return num;
    }
      num=30;
    如果if 后面没有大括号,那么实际上if所包括的范围,就是if下面的一行(只一行)
      

  17.   

    只有if语句有返回语句,如果没有执行if语句,就没有返回值了,所有报错。
      

  18.   

    Java不允许return后还有可执行语句
      

  19.   

    你这样写:if (num>20)
       return num;
       num=30;不是相当于:
    if (num>20){
       return num;
    }
       num=30;这就造成了你的方法没有返回值,看似你写了return ,但那是在if里面,if有分支你一个分支return了 别的分支不return 行得通吗?
      

  20.   

    if(num>20) 这句后面有返回值,条件不满足时没有返回值所以会编译错误。
    另外:
    方法中最后一定是要有返回值的,你敲代码的时候没有看到一个红叉的提示吗,亲?