[Java] Zusammenfassung der Operatoren (Operator)

Bedienertyp

Arithmetischer Operator

+ Betreiber

import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) throws Exception {
    System.out.println("a"+LocalDateTime.now()); //a2020-10-29T…
    }
}
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        var builder = new StringBuilder();
        for (var i=0;  i<100000; i++){
        	builder.append("mohu");
            //result += "mohu" ; 
        	}
        var result = builder.toString();
        System.out.println(result);
    }
}

Inkrement-Operator

Achten Sie beim Teilen auf den Typ

//NG **Da es sich um eine Berechnung zwischen Ganzzahlen handelt, ist das Ergebnis auch eine Ganzzahl**
System.out.println( 3 / 4 ); //0

//NG **Es ist der Zeitpunkt der Berechnung, der in eine ganze Zahl umgewandelt wird!**
double result = 3 / 4 ;
System.out.println(result); //0.0

//OK **Verdoppeln Sie explizit einen der Operanten
System.out.println( 3d / 4 ); //0.75

Behandlung von Null

//NG **Die Beschleunigung der Konstanten 0 ist ein Fehler**
System.out.println( 5 / 0 ); //0

//OK **Operant ist Gleitkomma**
System.out.println( 5d / 0 ); //Infinity(Unendlichkeit)

//OK 
System.out.println( 5d % 0 ); //NaN (Not a number:Nicht numerisch)

Achtung in der Gleitkomma-Arithmetik

System.out.println(Math.floor(( 0.7 + 0.1 )*10 )); //7.0
import java.util.*;
import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) throws Exception {
    var bd1 = new BigDecimal("0.7");
    var bd2 = new BigDecimal("0.1");
    var bd3 = new BigDecimal("10");
    System.out.println(bd1.add(bd2).multiply(bd3)); //8.0
    }
}

Aufgabenverwalter

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
    var x = 1;
    var y = x;
    x += 10;
    System.out.println(x); //11
    System.out.println(y); //1

    var builder1 = new StringBuilder("abc");
    var builder2 = builder1; //Adresse kopieren
    builder1.append("de");
    System.out.println(builder1.toString()); //abcde
    System.out.println(builder2.toString()); //abcde
    }
}

Substitution zu konstant

//NG Beispiel
final int VALUE = 10;
VALUE = 15; 
final int[] VALUES = { 10, 20, 30 } ;
//NG **Die Konstante selbst kann nicht neu zugewiesen werden
VALUES = new int[] { 10, 20, 30 } ; 

//OK
VALUES[0] = 100;
System.out.println(Arrays.toString(VALUES));  //[100, 20, 30]

Beziehungsoperator (Vergleichsoperator)

Unterschied zwischen == und gleich

var builder1 = new StringBuilder("neko");
var builder2 = new StringBuilder("neko");
System.out.println(builder1 == builder2); //false
var str1 = "neko";
var str2 = "neko";
System.out.println(str1 == str2); //true
System.out.println(str1 == "ne" + "ko"); //wahre Zeichenfolge(String-Objekt)Im Fall von wird davon ausgegangen, dass es sich um denselben Wert handelt

Vergleich der schwebenden Fraktionen

System.out.println( 0.2*3 == 0.6 ); //false
//BigDecimal
import java.util.*;
import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) throws Exception {
    var bd1 = new BigDecimal("0.2");
    var bd2 = new BigDecimal("4");
    var bd3 = new BigDecimal("0.8");
    System.out.println(bd1.multiply(bd2).compareTo(bd3)); //0
    }
}
//Rundungseinheit verwenden
public class Main {
    public static void main(String[] args) throws Exception {
    final double EPSILON = 0.00001;  //Garantiert bis zum 5. Platz
    var x = 0.2 * 4;
    var y = 0.8;
    System.out.println(Math.abs(x - y) < EPSILON); //true
    }
}

Sequenzvergleich

public class Main {
    public static void main(String[] args) throws Exception {
    var data1 = new String[] { "a", "b", "c" };
    var data2 = new String[] { "a", "b", "c" };
    
    var data3 = new int[][] {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 },
    };
    var data4 = new int[][] {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 },
    };
    
    System.out.println(Arrays.equals(data1, data2)); //true
    System.out.println(Arrays.deepEquals(data3, data4)); //true
    
    }
}
//Methode vergleichen
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
    var data1 = new int[] {1, 3};
    var data2 = new int[] {1, 2, 3};
    var data3 = new int[] {1, 2, 3};
    var data4 = new int[] {1, 3, 1};
    var data5 = new int[] {0, 0, 6};
    var data6 = new int[] {6, 0, 0};
    System.out.println(Arrays.compare(data1, data2)); //1
    System.out.println(Arrays.compare(data3, data4)); //-1
    System.out.println(Arrays.compare(data2, data3)); //0
    System.out.println(Arrays.compare(data3, data5)); //1
    System.out.println(Arrays.compare(data3, data6)); //-1
    }
}

