下面两种写法有区别吗?如果有的话请给出理由。谢谢!~!!if(flag)
{
return "a";
}
return "b";===============================================================================
if(flag)
{
return "a";
}else{
return "b";
}

解决方案 »

  1.   

    如果是return的话,就没什么区别,
    但如果不是return的话,有可能会有区别的了~~~~~~~`
      

  2.   

    return "b";
    总是要返回的阿
      

  3.   

    return "b";
    总是要返回的阿稍微做个试验就知道不是这样子啊 
    public class returnTest
    {
        public returnTest()
        {
        }
        public static void main(String[] args)
        {
            String a = getFlag();
            System.out.println(a);
        }
        public static String getFlag()
        {
    boolean flag = true;
            if(flag)
            {
                return  "a";
            }
            return "b";//要素数を取得
        }
    }这个时候并不返回b
      

  4.   

    没什么区别,只是习惯的回答是正确的啊。
    原因如下:
    如果已经满足if(flag)的条件,程序就会进入if,这个时候if的内容很关键,他已经有返回了,就是说这个子函数已经结束了,就跳出这个子函数,回到调用他的地方了。
    后面的就不执行了,所以说return "b";并不是每次都返回的。ps:我已开始也以为return "b";是肯定要返回的。结果不是,呵呵。
       还有,如果if李的内容不是返回的话,
    if(flag)
    {
    }
    。。
    =================================================
    if(flag)
    {
    }else
    {
    }
    是很不一样的。
    。。的内容是不需要参考if的条件的,也就是说,一定会被执行。
      

  5.   

    同意liukang520236(天堂魔鬼鬼)的解释
      

  6.   

    我一般更喜欢这样写,有时感觉用三目运算符会让程序更简洁点。
    return flag ? "a" : "b";
      

  7.   

    三目运算效率稍好些吧
    ======================================================
    欢迎加入群:13817403
    希望这个群能够给大家一个技术交流的空间
    也希望大家能够成为好朋友
    ======================================================
    ====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2