[JAVA] Ich habe locker mit Jshell gespielt

Überblick

――In diesem Artikel werde ich kurz erklären, wie man Jshell benutzt.

Hintergrund

Ziel

Was du vorbereitet hast

Umgebung

docker run -it openjdk:11 jshell

Dann ... image.png

Sie können es so verwenden

Lass uns vorerst spielen

jshell> String hoge = "hoge"
hoge ==> "hoge"

Hit / vars

――Es zeigt Ihnen die Variablen an, die Sie erstellt haben

jshell> /vars
|    String hoge = "hoge"
|    List<String> list = []
|    String test = "test"

Hit / Importe

――Es zeigt Ihnen den aktuell importierten an

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.*

Wenn Sie einen neuen importieren möchten

--Striking Import direkt

jshell> import java.util.Scanner

Wie erwartet ist das nicht cool, also ...

jshell> ZonedDateTime
0: Do nothing
1: import: java.time.ZonedDateTime
Choice:
Imported: java.time.ZonedDateTime

Dann wird es so importiert

jshell> ZonedDateTime now = ZonedDateTime.now()
now ==> 2018-12-21T16:14:20.037591Z[Etc/UTC]

Ergänzen

――Dies ist dasselbe wie das Terminal. Wenn Sie die Tabulatortaste drücken, wird es abgeschlossen.

jshell> var lsit = List.
class     copyOf(   of(

Sie können es verwenden, indem Sie die Tabulatortaste zum gleichen Zeitpunkt (nach dem Schlagen) wie das Timing drücken, um es durch eine solche IDE ergänzen zu lassen

Neue Zeile

――Wenn Sie eine solche Liste erstellt haben

jshell> var list = List.of("hoge","fuga","piyo")
list ==> [hoge, fuga, piyo]

――Für diesen Typen schreibe ich eine Art Verarbeitung, und wenn ich versuche, die Linie an einer geeigneten Stelle zu durchbrechen, wird sie ausgeführt.

jshell> var result = list.stream().filter(word -> word.startsWith("h"))
result ==> java.util.stream.ReferencePipeline$2@31610302

»Es ist wirklich traurig, also ...

jshell> var result = list.stream().filter(word -> word.startsWith("h")
   ...>  ).collect(Collectors.toList())
result ==> [hoge]

Sie können eine neue Zeile beginnen, indem Sie () wie folgt öffnen oder mit zurückkehren. In der vorherigen Zeile.

/exit

――Es ist möglicherweise nicht unerwartet bekannt, aber Sie können damit rauskommen

jshell> /exit
|  Goodbye

/help

――Wenn Sie Probleme haben, wenden Sie sich bitte an die Hilfe.

Impressionen

--Jshell Ziemlich viel Spaß

Zusammenfassung

――Zur Zeit habe ich nur ungefähr eine Stunde lang gespielt, daher hat es mir nicht gefallen, daher würde ich gerne wissen, ob es empfohlene Verwendungsszenen oder Verwendungsbefehle gibt.

Referenz

Ich bezog mich auf Herrn Kishidas Qiita-Artikel. Learn JDK11 with JShell (2018/12/15 JJUG CCC 2018 Fall)

Recommended Posts

Ich habe locker mit Jshell gespielt
Ich habe versucht, Ruby mit Ruby (und C) zu implementieren (ich habe mit Builtin gespielt)
Ich habe DI mit Ruby versucht
Ich habe UPSERT mit PostgreSQL ausprobiert.
Ich habe BIND mit Docker ausprobiert
[Einführung in JSP + Servlet] Ich habe eine Weile damit gespielt ♬
Ich habe versucht, JOOQ mit Gradle zu verwenden
Ich habe eine morphologische Analyse mit MeCab versucht
Ich habe mit Swing eine GUI erstellt
Ich kann Lombok nicht mit Gradle installieren.
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Was ich mit Java Gold gelernt habe
Ich habe GraphQL mit Spring Boot ausprobiert
Ich habe Flyway mit Spring Boot ausprobiert
Was ich mit Java Silver gelernt habe
Ich habe versucht, Slim mit Scaffold anzupassen