[JAVA] Lesen Sie System.out.println ("Hallo Welt")

Überblick

["Hallo Welt" verstehen] [Link-Hallo] ist lang geworden, deshalb habe ich beschlossen, hier eine Erklärung des spezifischen Verarbeitungsteils zu schreiben.

[Vorheriger Beitrag] Ich werde den Code von link-hello erneut veröffentlichen. In diesem Beitrag werde ich die Zeilen in dieser "Hallo Welt" erklären, die die spezifische Verarbeitung beschreiben.

HelloWorld.java


public class HelloWorld {

  public static void main(String[] args) {
    System.out.println("hello, world");
  }

}

Eine Zeile, die eine bestimmte Verarbeitung beschreibt


System.out.println("hello, world");

Außerdem habe ich ** nach eigenem Ermessen ** für jeden Artikel "jedes Mal, wenn ich in Schwierigkeiten bin, wenn ich es nicht weiß" hinzugefügt. Je mehr ★ du hast, desto besser solltest du es wissen.

System zeigt auf die Klasse java.lang.System (jedes Mal, wenn Sie nicht wissen: ★★ ☆)

In Java ist es implizit (ohne etwas zu schreiben) "import java.lang. *". Mit anderen Worten, Klassen, die zum Paket "java.lang" gehören, können referenziert werden, ohne eine "import" -Deklaration zu schreiben.

Daher kann die Klasse "java.lang.System" einfach als "System" geschrieben werden.

Die folgenden zwei Zeilen haben genau die gleiche Bedeutung


System.out.println("Hello world");
java.lang.System.out.println("Hello world");

Wie oft haben Sie Probleme, wenn Sie es nicht wissen?

Es ist normalerweise nicht möglich, "java.lang" wegzulassen. Wenn Sie jedoch nicht wissen, dass es zum Paket "java.lang" gehört, treten beim Überprüfen von [JavaDoc] link-java_lang Probleme auf. Beachten Sie daher, dass es sich um eine Kurznotation handelt.

Wenn Sie es nicht wissen, setzen Sie es als ** ★★ ☆ (2) **.

out ist ein statisches Feld der Klasse System (jedes Mal, wenn Sie nicht wissen: ★ ☆☆)

Werfen wir einen Blick auf [JavaDoc für die System-Klasse] Link-System. Es wird erklärt, dass die folgenden drei "statischen" Felder definiert sind.

Feldname Erläuterung
err "Standard" -Fehlerausgabestream.
in "Standard" -Eingabestream.
out Der "Standard" -Ausgabestream.

Wie oben erwähnt, zeigt "System.out" auf das "statische" Feld der "System" -Klasse. Ein "Standard" -Ausgabestream ist ein "Stream", der mit einem "Standardausgang" verbunden ist. (Die Erklärung von "Standardausgabe" und "Stream" wird hier weggelassen.)

Im Allgemeinen ist es besser, eine get-Methode (sogenannter Getter) durchzugehen, als ein Feld "public" zu machen. Außerdem haben die oben genannten Felder nach Java-Konvention ganz andere Namen. Vielleicht hat es so ein spezielles Design für die Bequemlichkeit.

Wenn Sie sich nun die Beschreibung des Felds "out" ansehen, können Sie sehen, dass dieses Feld zur Klasse [PrintStream] link-printstream gehört.

System.Erklärung von out


public static final PrintStream out

Versuchen wir, einer Variablen vom Typ "PrintStream" "System.out" zuzuweisen.

Versuchen Sie, eine Variable vom Typ PrintStream zuzuweisen


java.io.PrintStream ps = System.out; // System.Ersetzen Sie ps
ps.println("Hello world"); //Aufruf der println-Methode von ps

Das Ergebnis ist natürlich dasselbe wie das Schreiben von "System.out.println" ("Hallo Welt") in eine Zeile.

Wie oft haben Sie Probleme, wenn Sie es nicht wissen?

" System.out.println "ist eine Redewendung zum Drucken von Werten aus Java-Programmen in die Standardausgabe. Sie müssen sich also keine Sorgen machen, wenn Sie nicht genau wissen, was "out" ist. Da es sich jedoch um einen grundlegenden Teil handelt, werde ich ** ★ ☆☆ (1) ** setzen, wenn Sie es nicht wissen, mit dem Gefühl, dass Sie es wissen möchten.

"Hallo Welt" ist eine mit Zucker überzogene Syntax zum Erstellen einer String-Instanz (jedes Mal, wenn Sie es nicht wissen: ★★ ☆)

Werfen wir einen Blick auf [JavaDoc für die String-Klasse] Link-String. Es wird wie folgt erklärt.

String Die Klasse repräsentiert einen String. Alle Literalzeichenfolgen wie "abc" in Java-Programmen werden als Instanzen dieser Klasse ausgeführt.

Die String-Klasse kann als die beliebteste Klasse unter vielen Java-Klassen bezeichnet werden. In der Java-Sprache [^ literal_o] ist die einzige Klasse, die wörtlich geschrieben werden kann, die Klasse "String". Nur primitive Typwerte (wie "int" und "boolean") und "null" können mit Ausnahme von Zeichenfolgen ("Zeichenfolge") buchstäblich dargestellt werden.

