Inkrementierungsverhalten Versuchen Sie, Java zum Problem TypeScript 3-4 zu machen

Wählen Sie das Ausführungsergebnis des nächsten Programms

java.java


public class Main{
 public static void main(String[] args){
   int a = 10;
   int b = a++ + a + a-- - a-- + ++a;
   System.out.println(b);
 }
}

A.7 wird angezeigt B.32 C.33 D.43 E. Ein Kompilierungsfehler tritt auf F. Die Ausnahme wird zur Laufzeit ausgelöst

Die Antwort lautet b. Es liegt ein Problem mit dem Verhalten der Inkrementoperatoren für Präfixe und Suffixe vor.

In ++ a wird a = a + 1 gesetzt, bevor die Operation ausgeführt wird. In a ++ wird nach der Operation a = a + 1 hinzugefügt. Deshalb a = 10; b = a++ + a + a-- - a-- + ++a;

a = 11; b = 10 + a + a-- - a-- + ++a;

a = 11; b = 10 + 11 + a-- - a-- + ++a;

a = 10; b = 10 + 11 + 11 - a-- + ++a;

a = 9; b = 10 + 11 + 11 - 10 + ++a;

a = 10; b = 10 + 11 + 11 - 10 +10;

Die resultierende Antwort ist 32.

Wenn Sie dies mit TypeScript tun

TypeScript.ts


   var a:number = 10;
   var b:number = a++ + a + a-- - a-- + ++a;
   console.log(b);

Es sieht aus wie das. Das Verhalten von Operatoren wie Inkrementen ist zwischen den Sprachen grob einheitlich, sodass sie auf die gleiche Weise verwendet werden können.

Recommended Posts

Inkrementierungsverhalten Versuchen Sie, Java zum Problem TypeScript 3-4 zu machen
Schnittstelle Versuchen Sie, Java-Problem TypeScript 7-3 zu machen
Zeichenfolgenoperation Versuchen Sie, das Java-Problem in TypeScript 9-3 zu ändern
Initialisierung von for Versuchen Sie, das Java-Problem in TypeScript 5-4 zu ändern
[Java] Versuchen Sie, das Fizz Buzz-Problem zu lösen
Versuchen Sie, ein eingeschränktes FizzBuzz-Problem in Java zu lösen
Java - So erstellen Sie JTable
Deklarieren eines mehrdimensionalen Arrays Versuchen wir TypeScript für Java-Probleme 4-4
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Versuchen Sie, einen einfachen Rückruf zu tätigen
So erstellen Sie einen Java-Container
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
Versuchen Sie, die öffentliche Java-Methode zu extrahieren
Versuchen Sie, Yuma in Java zu implementieren
CompletableFuture Erste Schritte 2 (Versuchen Sie, CompletableFuture zu erstellen)
Versuchen Sie, einen Iterator zu erstellen, der einen Blick darauf werfen kann
So erstellen Sie ein Java-Array
[Java] Versuchen Sie, das Fizz Buzz-Problem mithilfe der rekursiven Verarbeitung zu lösen
So erstellen Sie eine Java-Kalenderzusammenfassung
Versuchen Sie, Project Euler in Java zu lösen
Einfach, Slack Bot mit Java zu machen
Versuchen Sie, n-ary Addition in Java zu implementieren
Machen Sie so etwas wie Javas Enum mit Typescript
Wie erstelle ich einen Discord Bot (Java)
[Java] Anfänger wollen Dating machen. 1
Lassen Sie uns migrieren, um Java komfortabler zu machen
Versuchen Sie, eine Java 8-Umgebung unter Amazon Linux2 zu erstellen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Versuchen Sie, Ruby und Java in Dapr zu integrieren
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Versuchen Sie, TCP / IP + NIO mit JAVA zu implementieren
So lösen Sie Ausdrucksprobleme in Java
Einfacher LINE BOT mit Java Servlet
[Java] Wie man mehrere for-Schleifen einzeln macht
Probieren Sie Java 8 Stream aus
[Java] Problem Nr. 2
[Java] Problem Nr. 3
[Java] Einführung in Java
[Java] Problem Nr.1
Einführung in Java
Versuchen Sie es mit Java 9
[Java] Ich habe versucht, Paizas B-Rang-Problem zu lösen
So führen Sie einen Java-Komponententest durch (JUnit & Mockito & PowerMock)
Versuchen Sie, ein Zusatzprogramm in mehreren Sprachen zu erstellen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Versuchen Sie, mit Java eine Verbindung zu AzureCosmosDB Emulator for Docker herzustellen
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen
Ich habe nc (netcat) normalerweise mit JAVA gemacht