OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Java言語規定にあるプログラム例についての疑問

  • 暇なときにでも
  • 質問No.237121
  • 閲覧数93
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

Java言語規定にもあるプログラムの書式なのですが一つ解らないところがあるので質問させてください。
http://www.y-adagio.com/public/standards/tr_javalang/1.doc.htm#11484
のソース内に
System.out.print(i == 0 ? args[i] : " " + args[i]);
というのがありますが
>i == 0 ? args[i] :
この使用法が全くわかりません。
プログラミングはN88-BASICからほとんどの言語(COBOLを除く)を使用してきましたし、Java自体プログラムを組んだ事があるのですが、はじめてみる構文です。
この構文を説明しているサイトもしくは使用方法、どのような時に使用するのが良いか(出来れば例が欲しいです。)をご存知の方。回答よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 24% (357/1463)

三項演算子ですね。
条件式 ? 式1 : 式2
という式で、条件式がtrueならば式1が、falseならば式2が
評価されるというものです。元々C言語に特有の記述方法で、他の古い
プログラム言語には見られなかったものですが、Cの系統を引くC++
やJavaには取り入れられています。
お礼コメント
noname#6248

三項演算子ですね、おかげですっきりしました。
普段BASICやFORTRAN等の知識から迷わずに
if(){}else{}を使用していました…

そういえばFORTRANでこれに似た書式があったような…
IF(条件式)正の時の処理,0の時の処理,負の時の処理
…違う気がする…

今まで参考書を見ても載っていなかったんですよね…
(読み飛ばしてしまっただけのような気もしていますが…)
マイナーな使用方法なのかな…

回答ありがとうございました。
投稿日時 - 2002-03-18 17:13:58
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 46% (30/65)

i==0がtrueならargs[i]、falseなら" " + args[i]という意味です。 同じ文法はCにもあります。 コマンドラインを組み立てる(引数を繋げて行く)にあたり、 2つ目以後(i==0でない場合)は空白を挟みたい、という主旨だと 思います。 ...続きを読む
i==0がtrueならargs[i]、falseなら" " + args[i]という意味です。
同じ文法はCにもあります。
コマンドラインを組み立てる(引数を繋げて行く)にあたり、
2つ目以後(i==0でない場合)は空白を挟みたい、という主旨だと
思います。
お礼コメント
noname#6248

早速の回答ありがとうございます。
区切り方を間違えていたようですね…
納得しました…
ありがとうございます。
投稿日時 - 2002-03-18 17:03:54


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