||演算子
日本語 | 論理和演算子 |
英語 | logical or operator |
ふりがな | たてぼうたてぼうえんざんし、ぱいぷぱいぷえんざんし、ろんりわえんざんし |
フリガナ | タテボウタテボウエンザンシ、パイプパイプエンザンシ、ロンリワエンザンシ |
「論理和」を行う演算子。
二項演算子のひとつ。
論理演算のひとつ「論理和」を行う演算子。
どちらかのオペランドがtrueの時にtrueを、それ以外はfalseを返す。
オペランドにはboolean型のみ使用することができ、戻り値の型もboolean型である。
一般にif等のステートメントの条件式に使用する。
「論理積」を行う演算子は「&&演算子」である。
||演算子は「ショートサーキット」が行われる演算子である。
左オペランドを評価した結果がtrueの場合、右オペランドの結果に関わらず結果はtrueとなる。そのため、この場合には右オペランドの評価がされない。
右オペランドで何か処理を行っている場合、その処理そのものが行われない。ショートサーキットされることを知っていない場合、処理されるはずなのに処理されない、ということになるため注意すること。
二項演算子のひとつ。
論理演算のひとつ「論理和」を行う演算子。
どちらかのオペランドがtrueの時にtrueを、それ以外はfalseを返す。
オペランドにはboolean型のみ使用することができ、戻り値の型もboolean型である。
一般にif等のステートメントの条件式に使用する。
「論理積」を行う演算子は「&&演算子」である。
||演算子は「ショートサーキット」が行われる演算子である。
左オペランドを評価した結果がtrueの場合、右オペランドの結果に関わらず結果は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 );
// true
b = false || true;
System.out.println( b );
// true
b = false || false;
System.out.println( b );
// false
// boolean型以外は使用できません。
// b = true || 1;
// コンパイルエラー:
// 演算子 || は引き数の型 boolean, int で未定義です。
// ||演算子はショートサーキットが行われます。
b = true || getTrue();
// この時、getTrue()は呼ばれません。
// ||演算子は左オペランドから評価します。そして、
// 左オペランドがtrueの場合、右オペランドに関わらず
// 結果はtrueとなるため、右オペランドは評価されないわけです。
}
/**
* ショートサーキットテスト用メソッド。
*/
private static boolean getTrue()
{
System.out.println( "Sample#getTrue()" );
return true;
}
}
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 );
// true
b = false || true;
System.out.println( b );
// true
b = false || false;
System.out.println( b );
// false
// boolean型以外は使用できません。
// b = true || 1;
// コンパイルエラー:
// 演算子 || は引き数の型 boolean, int で未定義です。
// ||演算子はショートサーキットが行われます。
b = true || getTrue();
// この時、getTrue()は呼ばれません。
// ||演算子は左オペランドから評価します。そして、
// 左オペランドがtrueの場合、右オペランドに関わらず
// 結果はtrueとなるため、右オペランドは評価されないわけです。
}
/**
* ショートサーキットテスト用メソッド。
*/
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 ); // true b = false || true; System.out.println( b ); // true b = false || false; System.out.println( b ); // false // boolean型以外は使用できません。 // b = true || 1; // コンパイルエラー: // 演算子 || は引き数の型 boolean, int で未定義です。 // ||演算子はショートサーキットが行われます。 b = true || getTrue(); // この時、getTrue()は呼ばれません。 // ||演算子は左オペランドから評価します。そして、 // 左オペランドがtrueの場合、右オペランドに関わらず // 結果はtrueとなるため、右オペランドは評価されないわけです。 } /** * ショートサーキットテスト用メソッド。 */ private static boolean getTrue() { System.out.println( "Sample#getTrue()" ); return true; } }