Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 9 JShell (REPL): Interaktives Coding & Testen leicht gemacht

Was ist JShell?

JShell (Java Shell) bringt REPL (Read-Eval-Print Loop) nach Java: Code-Schnipsel eingeben, sofort ausführen, Ergebnis sehen – ohne javac/java Zyklus. Ideal für Exploration, Prototyping, Learning & schnelle Tests.

Starten & Grundlagen

$ jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell> 

Wichtige JShell-Befehle

Befehl Funktion
/help Hilfe anzeigen.
/list [name|id|-all|-start] Eingegebene Snippets auflisten.
/edit name|id Snippet im externen Editor bearbeiten.
/drop name|id Snippet löschen.
/save [-all|-history|-start] file Snippets in Datei speichern.
/open file Datei als Snippets laden.
/vars Deklarierte Variablen & Werte anzeigen.
/methods Deklarierte Methoden & Signaturen anzeigen.
/types Deklarierte Typen (Klassen, Interfaces, Enums) anzeigen.
/imports Importierte Pakete anzeigen.
/exit JShell beenden.

Standard-Imports

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

Rechnen & Variablen

jshell> 3 + 1
$1 ==> 4

jshell> 13 % 7
$2 ==> 6

jshell> $2
$2 ==> 6

jshell> var x = 10
x ==> 10

jshell> x * 2
$4 ==> 20

JShell vergibt automatisch Variablennamen $1, $2 … für Ausdrücke ohne Zuweisung.

Funktionen definieren & nutzen

jshell> int verdoppeln(int i) { return i * 2; }
|  created method verdoppeln(int)

jshell> verdoppeln(6)
$5 ==> 12

jshell> String begruessung(String name) { return "Hallo " + name; }
|  created method begruessung(String)

jshell> begruessung("Welt")
$6 ==> "Hallo Welt"

Klassen & Interfaces definieren

jshell> class Punkt {
   ...>   int x, y;
   ...>   Punkt(int x, int y) { this.x = x; this.y = y; }
   ...>   double abstand() { return Math.hypot(x, y); }
   ...> }
|  created class Punkt

jshell> new Punkt(3, 4).abstand()
$7 ==> 5.0

Exceptions & Kontrolle

jshell> int div(int a, int b) { return a / b; }
jshell> div(10, 0)
|  Exception java.lang.ArithmeticException: / by zero
|      at div (#8:1)
|      at (#9:1)

jshell> /reset
|  Resetting state...

Externen Editor nutzen

jshell> /set editor vim
jshell> /edit verdoppeln
# öffnet vim, nach Speichern & Schließen wird Methode aktualisiert

Beenden

jshell> /exit
|  Goodbye

Tipps für den Alltag

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java Kommentare: Typen, Verwendung und Best Practices
  3. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  4. Java Strings meistern: Erstellung, Methoden und Best Practices
  5. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  6. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  7. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  8. Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
  9. Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
  10. Java Vector verstehen: Verwendung, Funktionen und Vergleich mit ArrayList