三項演算子とは、if (評価式) { 処理 } else { 処理 }の2択を開発に簡易に記述できるように提供された代替構文です。
?
true時の評価式 :
false時の評価式
三項演算子のサンプル
/**
* 三項演算子のサンプル
* @param isAdd true 加算 false 減算
* @param x 加算又は減算される基準値
* @param y 加算又は減算値
* @return 計算結果(isAddがtrueの場合は加算、falseの場合減算)
*/
private int ternaryLogic(boolean isAdd , int x , int y ){
return isAdd ? ( x + y ) : ( x - y ) ;
}
/**
* 三項演算子を展開した計算処理
* @param isAdd true 加算 false 減算
* @param x 加算又は減算される基準値
* @param y 加算又は減算値
* @return 計算結果(isAddがtrueの場合は加算、falseの場合減算)
*/
private int calc(boolean isAdd , int x , int y ){
int result = 0;
if( isAdd ){
result = x + y;
} else {
result = x - y;
}
return result;
}
上の ternaryLogicメソッドとcalcメソッドは、処理内容が全く変わりません。 構文の表記上の違いです。
三項演算子は、上記サンプルのようにプログラミング量を減らす代替構文なので、無理に1行に収めるために利用する必要は全くありません。
私の経験的な指針です。三項演算子のtrue又はfalseの評価式が単純な場合で将来要件が増えそうに無い場合には、三項演算子を利用しています。
評価式が複雑になる場合や評価式の要件が将来増えそうな場合には、if文で記載しています。
大規模なシステムで開発する場合には、予めルールを決めておいた方がソースコードの記述形式にばらつきが無くなります。