一个方法返回值是boolean

yongod 2013-08-21 06:21:10
为什么这个方法的每一个if else分支都要return一个值 否则不给编译呢
...全文
1517 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
摆烂办不到 2013-09-02
  • 打赏
  • 举报
回复
这个我觉得应该挺好理解的
bbjiabcd 2013-09-02
  • 打赏
  • 举报
回复
如果一个方法声明有个boolean类型的返回值,那么在方法体中(包含任何一个能执行完的分支)必须用return语句返回一个boolean类型的值,若编译器检测到某个分支没返回任何值,就会报错(用throw除外)。
2013-08-31
  • 打赏
  • 举报
回复
为什么这个方法的每一个if else分支都要return一个值 否则不给编译呢 不一定把。
boolean fun()
{
  int x;
  int y;
   if(1>2)
   {
    x=33;
     }
else
   {x=1}

  if(12>100)
 { x=121; }
else
 { y=1000;}

 return x==y;
}
xiaozhou10 2013-08-31
  • 打赏
  • 举报
回复
首先假如你肯定你的程序会执行某个条件 如果是:你何必用if-else 如果不是:那就ok 编译器是永远不知道是否肯定会执行某个判断的
GP0071 2013-08-31
  • 打赏
  • 举报
回复
给你举个例子 假设有个apple类 apple类里有个eat的方法 这个方法需要一个返回值,那就是吃后的感觉,好吃=true 不好吃=false。 如果有一个people方法去调用apple类里的eat方法,如果你不给个反馈,你说是不是就不对了。 至于 你说的if else 中都要写返回值,这个没有必要吧,你可以写也可不写,但是在方法结尾要有return,否则就像你说的编译时会报错。
commanager 2013-08-30
  • 打赏
  • 举报
回复
这个方法需要一个返回值,if else 是分支。原因就这么简单
ZZZ5512536 2013-08-23
  • 打赏
  • 举报
回复
这是为了保证该方法肯定有返回值.你不想在每个if-else里加return也可以这样


boolean test(){
  boolean flag = false;
   if(xxxx){
     .....
   }else{
    ....
   flag = true;
   }

return flag;
}
fedori 2013-08-22
  • 打赏
  • 举报
回复
boolean test(){ if(ture){ ..... return true; }else{ ......//如果进入这个分支, //将没有返回值,void与boolean矛盾了 } }
rumlee 2013-08-21
  • 打赏
  • 举报
回复
不是每个if else分支都要有返回值,而是不管分支怎么走,最终方法必须要有返回值。
赱在岸上的鱼 2013-08-21
  • 打赏
  • 举报
回复
你注意看编译器的提示,这样可以帮你解决不仅仅这一个问题 程序在执行的时候if跟else只能选择一个,如果只在if有return执行else的时候怎么办
茫茫大海 2013-08-21
  • 打赏
  • 举报
回复
if和else分支只能执行其中一个,假设在if分支中有返回值,而此时正好调用的是else分支(其中没有返回值),那么就没有返回值,这样编译器就会报错。
齐岳 2013-08-21
  • 打赏
  • 举报
回复
只因没设初始值

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