JavaA2Z

KAB-studio > プログラミング > JavaA2Z > &&演算子とは

&&演算子

日本語 論理積演算子
英語 logical and operator
ふりがな あんどあんどえんざんし、あんぱさんどあんぱさんどえんざんし、ろんりせきえんざんし
フリガナ アンドアンドエンザンシ、アンパサンドアンパサンドエンザンシ、ロンリセキエンザンシ

解説

論理積」を演算子
 
二項演算子のひとつ。
論理演算のひとつ「論理積」を演算子
オペランドともtrueの場合にのみtrueを、それ以外はfalseを返す。
オペランドにはbooleanのみ使用することができ、戻り値booleanである。
一般にif等のステートメントの条件式に使用する。
論理和」を演算子は「||演算子」である。
 
&&演算子は「ショートサーキット」がわれる演算子である。
左オペランド評価した結果がfalseの場合、右オペランドの結果に関わらず結果はfalseとなる。そのため、この場合には右オペランド評価がされない。
右オペランドで何か処理をっている場合、その処理そのものがわれない。ショートサーキットされることを知っていない場合、処理されるはずなのに処理されない、ということになるため注意すること。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // &&を使用します。
        // いわゆる「論理積」を計算します。
        boolean b;
        b = true && true;
        System.out.println( b );
        // true

        b = true && false;
        System.out.println( b );
        // false

        b = false && true;
        System.out.println( b );
        // false

        b = false && false;
        System.out.println( b );
        // false

        // boolean型以外は使用できません。
        // b = true && 1;
        // コンパイルエラー:
        // 演算子 && は引き数の型 boolean, int で未定義です。

        // &&演算子はショートサーキットが行われます。
        b = false && getTrue();
        // この時、getTrue()は呼ばれません。
        // &&演算子は左オペランドから評価します。そして、
        // 左オペランドがfalseの場合、右オペランドに関わらず
        // 結果はfalseとなるため、右オペランドは評価されないわけです。
    }

    /**
    *   ショートサーキットテスト用メソッド。
    */
    private static boolean getTrue()
    {
        System.out.println( "Sample#getTrue()" );
        return true;
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // &&を使用します。
        // いわゆる「論理積」を計算します。
        boolean b;
        b = true && true;
        System.out.println( b );
        // true

        b = true && false;
        System.out.println( b );
        // false

        b = false && true;
        System.out.println( b );
        // false

        b = false && false;
        System.out.println( b );
        // false

        // boolean型以外は使用できません。
        // b = true && 1;
        // コンパイルエラー:
        // 演算子 && は引き数の型 boolean, int で未定義です。

        // &&演算子はショートサーキットが行われます。
        b = false && getTrue();
        // この時、getTrue()は呼ばれません。
        // &&演算子は左オペランドから評価します。そして、
        // 左オペランドがfalseの場合、右オペランドに関わらず
        // 結果はfalseとなるため、右オペランドは評価されないわけです。
    }

    /**
    *   ショートサーキットテスト用メソッド。
    */
    private static boolean getTrue()
    {
        System.out.println( "Sample#getTrue()" );
        return true;
    }
}

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2006/01/17
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。