慣れるまで見づらいが便利な (式) ? 値1:値2;
プログラム言語は、英語の様で英語じゃないものが多いですね。
中には、記号ばかりで暗号のような言語もあります。
毎度、管理人イガジーです。
Javaは、C言語に似ているので、英語っぽく見えると思いますが
中には呪文のような文があります。例えば
c=(a>b)? a:b;
なんかが、そうですね。
これは
if (a>b) c=a;
else c=b;
と同じで、a と b を比べて大きい方を c に入れる処理です。
通常は、後者の if 文を書けば良いと思うのですが
例えば、GridLayout の指定で、「divnnが6より小さければ6、
6より大きければ、divnnをセットする」という処理を書くのに
Panel p0=new Panel(new GridLayout(((divnn<6)?6:divnn),1));
と書くと、1行で済みます。
もし、if 文で書くなら
int nn=divnn;
if (divnn<6) nn=6;
Panel p0=new Panel(new GridLayout(nn,1));
のようになるでしょう(これが悪いという訳ではありません)。
分かりやすさ、見やすさから行くと、if 文が良いと思います。
が、なんとなく、前者のような ? 文を使ってみたくなることもあるのですね。
便利と感じるかどうかは、好みもあるでしょうが、
値を渡すだけの場合は、? 文もイイんじゃないかな、と思ったのでした。
この記事へのコメントはこちら