java新手:如何在if else语句中使用返回类型?

pxyaymoc  于 2021-07-12  发布在  Java
关注(0)|答案(7)|浏览(274)

所以我有一个方法叫做 "canMove()" 使用布尔返回类型。我如何在一个应用程序中使用这样的返回类型 if else 另一种方法中的语句?
例如:

if (canMove() return true) {

}
v6ylcynt

v6ylcynt1#

简单地

if(canMove()){
//enter code here
}
else{
//enter code here
}

因为canmove()返回true或false,所以当canmove()返回true时,可以将其解释为if(true)。

mcdcgff0

mcdcgff02#

您可以存储 canMove 在变量中
例如

boolean rv = canMove();
if (rv) 
   return rv;

// do other processing?

如果没有其他处理,只需返回结果,而不需要将其存储在另一个变量中

return canMove();
roejwanj

roejwanj3#

对于布尔函数,很简单:

if (canMove()) { // function returns true
 // ...
}
else { // function returns false
 // ...
}
goucqfw6

goucqfw64#

你的说法是错误的

if (canMove() return true) {

}

如果其他操作如下,则不能在条件内返回结果

if(condition){
//your logic 
   return true
} else{
//your logic

  return false
}

希望这对你有帮助。

cwtwac6a

cwtwac6a5#

我还不能评论。所以我会在这里写一些评论。我不知道你到底想要什么。但我给你提了个建议。
第一种情况:在other class->let use method中使用方法canmove()

public static boolean canMove() { 
         if (right) {   
           return true;
         } 
         return false
}

第二种情况:在同一个类中->只调用方法 canMove() 什么都不需要。

if (canMove()) {
   return true;
} else {
   return false;
}
mwngjboj

mwngjboj6#

假设如果方法canmove()返回true,则希望返回true;如果方法canmove()返回false,则希望返回false,则只需编写:

return canMove();

千万别写这个:

if (canMove()) {
  return true;
}
else {
  return false;
}

但是,如果您想在从另一个函数返回之前进行一些处理,有几种方法可以做到这一点。
新手通常这样写:

if (canMove()) {
  do something here;
  return true;
}
else {
  do something else here;
  return false;
}

但这样写会更干净:

if (canMove()) {
  do something here;
  return true;
}

do something else here;
return false;

您不需要“else”,因为当“if”的求值为真时,它已经从函数中返回了。这就是所谓的提前归还原则。利用这一原则可以减少if-else的编写量,并且在许多情况下可以避免嵌套if-else。
天真的人会在一个函数中争论多个退出/返回点,但这无关紧要。

2ic8powd

2ic8powd7#

您可以在下面尝试:因为canmove()返回布尔值,它将返回true或false,所以您可以像下面这样使用

if (canMove()) { 

 //canMove() is true... do something

}
else { 

 //canMove() is false... do something else

}

相关问题