Java-Einführungstext

● Textkörper (PDF-Format 239 Seiten: 1,82 MB) Update 2019/12/15 (→ DL von der Spiegelseite) → Beispielprogramm im Text ---------------------   (2019/11/16) Ich unterrichte Programmieren in der Schule. Ich habe ein einführendes Java-Lehrbuch gemacht, um Anfänger zu unterrichten. Der Inhalt ist vorerst so lange verfügbar, bis es möglich ist, "vorerst mit Java zu programmieren".   Die erste Seite, weniger als 50 Seiten, erklärt die grundlegende Grammatik und grundlegende I / O. Der Rest ist eine Erklärung häufig verwendeter Bibliotheken. Die GUI erklärt Swing und SWT.   Dieser Text befindet sich noch im Prototypenstadium, wird jedoch von Benutzern im Bildungsbereich überarbeitet und aktualisiert. Wir werden es kostenlos veröffentlichen, daher wären wir Ihnen dankbar, wenn Sie uns Ihre Meinung mitteilen könnten. (Bitte lassen Sie uns wissen, wenn Sie Fehler finden)   Diejenigen, die dies nutzen möchten, sind willkommen. Ich möchte den Grad der Perfektion verbessern, während ich Meinungen erhalte. Insbesondere hoffe ich, dass es von Lehrern verwendet wird, die in der Schule Programmieren unterrichten. Wir würden uns freuen, wenn Sie uns Anfragen oder Vorschläge aus der Praxis geben könnten. (Reflektieren Sie so viel wie möglich im Text)

Ergänzung

--------------------- [Nachtrag](2019/12 / 13-15) Die Erklärung der Bitoperation wurde verbessert. Kommentar zum endgültigen Modifikator hinzugefügt. Eine grundlegende Erklärung zu Javadoc wurde hinzugefügt. Andere kleinere Ergänzungen.   --------------------- [Nachtrag](2019/11 / 24-12 / 01) Die Erklärung über den ternären Operator (...? ...: ...) für die Zustandsbeurteilung fehlte, deshalb habe ich sie hinzugefügt. Es wurde ein Kommentar zum Teilen von CSV hinzugefügt.   --------------------- [Nachtrag](2019/11 / 21-22) Der Inhalt für reguläre Ausdrücke wurde hinzugefügt.

Inhaltsverzeichnis

