1. Operator
Die Betreiber enthalten Folgendes:
Arithmetic Operator Zuweisungsoperator Vergleichsbetreiber Logikbitbitbetreiber Trigonometrischer Betreiber
Die am wenigsten häufig verwendeten Bitbetreiber sind auch diejenigen, die dem zugrunde liegenden Computer am nächsten stehen.
1. Arithmetische Operatoren
(1) Mehrere Verwendungen von +: Addition, positive Zahlen, String -Verkettungszeichen
(2) Ein Problem sollte bei der Trennung von Ganzzahlen darauf geachtet werden: Teilen Sie sie zusammen und Sie können nur Ganzzahlen bekommen. Um eine Dezimalzahlung zu erhalten, können Sie die Daten selbst *1.0 konvertieren, dh die Daten selbst in einen schwimmenden Punkttyp umwandeln.
2. Zuweisungsoperator
Symbol = += -= *= /= %=
Hinweis: = ist der grundlegende Zuordnungsbetreiber, und die anderen sind erweiterte Zuweisungsoperatoren
Interviewfragen:
(1) kurz S = 1, S = S+1;
(2) Kurzes S = 1, S+= 1;
Gibt es ein Problem mit den beiden oben genannten Codes? Wenn ja, wo gibt es ein Problem?
Antwort: Code (1) ist falsch und verliert die Genauigkeit. Beim Definieren von Byte und Short erhalten sie tatsächlich einen Wert vom Typ int. Dies geschieht von mir. Wenn es nicht mehr in ihrem Bereich liegt, wird ein Fehler gemeldet. Die Effekte sind wie folgt:
Code (2) hat keine Fehler, da: der erweiterte Zuweisungsoperator tatsächlich eine Besetzung impliziert.
Das heißt, i += 1; ist nicht gleichwertig zu i = i + 1; ist aber i = (Datentyp i) (S + 1) entspricht;
3.. Relationale Operatoren
Anmerkung 1: Die Ergebnisse des Vergleichsbetreibers sind boolescher, dh sie sind entweder wahr oder falsch.
Anmerkung 2: Der Vergleichsoperator "==" kann nicht fälschlicherweise als "=" geschrieben werden. Zum Beispiel:
4. Logische Operatoren
(1) Logische Operatoren werden verwendet, um boolesche Ausdrücke zu verbinden. Sie können in Java nicht als 3 <x <6 geschrieben werden, sollten aber als x> 3 & x <6 geschrieben werden.
(2) den Unterschied zwischen "&" und "&&"? In ähnlicher Weise ist der Unterschied zwischen "|" und "||"?
A: Das Endergebnis ist das gleiche. Zum Beispiel: A und B müssen gleichzeitig wahr sein, und die Ergebnisse von A & B und A & B sind wahr. B: && hat einen Kurzschluss -Effekt, die linke Seite ist falsch und die rechte Seite wird nicht ausgeführt. || Es hat einen Kurzschluss -Effekt, die linke Seite ist wahr und die rechte Seite wird nicht ausgeführt.
Hinweis: häufig verwendete logische Operatoren in der Entwicklung: &&, ||,!
(3) Der Unterschied zwischen XOR ( ^) und oder (|) lautet: Wenn sowohl links als auch rechts wahr sind, ist das Ergebnis von XOR falsch.
5. Bit Operator:
Obwohl in der Entwicklung nicht viel verwendet wird, wird es in vielen Quellcodes gesehen, da das zugrunde liegende Computer von Computern Bit -Operationen ist.
Interview Frage 1: Implementieren Sie den Austausch von zwei Ganzzahlvariablen
Der Code ist wie folgt:
/* Interview Frage: Bitte implementieren Sie den Austausch von zwei Ganzzahlvariablen selbst*/Klasse Operatest {public static void main (String [] args) {int a = 10; int b = 20; System.out.println ("A:"+a+", b:"+b); // Methode 1: Verwenden Sie Variablen von Drittanbietern (in der Entwicklung verwendet) int c = a; a = b; B = C; System.out.println ("A:"+a+", b:"+b); System.out.println ("----------------"); // Methode 2: Verwenden Sie Bit XOR, um (Interview) // links zu implementieren: a, b, a // rechts: a ^ ba = a ^ b; B = a ^ b; // a ^ b ^ b = aa = a ^ b; // a ^ b ^ a = b system.out.println ("a:"+a+", b:"+b); // Methode 3: Verwenden Sie Variablen, um a = a + b hinzuzufügen; // a = 30 b = a - b; // b = 10 a = a - b; // a = 20 system.out.println ("a:"+a+", b:"+b); * // Methode 4: Erhalten Sie es in einem Satz b = (a+b) - (a = b); // b = 30-20 = 10, a = 20 system.out.println ("A:"+a+", b:"+b); }}Interview Frage 2: Bitte schreiben Sie das Ergebnis der Berechnung von 2 -mal 8 auf effizienteste Weise.
Antwort: 2 * 8 entspricht 2 << 3
Wissensüberprüfung:
<<: Verwerfen Sie das höchste Bit links und die rechte Seite. >>: Das höchste Bit rechts ist 0 und die linke Seite ist 0; Die höchste ist 1 und die linke Seite ist 1 >>>: Die nicht signierte rechte Verschiebung, egal ob das höchste Bit 0 oder 1 ist, die linke Seite ist 0 und die linke Seite 0.
6. Drei-Punkte-Operator:
Format: (relationaler Ausdruck)? Ausdruck 1: Ausdruck 2;
Wenn die Bedingung wahr ist, ist das Ergebnis nach der Operation Ausdruck 1;
Wenn die Bedingung falsch ist, ist das Ergebnis nach der Operation Ausdruck 2;
Beispiel:
Holen Sie sich die große Anzahl von zwei Zahlen:
Der Copy -Code -Code lautet wie folgt: int x = 3, y = 4, z; z = (x> y)? X: y; // z variable speichert eine große Anzahl von zwei Zahlen.
Erhalten Sie den Maximalwert von drei Ganzzahlen:
// Methode 1: In zwei Schritten // A: Vergleichen Sie die maximalen Werte von A und B zuerst // B: Vergleichen Sie die maximalen Werte von A und B mit C int temp = (a> b)? A: B); //System.out.println(Temp); int max1 = (temp> c? temp: c); System.out.println ("max1:"+max1); // Methode 2: Int max2 in einem Schritt abrufen = (a> b)? ((A> c)? A: c): (b> c)? B: c); // Diese Methode wird nicht empfohlen: // int max2 = a> b? A> c? A: C: B> C? B: C; //System.out.println("max2:"+max2);Es wird empfohlen, die Methode eins zu verwenden. Darüber hinaus sind in Modus 2 Zeile 10 und Zeile 12 gleich und werden verschachtelt des trigonometrischen Operators.
Vergleichen Sie, ob zwei Ganzzahlen gleich sind:
// Vergleichen Sie, ob zwei Ganzzahlen gleich int m = 100 sind; int n = 200; // Boolean Flag = (M == n)? wahr: falsch; boolesche Flagge = (m == n); System.out.println (Flag);
2. Tastaturdateneingabe
Wenn wir Programme schreiben, sind die Datenwerte festgelegt, aber in der tatsächlichen Entwicklung müssen sich die Datenwerte ändern. Daher plane ich, die Daten in Tastatureingaben zu verbessern, um die Flexibilität des Programms zu verbessern.
Wie implementieren Sie die Tastaturdateneingabe? (Denken Sie daran, es jetzt zu verwenden)
(1) Übertragungspaket (Position oben zur Klassendefinition): Java.util.Scanner importieren;
(2) Tastatureintragsobjekt erstellen: Scanner sc = neuer Scanner (System.in);
(3) Daten durch das Objekt abrufen: int x = sc.Nextint ();
Beispielcode:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.