【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷




―Javaプログラミングの前提知識―

@ITハイブックス編
2003/3/27
Javaプログラミング
ワンポイントレクチャーについて

   条件式の評価

   ワンポイントQuestion

 次のプログラムを実行したときの結果として正しいものはどれですか? (単一選択)

class q23 {
  public static void main(String[] args) {
    int x = 1;
    int y = 2;
    int z = 3;
    if (x > y || (x+y) > z)
      System.out.println("A");
    else if (x < (z-y) && x < y)
      System.out.println("B");
    else if (x == y || y == z || z == x)
      System.out.println("C");
    else {
      x += x < y ? y+z : x+z ;
      System.out.println(x);
    }
  }
}


A A
B B
C C
D 4
E 5
F 6
G 7

   条件式の評価

 if,else文や、for、while、do-whileループ文では、条件判定として、数値ではなくboolean式を利用します。boolean型で表現できる値は、trueまたはfalseのリテラル値になります。C/C++言語のように、数値を条件判定として利用することはできません。また、boolean型と整数型との間でのキャストはできません。

int month; // 月
:
if ( month >= 4 ) {
  処理1;
}
:

 この例では、int型の変数monthが4以上の場合、処理1が実行されます。

・条件論理演算子 && (AND)
 &&演算子では、その左辺を最初に評価してその値がfalseであれば、このboolean式の値はfalseとしてその右辺は評価しません。左辺の値がtrueであれば、その右辺を評価してその値をこのboolean式の値とします。

・条件論理演算子 || (OR)
 ||演算子では、その左辺を最初に評価してその値がtrueであれば、このboolean式の値はtrueとしてその右辺は評価しません。左辺の値がfalseであれば、その右辺を評価してその値をこのboolean式の値とします。

int month; // 月
:
if ( month < 4 || month >= 10 ) {
処理1;
}
:

 この例では、int型の変数monthが4未満、または10以上の場合、処理1が実行されます。

・条件演算子 ?:
 条件演算子?:は、2つの式のどちらを評価するか決定するために、1つの式のboolean値を利用します。

・条件式 ? trueの場合の値 : falseの場合の値
 最初の式はboolean式である必要があり、最初に評価されます。そして、そのboolean値を2番目または3番目の式のどちらを選択するかに使用します。

 また、z ? y : x ? w : v ? u : tは、z ? y : (x ? w : (v ? u : t))と同じです。

POINT

Java言語では、条件判定にboolean型を使用します。C言語では、整数0をfalse、0以外をtrueとして利用できるため、特にCプログラマの方は注意してください。


   ワンポイントQuestionの解答

正解 F

Java2ラーニングブック −310-035 編−

本記事は@ITハイブックスシリーズ「Java2ラーニングブック −310-035 編−」(技術評論社)から、一部の内容を編集し転載したものです。本書の詳細は「@ITハイブックス」サイトでご覧いただけます。

 

Javaプログラミング・ワンポイントレクチャー INDEX



ホワイトペーパーTechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  「仮想化工房」のマイスターが選んだのは
VMware、Hyper-V、そしてVirtageだった!

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?