Übrigens denke ich, dass es viele Leute gibt, die gefragt haben: "Was ist ein Wort?" Einfach ausgedrückt ist ein Literal ein "Wert, der direkt in den Quellcode geschrieben wird".

Auch wenn der Begriff Literal nicht ganz richtig ist, kann der Code unter [^ string_new] Ihnen einen Einblick in seine Bedeutung geben.

Beispiel für die Erstellung einer String-Instanz, die keine String-Literale verwendet


char data[] = {'a', 'b', 'c'};
String str = new String(data);

//Das Obige ist dasselbe wie der Code unten
String str = "abc";

Wenn Sie kein String-Literal haben, müssen Sie "einen Konstruktoraufruf mit einem char-Array als Argument schreiben", um "eine" String "-Instanz mit einem beliebigen Wert zu erhalten". String wird häufig verwendet, daher wäre es zu schwierig, ihn einzeln so zu schreiben.

"Sugar-Coated Syntax" ist ein grammatikalischer Mechanismus zur Vereinfachung der Beschreibung eines solchen "störenden Codes". Mit anderen Worten, "Create a String instance" hat eine zuckerbeschichtete Syntax, die als String-Literal bezeichnet wird.

Wie oft haben Sie Probleme, wenn Sie es nicht wissen?

Wenn Sie eine String-Instanz eines beliebigen Werts benötigen, generieren Sie diese mit einem String-Literal. Sie sollten eine Instanz nicht erstellen, indem Sie einen Konstruktor aufrufen, wenn Sie ihn nicht benötigen. (Wenn Sie beispielsweise eine Zeichenfolge aus einem Byte-Array generieren, kann der Konstruktor von "String" verwendet werden.)

Selbst wenn Sie es in ein String-Literal schreiben, müssen Sie wissen, dass es sich tatsächlich um einen neuen String (...) handelt (dh es wird eine String-Instanz erstellt). Machen wir das.

Es ist wichtig zu wissen, wo und wie die Instanz erstellt wird, nicht nur "String". Wenn Sie sie nicht kennen, setzen Sie sie als ** ★★ ☆ (2) **.

schließlich

["Hallo Welt" verstehen] Am Ende von [Link-Hallo] habe ich einen Code geschrieben, der den Inhalt dieses Beitrags in "HelloWorld.java" widerspiegelt. Bitte beachten Sie dies auch.

[^ literal_o]: In anderen Sprachen als Java ist es nicht ungewöhnlich, andere Klassen als Zeichenfolgen als Literale darstellen zu können (z. B. Literale mit regulären Ausdrücken und Datumsliterale). [^ string_new]: Dieser Code stammt aus [JavaDoc für die String-Klasse] link-string.

Recommended Posts

Lesen Sie System.out.println ("Hallo Welt")
Lesen Sie "Hallo Welt"
Java-Anfänger lesen Hello World
Java, Hallo Welt!
Java Hallo Welt
"Hallo Welt" in Java
Java lernen (1) -Hallo Welt
Schreiben wir Hello World
Hallo Welt in Java
Java-Teil 1-Hallo Welt studieren
Hallo Welt mit Web Assembly
Hallo Welt mit Micronaut
Hallo Welt mit Spring Boot
Hallo Welt mit Spring Boot!
Hallo Welt mit VS Code!
Java Hallo Welt, kompilieren, ausführen
Hallo Welt mit Spring Boot
Hallo Welt mit SpringBoot / Gradle
Hallo Welt, mit Asakusa Framework!
Frühlingsstiefel Hallo Welt in Eclipse
Hallo Welt für ImageJ Java Plugin
Bis "Hallo Welt" mit Spring Boot
Hallo Welt mit AWS Lambda + Java
Hallo Welt mit Kotlin und JavaFX
Hallo Welt mit Docker und C Sprache
Hallo Welt von Java in Eclipse jetzt
(Intellij) Hallo Welt mit Spring Boot
Hallo Welt mit GlassFish 5.1 + Servlet + JSP
Erstellen Sie PDF mit itext7 ~ HelloWorld ~
Hallo, Welt in Vanille Java-EHW2018 "MVP"
"Hallo Welt" für ImageJ mit Eclipse
Hallo Welt mit GWT 2.8.2 und Maven
Android OS (7.1.2) Build und Hello World
Hallo Welt in Java und Gradle
Erstellen einer Elasticsearch-Plugin-Serie (1) Hello World
Hallo Welt mit Eclipse + Spring Boot + Maven
Hallo Welt! Im Bootstrap Loader Bereich
Hallo Welt mit Java Template Engine Thymeleaf
[Trainieren! ] Zeigen Sie Hello World mit Spring Boot an
Java-Entwicklung mit Codenvy: Hello World! Run
"Hallo Welt!" Mit Kotlin + CLI in 5 Minuten
Hallo Welt auf Mac VSCode Java
Einführung in Ratpack (3) - Hallo Welt, detaillierte Erklärung
Hallo Welt mit Kotlin und Tornado FX
Wie Spring Security mit Hello World funktioniert
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Minimale Java-Umgebungskonstruktion und Hello World