[英]Can an IF statement be used inside math.max in Java?
我想知道是否可以在math.max中使用if語句。 例如,如果您有一個像這樣的對象:
public class Obj {
private int i;
private boolean b;
public void setInt(int newInt) {
this.i = newInt;
}
public void setBool(boolean newBool) {
this.b = newBool;
}
public int getInt() {
return this.i;
}
public boolean getIsTrue() {
return this.b;
}
}
初始化2個新對象並定義所有值后,可以執行以下操作:
System.out.println(Math.max(if(obj1.getIsTrue()) {obj1.getInt()}, if (obj2.getIsTrue()) {obj2.getInt()}));
我知道這可以通過數組和for循環來完成,所以我不問這有沒有可能,只是是否可以以這種方式嵌套if語句。
Java中的if
是一個語句而不是一個表達式 ,這意味着它不返回值。 只要可以提供有意義的else
部分, 就可以使用條件表達式(也稱為三元運算符):
Math.max(obj1.getIsTrue() ? obj1.getInt() : 0, obj2.getIsTrue() ? obj2.getInt() : 0);
還要注意, Math.max()
僅接收2個參數,而不是您期望的3個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.