Bedingter Operator (ternärer Operator)

public class Main {
    public static void main(String[] args) throws Exception {

    var age = 20;
    System.out.println(age >= 20 ? "aufgewachsen" : "Kinder"); //aufgewachsen

    }
}

Logischer Operator

Abkürzungsbetrieb (Kurzschlussbetrieb)

//Nullprüfung
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {

    String str = "http://hoge";
    if (str != null && str.startsWith("http://")) {
    // if(str.startsWith("http://")) {
      System.out.println("「http://Es beginnt mit "...".");  //「http://Es beginnt mit "...". 
    }
  }
}
//Eine Nullprüfung ist auch mit der folgenden Methode möglich
 if(!Objects.isNull(str)&&str.startsWith("http://"))
        {...}
 if(Objects.nonNull(str)&&str.startsWith("http://"))
        {...}

Bitoperator

Bit logischer Operator

Bitverschiebungsoperator

Bedienerpriorität

[Höchste Priorität]
Streit, [] , .
++(Nachtrag), --(Nachtrag)
++(Präfix), +(einstellig), ! , ~
* , / , %
+ , -
> , >=
== , !=
&
^
&&
?:
= , += , &=

Gesetz der Verbindung

Recommended Posts

[Java] Zusammenfassung der Operatoren (Operator)
Zusammenfassung der Java-Unterstützung 2018
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
[Java] Zusammenfassung der regulären Ausdrücke
Zusammenfassung der Grundlagen der Java-Sprache
Zusammenfassung der Java Math Klasse
[Java] Zusammenfassung der Steuerungssyntax
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Zusammenfassung der Entwurfsmuster
[Java] Zusammenfassung der mathematischen Operationen
Zusammenfassung des Pakets [Java Silver Study]
Zusammenfassung der objektorientierten Programmierung mit Java
[Java Silver] Zusammenfassung der Zugriffsmodifikatorpunkte
Zusammenfassung der internen Rookie-Lernsitzung [Java]
Zusammenfassung des Java-Wissens
Java-bezogene Zusammenfassung
Zusammenfassung anderer Änderungen als JEP von Java10
Zusammenfassung des Java 8-Dokuments
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
Java Zusammenfassung der häufig gesuchten Typkonvertierungen
Zusammenfassung des Java 11-Dokuments
[Java] Übersicht über Java
Zusammenfassung von Java Math.random und Import (Kalender)
[java] Zusammenfassung des Umgangs mit Zeichenketten
Zusammenfassung der Java-Umgebungseinstellungen für mich [mac]
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
Abgelaufene Java-Sammlung
Voraussichtliche Funktionen von Java
Zusammenfassung der neuen Funktionen von Java 12
[Java] Bedeutung der serialVersionUID
[Zusammenfassung] Zum Beispiel die Vorbereitung der Java-Umgebung
NIO.2 Überprüfung von Java
Bewertung von Java Shilber
Zusammenfassung der neuen Funktionen von Java 13
Zusammenfassung der OpenJDK-Quellen
Java - Vereinigung von Kommentaren
JAR-Datei Übersicht
Java-Null-Koaleszenzoperator
Über die Auswertung logischer Operatoren
Java statisch [Persönliche Zusammenfassung]
Geschichte der Java-Annotationen
Zusammenfassung zur Informationssicherheit
Zusammenfassung der Verwendung von FragmentArgs
Java (Verdienste des Polymorphismus)
Thread sichere Zusammenfassung ~ Java ~
Zusammenfassung der primitiven Java-Spezialisierung
Zusammenfassung des Java-Entwicklungslinks
Persönliche Zusammenfassung über Java
NIO Bewertung von Java
Zusammenfassung der neuen Funktionen von Java 10
Zusammenfassung der regulären Ausdrücke von Java
[Java] Drei Funktionen von Java
Zusammenfassung der Verwendung von DBFlow
Zusammenfassung der neuen Funktionen von Java 14
Zusammenfassung des Java-Entwurfsmusters
Java-Zusammenfassung für reservierte Wörter
Grobe Zusammenfassung des Java8-Streams
[Java] Grundlegende Zusammenfassung von Java, die nicht von Progate abgedeckt wird ~ Teil 1 ~