Javaの:演算子

2017年11月

オペレータは何ですか?


オペレータはすなわち、変数を操作することができますシンボルで操作を実行、評価、...演算子のいくつかの種類があります。

  • 計算演算子
  • 代入演算子
  • インクリメント演算子
  • 比較演算子
  • 論理演算子
  • (ビット単位の演算子)
  • (ビット回転演算子)

計算演算子


計算演算子は、数学的に変数の値を変更することができます


OpérateurDénominationEffetExempleRésultat(INT X = 7)
+加算演算子2つの値を追加します。X + 310
-減算演算子2つの値を減算3-x4
*乗算演算子2つの値を乗算しX * 321
/除算演算子2つの値の除算の商を計算しますX / 32
オペレータの合同2つの値の除算の残りを計算X%31
=代入演算子変数に値を代入しますX = 3変数xに値3を設定します。

代入演算子


これらの演算子は、次のような操作を簡素化することができます 変数に値を追加し、結果を変数に格納し.
例えば、以下のような操作は、通常の書き込み: X = X + 2
代入演算子を使えば、次のようにこの操作を記述することが可能です。X + = 2
xの値が操作の前に7だった場合このように、それは後に9になります...

同じタイプの他の演算子は以下のとおりです。


オペレータの効果
+=変数に二つの値格納結果を加算し(左)
-=2つの値を減算し、結果を変数に格納します
* =2つの値を乗算し、結果を変数に格納します
/ =2つの値を分割し、変数に商を格納します
%=2つの値を分割し、変数に余りを格納

インクリメント


オペレータのこのタイプは、簡単に一つの変数によって増減することができます。これらの演算子は、カウンタ(一つずつ変数増加)を必要とするループのような構造のために非常に有用です。

演算子の種類 X ++ このような重い表記を置き換えることができます X = X + 1 若しくは + X = 1

演算子名エフェクト構文結果(int型のx = 7)
++インクリメント変数をインクリメントしますX ++や++ X8
--デクリメント1つのユニット変数によって減少x--または--x6


注:X ++といくつかの操作を組み合わせる場合++ xが感じられるとの差を。
X ++ xの値を用いて、次に1と、その後X ++と第1添加し、その結果を使用して。これは、x-- --xとも同じです。

(X = 7)例
  • INT Y = Xを++。 7に初期化され、次いで、xは8にインクリメントされます
  • INT Y = Xを++。 xは8にインクリメントされ、yは8に初期化されます。

比較演算子


OpérateurDénominationEffetExempleRésultat
==
代入記号と混同してはなりません=
等価演算子値を比較し、これらの平等をチェックしますX == 3収益 xはそれ以外の場合は、3の場合
<厳格な劣等演算子変数が値よりも確実に低いことを確認し X<3収益 Xは、そうでなければ、3未満である場合
<=劣等のオペレータ変数が値以下であることを確認 X<= 3収益 xがあれば、より少ない又は3に等しい場合
>厳格な優位性のオペレータ変数が値よりも厳密に大きいことを確認 X>3収益 Xは、そうでなければ、3よりも大きい場合
>=優位性のオペレータ変数が値以上であることを確認 X>= 3収益 xがあれば、3以上である場合
!=差分演算子変数の値が異なっていることを確認し X!= 3収益 Xは、そうでなければ、3と異なる場合

論理演算子(ブール)


いくつかの条件に該当するかどうかをチェックするオペレータのこのタイプ:

OpérateurDénominationEffetSyntaxe
||論理和(OR)収益 2つの条件の少なくとも一方があれば (または そうでない場合)条件1 ||条件2
&&論理AND収益 両方の条件が適用された場合 (または そうでない場合)条件1 && 条件2
!論理否定収益 変数がある場合 , と それは価値があるかどうか !条件


注意:計算の結果を決定するために、すべてのテストを行うには必ずしも必要ではありません。
たとえば、結果の (真|| X), まだ価値があります どんなxの値。
Javaの計算を節約するために、左から値を評価ことは興味深いことです。

ビットごとの演算子


あなたはそれが重要ではありませんこれらの演算子を理解していない場合は、おそらくユーティリティではないでしょう。理解したい人のために、次の章に進んでください:

  • バイナリの理解
  • データの表現
  • アセンブリ内の算術および論理命令


オペレータのこのタイプではなく、小数点データ、16進数またはオクタルのバイナリデータとしてのオペランドを扱います。これらの演算子は、それらのバイナリ表現に応じた情報を処理するが、その元の形式で数値基準を返します。

次の演算子は、ビット単位の操作を行う、すなわち、同一ビットと言うことです。

OpérateurDénominationEffetSyntaxeRésultat
&そして、ビットごと同じ重量の2ビットが1である場合に1を返し9 & 12(1001 & 1100年)8(1000)
|包含的OR一つまたは同じ重量の2ビットの他方が1である場合に1を返し(または両方)9 | 12(1001 | 1100)13(1101)
^XOR同じ重量の2ビットのいずれかが1である場合に1を返し(両方ではありません)9 ^ 12(^ 1100 1001)5(0101)

ビット回転オペレーター


あなたはそれが重要ではありませんこれらの演算子を理解していない場合は、おそらくユーティリティではないでしょう。理解したい人のために、次の章に進んでください:

  • バイナリの理解
  • データの表現
  • アセンブリ内の算術および論理命令


オペレータのこのタイプではなく、小数点データ、16進数またはオクタルのバイナリデータとしてのオペランドを扱います。これらの演算子は、それらのバイナリ表現に応じた情報を処理するが、その元の形式で数値基準を返します。

以下の演算子はビットに回転を行い、それが左または右にビット数の各ビットをシフトさせるということです。第一オペランドがオフセットするつもりされているデータを参照し、第二は、それが変位されるビットの数を指定します。

OpérateurDénominationEffetSyntaxeRésultat
<<左回転(各シフトに2を乗じた)左にビットシフトします。ゼロが適切に挿入されながら、左に出てくるビットが失われます6 << 1(110 << 1)12(1100)
>>記号の保全と時計回り右(各シフトにおける2分周)にビットをシフトします。最も重要な非ゼロのビットを左にコピーされながら右に出てくるビットは、失われます6 >> 1(0110 >> 1)3(0011)
>>>ゼロパディングと時計回りに回転右(各シフトにおける2分周)にビットをシフトします。ゼロが左に追加されながら右に出てくるゼロは、失われています3 >>> 1(0011 >>> 1)1(0001)

優先順位


1は、いくつかの演算子を組み合わせた場合は、コンパイラは、ここでは、治療の順序を知っていることが必要です 降順 すべての演算子の優先順位:

演算子の優先順位++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
()[].
--++!- (オペランド)+ (オペランド)(鋳造)新しいです
*/
+-
<<>>>>>
<<=>=>instanceofは
==!=
&
^
|
&&
||
?
=+=-=* =/ =%=&=
<<=>>=>>>=^ =| =
,

参照してください。


この記事(PDF)をダウンロード
この記事をダウンロードする(PDF