||演算子
| 日本語 | 論理和演算子 |
| 英語 | 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;
}
}