1 Vorwort --- 1 1.1 Grundlegendes Verfahren zur Programmentwicklung --- 1 1.2 Spezifische Arbeit für die Programmentwicklung --- 1 1.2.1 Angabe des Zeichencodes in der Beschreibung des Quellprogramms und der Ein- / Ausgabe --- 2 1.2.2 Verwendung der JAR-Formatbibliothek --- 3 2 Java-Sprache --- 4 2.1 Punkte, die beim ersten Lernen zu beachten sind --- 4 2.2 Grundlagen zu Variablen und Werten --- 4 2.2.1 Werteausdruck --- 5 2.2.2 Arithmetische Berechnung --- 5 2.2.3 Beschreibung mehrerer Sätze --- 6 2.2.4 Kommentarbeschreibung --- 6 2.2.5 Beispiel für Variablentyp und Operation --- 6 2.2.6 Methode und Argument --- 7 2.2.7 Umgang mit Zeichen und Zeichenketten --- 7 2.2.7.1 Extrahieren Sie den Zeichenfolgenteil --- 7 2.2.7.2 Escape-Sequenz --- 8 2.2.8 Werttypkonvertierung --- 8 2.2.8.1 Umwandlung des Ausdrucks zwischen numerischem Wert und Zeichenfolge --- 9 2.2.9 Umwandlung von Radix --- 10 2.2.9.1 Dezimalzahl → Zahl --- 10 2.2.9.2 Zahl → Dezimalzahl --- 10 2.2.10 Bitbetrieb --- 10 2.2.10.1 Schichtberechnung --- 11 2.2.10.2 Bitweise logische Operation --- 11 2.3 Kontrollstruktur --- 12 2.3.1 Bedingter Zweig (1): if-Anweisung --- 12 2.3.1.1 Beschreibung des bedingten Ausdrucks und der booleschen Typvariablen --- 13 2.3.1.2 Vergleich von Zeichenketten --- 14 2.3.1.3 Drei-Term-Operator zur Zustandsbeurteilung --- 14 2.3.2 Bedingter Zweig (2): switch-Anweisung --- 15 2.3.3 Iteration (1): while-Anweisung --- 16 2.3.3.1 Änderung des Variablenwertes durch rekursive Zuordnung --- 16 2.3.4 Iteration (2): für Satz --- 18 2.4 Array --- 19 2.4.1 Zuordnung des Speichers zu Sequenzen --- 20 2.4.2 Initialisierung zum Zeitpunkt der Array-Deklaration --- 20 2.4.3 Ausrichtung der Elemente des Arrays --- 21 2.4.4 Zugriff auf Elemente durch erweiterte Anweisung --- 22 2.5 Objektorientierte Programmierung --- 23 2.5.1 Konzeptionelle Einführung --- 23 2.5.1.1 Konzept von Teilen in Objektorientierung --- 23 2.5.1.2 Überblick über die objektorientierte Programmierung --- 23 2.5.2 Erläuterung gemäß Beispielprogramm --- 23 2.5.2.1 Konzept von "Klasse, Instanz, Konstruktor" --- 26 2.5.2.2 Über statische Elemente / Methoden --- 28 2.5.2.3 statischer Initialisierer --- 28 2.5.3 Klassenerweiterung (Vererbung) --- 29 2.5.4 Über abstrakte Klassen und Schnittstellen --- 30 2.5.4.1 Über anonyme Klasse --- 33 2.5.5 Anmerkung --- 34 2.5.6 Über Generika --- 34 2.5.7 Informationen zur Objektklasse --- 35 2.6 Ein- / Ausgabe --- 37 2.6.1 Standardeingabe / -ausgabe --- 37 2.6.1.1 Anwendung der Formatbearbeitung auf die Zeichenfolgengenerierung --- 38 2.6.1.2 Standardfehlerausgabe --- 39 2.6.2 Befehlsargument --- 40 2.6.3 Ausgabe in Datei --- 41 2.6.3.1 Ausgabe in Bytestream: FileOutputStream --- 41 2.6.3.2 Ausnahmebehandlung (1): try --- 42 2.6.3.3 Ausnahmebehandlung (2): Würfe --- 43 2.6.3.4 Ausgabe mit PrintWriter --- 43 2.6.4 Eingabe aus Datei --- 44 2.6.4.1 Text Zeile für Zeile lesen --- 44 2.6.4.2 Lesen mit der Scannerklasse --- 46 2.6.5 Eingabe / Ausgabe von Binärdateien --- 47 3 Standardklassenbibliothek --- 50 3.1 Datenstruktur --- 50 3.1.1 Liste: ArrayList / LinkedList --- 50 3.1.1.1 Initialisierung bei der Listenerstellung --- 52 3.1.1.2 Ausrichtung der Elemente: sortieren --- 52 3.1.1.3 Umkehren der Reihenfolge der Elemente: umgekehrt --- 52 3.1.1.4 Zugriff auf Listenelemente durch erweiterte Anweisung --- 53 3.1.1.5 Ausrichtung mit Komparator --- 53 3.1.2 Set (Set, Datensatz): HashSet / TreeSet --- 56 3.1.2.1 Sequentieller Zugriff auf Elemente durch Iterator --- 58 3.1.3 Map (assoziatives Array, Wörterbuch): HashMap / TreeMap --- 58 3.1.3.1 Zugriff auf die registrierten Zuordnungen nacheinander --- 60 3.1.4 Datenstrukturkonvertierung --- 62 3.1.4.1 So konvertieren Sie eine Liste oder setzen sie in ein Array --- 62 3.2 Bearbeitbare Zeichenfolgenklasse: StringBuilder, StringBuffer --- 63 3.2.1 Konstruktor --- 63 3.2.2 Methode zum Bearbeiten von Zeichenketten --- 63 3.2.3 Beispielprogramm --- 63 3.2.4 Konvertierung zwischen Byte-Array, String / StringBuilder / StringBuffer-Objekt --- 64 3.3 Matheklasse --- 66     3.3.1 BigInteger,BigDecimal --- 66  3.3.1.1 Objekterzeugung und Wertesatz --- 67 3.3.1.2 Berechnung --- 67 3.3.1.3 Über MathContext --- 67 3.3.1.4 Über Mehrfachlängenoperationen mathematischer Funktionen --- 68 3.4 Umgang mit Datum und Uhrzeit --- 70 3.4.1 Datum, Kalenderklasse --- 70 3.4.2 Zeitmessung --- 72 3.4.3 LocalDateTime-, LocalDate-, LocalTime-Klasse --- 73 3.4.3.1 Grundfunktionen --- 74 3.4.3.2 Umgang mit dem japanischen Kalender --- 77 3.5 Datei, Pfad, URI --- 79 3.5.1 Pfaderstellung, Pfadzerlegung --- 79     3.5.2 URI --- 80  3.5.3 Dateiklassenmethode --- 81 3.5.3.1 Dateien und Verzeichnisse erstellen --- 82 3.5.3.2 Erfassung von Verzeichnisinhalten, Existenzprüfung von Dateien --- 83 3.5.3.3 Änderung des Dateinamens (Pfadänderung) --- 83 3.5.3.4 Löschen von Dateien und Verzeichnissen --- 84 4 GUI- und 2D-Grafiken --- 86 4.1 Grundkonzept der GUI-Programmierung --- 86 4.2 Überblick über die Erstellung der GUI-Anwendung --- 86 4.2.1 GUI Tool Kit --- 87   4.3 Swing --- 88  4.3.1 GUI-Konstruktion --- 88 4.3.1.1 Beispiel für eine GUI-Konstruktion --- 88 4.3.1.2 Ereignisverarbeitung --- 91 4.3.1.3 Tasten von Tastaturereignissen abrufen --- 94 4.3.1.4 Erstellen einer Anwendung als JFrame-Klasse --- 94 4.3.1.5 Sicherere Implementierung --- 96 4.3.1.6 Layout Manager --- 96 4.3.2 Übersicht über die Grafikerstellung mit Swing --- 98 4.3.2.1 Ablauf der Grafikerstellung --- 98 4.3.2.2 Programmbeispiel --- 99 4.3.2.3 Über das Argument von paintComponent --- 100 4.3.3 Über das Koordinatensystem --- 100 4.3.4 Grundlegende Methode zum Erstellen von Grafiken --- 100 4.3.4.1 Bezeichnung der Zeichnungsfarbe --- 100 4.3.4.2 Zeichnen einer geraden Linie: drawLine-Methode --- 101 4.3.4.3 Linie zeichnen: Methode drawPolyline --- 101 4.3.4.4 Angeben von Linienattributen --- 101 4.3.4.5 Zeichnen eines Rechtecks (1) Frame: drawRect-Methode --- 104 4.3.4.6 Zeichnen eines Rechtecks (2) Füllen: fillRect-Methode --- 104 4.3.4.7 Zeichnen der Ellipse (1) Frame: drawOval-Methode --- 104 4.3.4.8 Ellipse zeichnen (2) Füllen: fillOval-Methode --- 104 4.3.4.9 Zeichnen eines Polygons (1) Rahmen: drawPolygon-Methode --- 104 4.3.4.10 Zeichnen eines Polygons (2) Fill: fillPolygon-Methode --- 104 4.3.4.11 Zeichnen von Zeichen --- 104 4.3.4.12 Bezeichnung der Abstufungsfarbe --- 106 4.3.5 Verwendung des gepufferten Bildes --- 107 4.3.5.1 Zeichnen für BufferedImage --- 107 4.3.5.2 So geben Sie ein BufferedImage-Objekt als Bilddaten aus --- 108 4.3.5.3 Bilddateien lesen und anzeigen --- 110 4.3.5.4 Betrieb für Pixel --- 112 4.3.6 Dateiauswahldialog --- 114   4.4 SWT --- 117  4.4.1 Ablauf der GUI-Anwendungskonstruktion --- 117 4.4.2 Generierung und Platzierung von GUI-Komponenten --- 118 4.4.3 Registrierung der Ereignisverarbeitung --- 120 4.4.4 Beispielprogramm --- 120 4.4.5 Abrufen von Tasten von Tastaturereignissen --- 124 4.4.6 Übersicht über das Erstellen von Grafiken mit SWT --- 124       4.4.6.1 GC(Graphic Context) --- 124  4.4.6.2 Ablauf der Grafikerstellung --- 124 4.4.7 Koordinatensystem --- 125 4.4.8 Farbbezeichnung --- 125 4.4.9 Grundlegende Methode zum Zeichnen --- 126 4.4.9.1 Zeichnen Sie eine gerade Linie: drawLine-Methode --- 126 4.4.9.2 Linie zeichnen: Methode drawPolyline --- 126 4.4.9.3 Linienattributeinstellungen --- 126 4.4.9.4 Zeichnen eines Rechtecks (1) Frame: drawRectangle-Methode --- 127 4.4.9.5 Zeichnen eines Rechtecks (2) Füllen: fillRectangle-Methode --- 127 4.4.9.6 Ellipse zeichnen (1) Frame: drawOval-Methode --- 127 4.4.9.7 Ellipse zeichnen (2) Füllen: fillOval-Methode --- 127 4.4.9.8 Polygon zeichnen (1) Frame: drawPolygon-Methode --- 127 4.4.9.9 Polygonzeichnung (2) Fill: fillPolygon-Methode --- 127 4.4.10 Zeichenzeichnung --- 127 4.4.11 Betrieb für Pixel --- 128 4.4.11.1 Pixelfärbevorgang --- 130 4.4.12 Eingabe / Ausgabe der Bilddatei --- 130 4.4.12.1 Bilddateien lesen --- 130 4.4.12.2 Ausgabe in Bilddatei --- 130 4.4.13 Beispielprogramm --- 131 4.4.14 Dateiauswahldialog --- 134 5 Themen und Prozesse --- 137 5.1 Multithread-Programmierung --- 137 5.1.1 Gewindeklasse --- 137 5.1.2 Ausführbare Schnittstelle --- 139 5.1.3 Thread-Synchronisation --- 140 5.1.3.1 So warten Sie auf das Ende eines anderen Threads: Join-Methode --- 140 5.1.3.2 synchronisierter Modifikator --- 141 5.1.3.3 Thread warten / Ausführung fortsetzen --- 144 5.1.4 Thread-Status --- 146 5.2 gleichzeitige Bibliothek --- 147 5.2.1 Executor und Executor Service --- 147 5.2.2 Aufrufbare Schnittstelle und zukünftige Schnittstelle --- 149 5.3 Starten eines externen Prozesses --- 152 5.3.1 Beziehung zwischen Java-Programmen und externen Prozessen --- 152 5.3.2 Verwendung --- 152 5.3.3 Beispielprogramm --- 153 6 Lambda-Ausdruck, Stream-API, Methodenreferenz --- 156 6.1 Funktionsschnittstelle --- 156 6.2 Stream-Schnittstelle --- 157 6.2.1 Generierung eines Stream-Objekts --- 158 6.2.2 für jede Methode --- 158 6.2.3 Filtermethode --- 158 6.2.4 Kartenmethode --- 159 6.2.5 sortierte Methode --- 159 6.2.5.1 Stream schließen (Ende) --- 159 6.2.6 Erfassungsmethode --- 159 6.3 Siehe Methode --- 160 7 Regulärer Ausdruck --- 162 7.1 Zeichenkettensuche: Suchmethode --- 162 7.1.1 Mustererkennungsposition --- 163 7.1.2 Fortsetzung der Mustererkennung --- 163 7.2 Ersetzungsverarbeitung: replaceFirst, replaceAll --- 164 7.3 Musterbeschreibungsmethode --- 164 7.4 Musterübereinstimmungsgruppe --- 166 7.5 Teilen der Zeichenfolge: Split-Methode --- 167 8 TCP / IP-Kommunikation --- 168 8.1 Konzept der Steckdose --- 168 8.2 Sockelklasse --- 169 8.2.1 Server-Socket --- 169 8.2.2 Buchse --- 169 8.3 Senden und Empfangen von Daten --- 170 8.4 Beispielprogramm --- 171 9 Wiedergabe von Audiodaten --- 174 9.1 Die einfachste Methode --- 174 9.2 Wiedergabe großer Audiodaten --- 176 9.3 Praktische Tonwiedergabe --- 178 10 Bibliothek und Paket --- 181 10.1 Erstellen einer Bibliothek --- 181 10.1.1 Speicherort der Bibliotheksdatei (Klassendatei) --- 181 10.1.2 Behandlung, wenn verschiedene Pakete Klassen mit demselben Namen bereitstellen --- 182 10.1.3 Erstellen einer JAR-Datei --- 182 11 Verbindung zur Datenbank --- 183 11.1 Grundkonzept zur Datenbank --- 183 11.1.1 Grundlegende Operationen in der Datenbank --- 183 11.2 In diesem Handbuch behandelte Software --- 184     11.2.1 SQLite --- 184      11.2.2 JDBC --- 184  11.3 Transaktion --- 184 11.3.1 Verbindung zur Datenbank --- 184 11.3.2 Erwerb des Anweisungsobjekts --- 185 11.3.3 Ausführung der SQL-Anweisung --- 185 11.3.3.1 Extraktion von Suchergebnissen --- 185 11.3.4 Beendigung der Transaktion --- 185   11.4 SQL --- 185  11.4.1 Erstellen einer Datenbank --- 186 11.4.2 Erstellen einer Tabelle --- 186 11.4.2.1 Spaltendatentyp --- 186 11.4.2.2 Beispielprogramm (1) --- 187 11.4.3 Tabelle verbinden --- 189 11.4.3.1 Beispielprogramm (2) --- 190 Eine einfache Swing-Referenz --- 192 A.1 Methode, die vielen Komponenten gemeinsam ist --- 192 A.2 Verschiedene Komponenten --- 192 A.3 Klassenhierarchie der Hauptkomponenten der GUI --- 197 A.4 Typisches Ereignis --- 198 B SWT einfache Referenz --- 199 B.1 Methode, die vielen Kontrollen gemeinsam ist --- 199 B.2 Verschiedene Kontrollen --- 199 B.3 Typisches Ereignis --- 204 C java.nio Bibliothek --- 205 C.1 Pfadschnittstelle und Pfadklasse --- 205 C.2 Dateiklasse --- 205 D Bibliothek eines Drittanbieters --- 209   D.1 Apfloat --- 209  E Beispielprogramm --- 211 E.1 Leistungsvergleich von ArrayList und LinkedList --- 211

Recommended Posts

Java-Einführungstext
Java
Java
Java zum Extrahieren von PDF-Textinhalten
Java lernen (0)
[Java] -Array
Java geschützt
JavaFX-Text
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java-Array
[Java] ArrayDeque
Java (Methode)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Java reflektierend 获 获 举
Java (Schnittstelle)
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Überprüfung
Java-Framework
Java-Funktionen
[Java] Vererbung
FastScanner Java
Java-Funktionen
Java Anfänger 3
Java-Memo
Java (Kapselung)
Java-Vererbung
[Java] Überladung
Java-Grundlagen
Java dekompilieren
[Java] Anmerkung
Java Note
Java Anfänger
Java (add2)
JAVA (Karte)
[Java] -Schnittstelle
Java9-Sammlung
Java-Grundlagen
Java-Methoden
Java-Tagebuch