ビデオ: 【Javaプログラミング入門 #6】演算子(算術演算子/代入演算子/関係演算子/論理演算子) ※1.5倍速での再生を推奨 2024
Javaが特定の操作を実行するために使用するシンボルをどのように解釈し、どのような順序で解釈するかを知ることは不可欠です。それ以外の場合は、ある結果を念頭に置いてアプリケーションを作成し、全く異なる結果を得ることができます。 Javaが使用するシンボルをどのように解釈するのか疑問がある場合は、この表の情報を参考にして助けてください。
演算子 | 説明 | 結合性 | 1 |
---|---|---|---|
[] | アクセスする配列要素を指定するための配列インデックス。 | 左 | 1 |
() | メソッド呼び出しまたはグループ化。グループ化は、演算子との相互作用のための通常の規則を変更すること、特に乗算の前に加算を行うことなど、 | では特に重要です。
左 1 |
。 |
オブジェクトのメンバーと対話するために使用されたメンバーアクセス。 | 左 | 2 | ++ |
接頭辞または接尾辞の増分。 | 変数に1の値を追加します。 | 右
2 |
- |
接頭辞または接尾辞の減少。 | 変数から値1を削除します。右999 + 999- | 単項プラスまたはマイナス。変数の符号を設定します。デフォルトで変数が正であるため、プラスの
演算子は使用されません。 |
マイナス演算子は変数を否定します。 |
Right | 2
〜 |
単項ビット単位Not演算子は、変数のビットを反転します。
という言い方をすれば、それは変数をそれとは逆のものにする。 例では、a(2進数00000101)は-6(2進数911111010)になります。 |
右 |
2 | ! | 単項ブール演算子は、ブール評価で
右 2 (type) |
変数の型を別の |
型に変更するキャストを実行します。 | 右 | 2
new |
提供されたクラスに基づいて新しいオブジェクトを作成します。 乗算、除算、および剰余演算を実行する |
。 | 左 | +
- |
加算および減算演算を実行する。 |
Left | 4 | + | 2つの文字列を連結して1つの文字列を生成します。 |
左 | 5
<<< 999 >>> >>>> アプリケーション開発にはほとんど使用されないビットシフト演算子。これらの演算子についての議論は、この本の範囲を超えています。 |
左
6 999 |
<= |
2つの値の論理比較を | 以下で行います。
左 |
6 | |
= | より大きいまたは等しいかそれ以上の2つの値の論理比較を実行します。 | Left | |
6 | instanceof
オブジェクトが特定の クラスのインスタンスであるかどうかをテストします。 |
Left
7 == |
2つの値が正確に等しいかどうかを判定します。 |
左 | 7
! = |
2つの値が等しくないかどうかを判定します。
Left |
8 999および |
2つの値を組み合わせたビット単位のAND演算。 | この演算子の説明は、この本の範囲外です。
Left |
8
& |
2つの論理評価の結果を組み合わせた論理AND演算。多くの場合、評価全体が真であるためには、条件Aと条件Bの両方が真でなければなりません。 |
Left 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 995 | この演算子についての議論は、この | 本の範囲外です。
Left |
9 |
^ | 2つの論理評価の結果を組み合わせた論理XOR演算。真であるためには、条件Aまたは条件B | のいずれかが真でなければならないが、両方が真でなければならない。 | Left |
10 | | | 2つの値を組み合わせたビット単位のOR演算。 | この演算子の説明は、この本の範囲外です。 |
Left | 10 | |
2つの論理評価の結果を組み合わせた論理OR演算。真であるためには、条件Aまたは条件B、または |
が真でなければならない。 |
Left | 11 | &&
両方の式の真理値を決定する論理式の一部として使用される論理AND演算。式全体が真であるためには、両方とも が真でなければなりません。 |
Left |
12 | || | 両方の式の真理値を決定する論理式の一部として使用される論理OR演算。式全体を真にするには、
または両方をtrueにする必要があります。 左 |
13 |
? : | 条件付き評価を実行します。詳細については、この章の | リレーショナル演算子と条件演算子の使用 "を参照してください。
右 14 |
= |
指定された値を変数に代入します。 == = = = = 999 <> = >>> = 999&= ^ = | = | 結合された操作と割り当て。 Javaは、追加などの要求された | 操作を実行し、その結果を
変数に割り当てます。 |
結合された代入演算子には、ビット単位の演算を実行する多数の演算子 |
が含まれています。これらの演算子については、本書の範囲外の | です。 | 右
<! - 1 - > JavaがOperators列に表示されるシンボルを解釈する厳密な順序を定義するため、Priority列がおそらく最も重要です。テーブルの上位の演算子は、常にテーブルの下位の演算子よりも優先されます。 |
「連合性」の欄も重要です。ほとんどの場合、Javaはシンボルを左から右に解釈します。つまり、シンボルは左辺の |
アソシアティビティを持ちます。 | しかし、いくつかのケースでは、オペレータは右から左に動作します。 | <!たとえば、=演算子を使用すると、Javaは演算子の右側の情報を最初に解釈し、その結果を演算子の左側のオペランドに代入します。したがって、右から左へのフローで、=演算子は右結合になります。
Associativity は、バイナリ演算の要素がどのように相互作用するかを定義する数学用語です。ほとんどの場合、Javaは左結合性を使用します。それは、オペレータのグループの左側から始まり、右側に向かって動作します。 |
<!たとえば、1 + 2 + 3を方程式とすると、Javaは1と2を最初に追加し、最初の操作の結果に3を追加します。括弧を使用して連想を制御できます。数学の記事。 comはこのトピックに関する詳細情報を提供しています。 |