[Java]演算子


1.被演算子の個数に応じて演算子を分割する
単項演算子:被演算子が存在します.EX) + x/- x/! x
2つの演算子:2つの被演算子が存在します.EX) x = y/x < y/x != y
3つの演算子:3つの被演算子が存在します.EX) condition : true ? false
2.代入演算子
代入演算子は、右側の結果を左に代入します.=は数学的には「右の値と左の値は等しい」を表すが、プログラミングでは「右の値が左に代入される」を表す.
  • プログラミングでは、「右値と左値が等しい」という意味は==である.
  • int x = 10;
    int y = 20;
    
    System.out.println(“x =+ x); // x = 10
    System.out.println(“y =+ y); // y = 20
    
    x = y;
    
    System.out.println(“x =+ x); // x = 20
    System.out.println(“y =+ y); // y = 20
    3.算術演算子
    演算子+プラスマイナス*乗算/除算(商)%除算(残り)
    int x = 10;
    int y = 20;
    
    System.out.println(“x + y =+ (x + y)); // x + y = 30
    System.out.println(“x - y =+ (x - y)); // x - y = -10
    System.out.println(“x * y =+ (x * y)); // x * y = 200
    System.out.println(“x / y =+ (x / y)); // x / y = 0
    System.out.println(“x % y =+ (x % y)); // x % y = 10
    4.複合割付演算子
    複合代入演算子は、算術演算子と代入演算子を組み合わせた演算子です.
    演算子+=加算→代入-=減算→代入*=乗算→代入/=除算→代入シェア%=除算→代入残高
    int x = 10;
    System.out.pirntln(“x += 10 :+ (x += 10)); // x += 10 : 20
    
    int x = 10;
    System.out.pirntln(“x -= 10 :+ (x -= 10)); // x -= 10 : 0
    
    int x = 10;
    System.out.pirntln(“x *= 10 :+ (x *= 10)); // x *= 10 : 100
    
    int x = 10;
    System.out.pirntln(“x /= 10 :+ (x /= 10)); // x /= 10 : 1
    
    int x = 10;
    System.out.pirntln(“x += 10 :+ (x += 10)); // x += 10 : 0
    5.関係演算子
    関係演算子は、2つの被演算子を比較することによって真/偽の結論を導く.
    演算子>a>baはbより大きく、対=a>=baはbより大きく、対<=a<=baはbより小さく、対=a=baはbに等しく、対!a != もしbaとbが違うなら本当に
    int x = 10;
    int y = 20;
    
    System.out.println(“x > y :+ (x > y)); // x > y : false
    System.out.println(“x < y :+ (x < y)); // x < y : true
    System.out.println(“x >= y :+ (x >= y)); // x >= y : false
    System.out.println(“x <= y :+ (x <= y)); // x <= y : true
    System.out.println(“x == y :+ (x == y)); // x== y : false
    System.out.println(“x != y :+ (x != y)); // x != y : true
    6.増減演算子
    1の増加または減少を行う.
    増減演算子の位置によって、被演算子の出力値が変化します.
    演算子++a 1でインクリメント->出力---a 1でインクリメント->出力++a++出力->1でインクリメント->出力->1でインクリメント->出力->1でインクリメント
    int x = 10;
    System.out.println(++x :+ (++x)); // ++x : 11
    
    int x = 10;
    System.out.println(--x :+ (--x)); // --x : 9
    
    int x = 10;
    System.out.println(“x++ :+ (x++)); // x++ : 10
    System.out.println(“x :+ x); // x : 11
    
    int x = 10;
    System.out.println(“x-- :+ (x--)); // x-- : 10
    System.out.println(“x :+ x); // x : 9
    7.論理演算子
    演算子&&a&&b論理積(AND):aとbはすべて本当である|a||b論理和:aとbのいずれも本当である!否定論理(NOT):aの状態を否定する
    boolean a = false;
    boolean b = true;
    
    System.out.println("a && b : " + (a && b)); // a && b : false
    System.out.println("a || b : " + (a || b)); // a || b : true
    System.out.println("!a : " + !a); // !a : true
    System.out.println("!b : " + !b); // !b : false
    8.条件(三項)演算子
    条件式の2つの被演算子の演算結果は残りの被演算子を決定する.
    条件式式1:式2
    →条件式が真であれば式1、条件式が偽であれば式2.
    int x = 10;
    int y = 20;
    int result = 0;
    
    result = (x > y) ? 100 : 200;
    System.out.println("result : " + result); // result  : 200
    
    result = (x < y) ? 100 : 200;
    System.out.println("result : " + result); // result : 100
    
    result = (x == y) ? 100 : 200;
    System.out.println("result : " + result); // result : 200
    9.ビット演算子
    データをビットに変換して演算することで、他の演算子よりも演算速度が速くなります.
    演算子&a&bAND演算子:aとbが1の場合、1|a|bOR演算子:aとbのいずれかが1の場合、1^a^bXOR演算子:aとbが異なる場合、1
    int x = 2; // 0 0 1 0
    int y = 3; // 0 0 1 1
    
    System.out.println("x & y : " + (x & y)); // x & y : 2 
    System.out.println("x | y : " + (x | y)); // x | y : 3
    System.out.println("x ^ y : " + (x ^ y)); // x ^ y : 1