慣れるまで見づらいが便利な (式) ? 値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 文が良いと思います。
が、なんとなく、前者のような ? 文を使ってみたくなることもあるのですね。

便利と感じるかどうかは、好みもあるでしょうが、
値を渡すだけの場合は、? 文もイイんじゃないかな、と思ったのでした。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)