【改訂版】Eclipseではじめるプログラミング
連載インデックスへ
【改訂版】Eclipseではじめるプログラミング(2)

Javaで一から理解するプログラムの変数と演算子


株式会社ガリレオ
小山博史
2009/2/10


「かつ」「または」を表す論理演算子

 プログラムで、入力されたユーザー名とパスワードが、両方とも正しいかどうかを計算したいことがあります。こういった計算は、ユーザー名が正しいかどうかの結果をboolean型変数のxに代入し、パスワードが正しいかどうかの結果をboolean型変数のyに代入し、xとyに関する論理式「x かつ y」の値がどうなるのかを計算するということになります。

 こういった計算が簡単にできるように、Javaでは論理演算子も用意されています。「かつ」という論理積を表す演算子は「&&」となります。xとyの値が両方ともtrueのときだけ「xかつy」の値はtrueとなります。xの値がtrueで、yの値がfalseのときは、「xかつy」の値はfalseとなります。論理積の一覧を表2に示します。

表2 論理積
x y x && y 評価結果
true true true
true false false
false true false
false false false

 論理積以外の論理演算子としては、「または」という論理和を表す演算子があります。論理和演算子は「||」となります。xの値かyの値のどちらかがtrueのとき、「xまたはy」の値はtrueとなります。xの値がfalseで、yの値がfalseのときは、「xまたはy」の値はfalseとなります。論理和の一覧を表3に示します。

表3 論理和
x y x || y 評価結果
true true true
true false true
false true true
false false false

 加減乗除の式を使ったプログラムを作ってみよう

 これもリスト6のようにPrintクラスへ処理を追加します。赤字色の部分が追加した分です。加減乗除の四則演算と一通りの論理演算を実行するようにしました。

リスト6
public class Print {

    /**
    * @param args
    */

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(0);
        int i;
        i = 1;
        System.out.println(i);
        boolean b;
        b = true;
        System.out.println(b);
        System.out.println(1+2);
        System.out.println(5+i*3);
        System.out.println(3-5);
        System.out.println(12/5);
        System.out.println(12.0/5.0);
        System.out.println(false && false);
        System.out.println(b && false);
        System.out.println(b && true);
        System.out.println(false || false);
        System.out.println(b || false);
        System.out.println(b || true);

    }
}

答えは合っていますか?

 プログラムを入力し終わったら、Eclipseの[ファイル]→[保管]でファイルを保存してから、[実行]→[実行]→[Javaアプリケーション]を指定して実行してみましょう。図4のように出力されれば成功です。

図4 リスト6の実行結果
図4 リスト6の実行結果

 1+2の計算結果「3」などが出力されているはずです。また、12/5の計算結果が「2」となっているのに対し、12.0/5.0の計算結果が「2.4」となっていることが確認できるはずです。論理演算が初めての読者は表2・3とリスト6や図4をよく見比べて結果の確認をしてみてください。

次回は、プログラム処理の流れを“制御”する方法

 今回は、変数と型について解説をしました。「操作の途中で計算している値が変わるようなプログラムを作成するには変数を使えばよい」ということ、型とは「メモリをどのように利用するかを指定するためのもの」であることを理解できたでしょうか。

 型については、基本中の基本しか解説しませんでしたが、論理値や整数値、実数値を扱えるようになったはずです。また、式と演算についても解説しました。これらの事項を理解していれば、簡単な数値計算をコンピュータへ処理させることができます。

 次回はプログラム処理の流れを“制御”する方法について学びます。処理の流れを制御する方法にはいくつかありますので、順番に説明をしていきます。まずは「条件によって処理を分岐する方法」である条件分岐処理について解説する予定です。

@IT関連記事


“たい焼き”であま〜く理解するJava文法と言語仕様
携帯アプリを作って学ぶJava文法の基礎(3) 
初心者がJava言語を学ぶうえで最も困難なものの1つ、クラスやインスタンス、メソッドなどの概念をたい焼きで理解しましょう
Java Solution」フォーラム 2008/3/12
Javaの変数の本質を知る
[連載]いまから始めるJava(2)
 変数は地味なテーマだが、変数の本質を理解すればJavaの「クラス型」「参照型」の理解が格段にスピードアップ。まずは変数を押さえよう!
Java Solution」フォーラム 2002/11/29
ActionScriptの変数や型、配列、演算子を理解する
Flashの基礎を無料で習得! ActionScript入門(2) 変数や型、配列、演算子などプログラミングの基本について理解できてますか? ActionScriptを通じて身に付けましょう
リッチクライアント & 帳票」フ ォーラム 2008/2/7
変数のデータ型や文字列の扱いを理解しよう
Cocoaの素、Objective-Cを知ろう(4)
 Objective-Cの配列クラスの利用法を学ぼう。ループ処理の新機能「高速列挙」の使い方も解説する
Coding Edge」フ ォーラム 2008/12/15
JavaScriptにおける変数の宣言とスコープ
連載:JavaScriptプログラミング再入門 (3)
 暗黙的なデータ型、2種類のスコープなど、混乱しやすいポイントを中心にJavaScriptの「変数」についてまとめる
Insider.NET」フォーラム 2007/8/21
第5章 C#のデータ型
連載:改訂版 C#入門
 C#のデータ型は実によくできている。基本的なデータ型は構造体の別名であり、値型と参照型やボックス化により、軽量ですっきりしたコードが書ける
Insider.NET」フォーラム 2002/9/18

筆者プロフィール
小山博史(こやま ひろし)
情報家電、コンピュータと教育の研究に従事する傍ら、オープンソースソフトウェア、Java技術の普及のための活動を行っている。長野県の地域コミュニティである、SSS(G)bugs(J)の活動へも参加している。
著書に「基礎Java」(インプレス)、共著に「Javaコレクションフレームワーク」(ソフトバンククリエイティブ)、そのほかに雑誌執筆多数。

1-2-3
 

 Index
第2回 Javaで一から理解するプログラムの変数と演算子
  Page1
変数はプログラミングの基本中の基本
プログラム実行中に値が変わる数「変数」
参考 「もっと型を調べてみよう」
  Page2
変数を使ったプログラムを作ってみよう
コンピュータに“計算”をさせるための“式”と“演算子”
Page3
加減乗除の式を使ったプログラムを作ってみよう
次回は、プログラム処理の流れを“制御”する方法


【改訂版】Eclipseではじめるプログラミング バックナンバー 連載インデックスへ»



ご意見、ご感想はJava Solution 会議室へどうぞ

Java Solution全記事一覧



TechTargetジャパン

Java Solution フォーラム 新着記事

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

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

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

@IT Sepcial
ソリューションFLASH