[javasterdi]6Javaベース(5)


Javaベース


1.算術演算子


|算術演算子(+、-、*、/、%)

1.1加算演算子


|演算子の左右の値を加算する演算子
int a = 3;
int b = 4;
System.out.println(a+b);    // 7

1.2マイナス記号演算子


|演算子左側の値から右側の値を減算する演算子
int a = 10;
int b = 4;
System.out.println(a-b);    //6

1.3乗算演算子


|演算子の左の値と右の値を乗算する演算子
int a = 3;
int b = 6;
System.out.println(a*b);    //18

1.4除算演算子


|演算子、除算を行った分を返します
int a = 17;
int b = 3;
System.out.println(a/b);    //5

1.5残りの演算子


|演算子、除算の実行時に発生した残りの部分を返します.
int a = 17;
int b = 3;
System.out.println(a%b);    //2

2.ビット演算子


|ビット演算用演算子

2.1&演算子


|同じ位置のビット間で両方が1であれば、1,ANDを計算する
A   = 10110001
B   = 11011101
---------------
A&B = 10010001

2.2|演算子


|同じ位置のビット間に1ビットがある場合は、1,OR
A   = 10110001
B   = 11011101
---------------
A|B = 11111101

2.3^演算子


|同じ位置のビット間に1つしかない場合は、1,XORを計算する
A   = 10110001
B   = 11011101
---------------
A^B = 01101100

2.4~演算子


|置換ビットの0と1
~10110001 = 01001110

3.関係演算子


|比較演算子とも呼ばれ、関係演算子の結果はbooleanデータ型として返されます.
演算自己エネルギー演算の例">"左の項目が大きいと真、または偽のnum>3を返します;"<"左の小は真、または偽はnum<3を返します;'>=左のアイテムが右のアイテムより大きいか等しい場合は、真または偽のnum>=3を返します.「<=」左のアイテムが右のアイテムより小さいか等しい場合は真であり、そうでない場合はnum<=3;"="を返します.2つのアイテムの値が同じ場合は真です.そうでない場合はnum=3を返します.「!=」2つのアイテムが異なる場合は真、そうでない場合はnumを偽で返します!=3;

4.論理演算子


|比較演算子によって導出されたtrue/falseの論理組合せ
演算磁気演算例「&」「両方が本物であれば真、そうでなければ偽戻りval=(5>3)&(5>2);」ll「もし2つの港のうち1つが本物だったり、偽の返却val=(5>3)」!マジでマジでマジで変わるval=!(5>3);

5. instanceof


|検証対象タイプの演算子に変換できるかどうか
結果
  • true/falseで
  • を返す
  • は、主に継承関係において親オブジェクトか子オブジェクトかを決定するために使用される.
  • は、オブジェクトインスタンスクラス宣言
  • として使用されます.
  • 簡単に言えば、このクラスが自分の家に適しているかどうかを確認することです.
    Parent parent = new Parent();
    Child child = new Child();
    
    System.out.println( parent instanceof Parent );  // true
    System.out.println( child instanceof Parent );   // true
    System.out.println( parent instanceof Child );   // false
    System.out.println( child instanceof Child );   // true
  • 最初の場合、両親は自分の家を見つけました.true
  • 2つ目の場合、子供は相続した両親の家を見つけ、true 第
  • 第3の場合、両親は子供の家を見つけた.false
  • 第4の場合、子供は自分の家を見つけました.true
  • 6.代入(=)演算子(代入演算子)


    |左側のルールに右側の値を代入する演算子
  • の右側の値を左側に代入すると、右側の値は変わらないが、左側の変数は
  • 変わらない.
  • デフォルトでは、左側と右側のデータ型が同じ場合に
  • を使用できます.
    int a = 100;    // a에 100 대입
    int b = 50; //b에 50 대입

    7.矢印(->)演算子


    |匿名関数と呼ばれるランダが現れるときに使用される演算子

    7.1ランダ関数は何ですか。


    |用語「匿名関数」(Anonymousfunctions)

    7.1.1匿名関数とは何ですか。


    |関数名のない関数

    7.2ランダ式は?


    |識別子を持たない実行可能関数
  • 関数ですが、関数を作成するのではなく、1行のコードに関数呼び出しを記述します.

    7.3ラム茶の使い方

  • (パラメータリスト)->関数体
  • ()->「関数体」
  • (パラメータ)->関数体
  • (パラメータ)->0を返します.
  • (int x) -> x+1
    (x) -> x+1
    x -> x+1
    (int x) -> { return x+1; }
    x -> { return x+1; }

    7.4 ram多項式の例


    7.4.1既存Java構文

    new Thread(new Runnable() {
       @Override
       public void run() { 
          System.out.println("Hello"); 
       }
    }).start();

    7.4.2ラム多式文法

    new Thread(()->{
          System.out.println("Hello");
    }).start();

    8.三項演算子


    |if/else構造の条件演算子

    8.1三項演算子のフォーマット

    (조건식) ? 피연산자1(true일경우):피연산자2(false일경우)  
    ブール条件が真の場合、演算子1
    boolean条件が偽の場合、演算子2

    8.23演算子の例


    3つの演算子を使用する場合
    int a1 = (5>4) ? 50 : 40; // 조건식이 true이므로 a1은 50
    if-else文を使用する場合
    int a2 = 0;
    if(5>4){
        a2 = 50;
    }
    else{
        a2 = 40;
    }

    9.演算子優先度


    優先演算子タイプ演算子例1カッコ()[]2プリアンブル++a,--b 3演算子+,=,*,/,%4切替演算子<,>>など5つの比較演算子<,<=,>,>=,=,=,=6個の接尾辞演算子a++、b=、-=、*=、/=など

    10.Java 13,switch演算子

  • java 12からスイッチ演算子
  • の追加を開始
    [Java 12]

  • ->(矢印)は、データが存在する場合に戻ります.

  • ->フレーズbreakを使用します.書かなくても次のcase文には移動しません.

  • ->表現の右側は必ずしも単一の実行ではありません.ブロック内で作業することもできます.
  • [Java 13]
  • 生産量の増加予約語
  • 収量xはxが
  • に戻ることを示す.
  • 生産量は予約語であるが、変数名として
  • を用いることができる.
     int num = 1;
            int returnNum = 0;
            switch(num){
                case 1:
                    returnNum = 1;
                    System.out.println("1");
                    break;
                case 2:
                    returnNum = 2;
                    System.out.println("2");
                    break;
                case 3:
                    returnNum = 3;
                    System.out.println("3");
                    break;
            }
    古いjava switch caseの問題
  • 不要冗長
  • エラー発生時に
  • をデバッグすることが困難である.
      returnNum = switch(num){
                case 1 -> 1;
                case 2 -> 2;
                default -> throw new IllegalStateException("Unexpected value: " + num);
            };
      returnNum = switch(num){
                case 1 : yield 3;
                default : throw new IllegalStateException("unexpected value : " + num);
            };