Dies ist eine Zusammenfassung dessen, was ich im Referenztext für Java-Lernen gelernt habe. Ich ließ die ausführliche Erklärung weg und beschloss, die Punkte als eigenes Memorandum zusammenzufassen.
Eine erfrischende Einführung in Java 2nd Edition
Beschreiben Sie wie folgt. Geben Sie Ihren bevorzugten Klassennamen unter "Klassenname" ein und machen Sie dasselbe für den Dateinamen. Beispiel) Klassenname → TestJava ファイル名→TestJava.java
Name der öffentlichen Klasse{
public static void main(String[] args) {
"Inhalte verarbeiten"
}
}
Ausgabe "Test" Schreiben Sie die folgenden Inhalte in eine Datei, kompilieren Sie sie und führen Sie sie aus.
public class TestJava{
public static void main(String[] args){
System.out.println("test");
}
}
kompilieren
javac TestJava.java
Ausführung (TestJava.java wird durch Kompilierung erstellt, ".class" wird jedoch zur Laufzeit nicht hinzugefügt)
```java testjava```
Ausgabeergebnis
```test```
## 3. Zeilenvorschub (println)
Die Inhaltsunterbrechungen der Standardausgabeanzeige werden durch die Methode umgeschaltet. Die Registerkarte \ <br> in HTML.
public class Kaigyo { public static void main(String[] args) {
System.out.print("Druck ist"); System.out.print("Nicht kaputtmachen"); System.out.println(""); System.out.println("println"); System.out.println("Brechen Sie eine Linie"); } }
Ausgabeergebnis
Druck bricht nicht println Brechen Sie eine Linie
* Von hier aus wird nur die Methodenverarbeitung beschrieben.
## 4. Bewerten Sie große Werte (Math.max)
int a =10; int b =100; //Math.max(①,②)Der größere Wert wird übernommen int big = Math.max(a,b); System.out.println("Math.Bewertet mit der Max-Methode." + a + "Wann" + b + "Der große ist" + big );
Ausgabeergebnis
#### **`Math.Bewertet mit der Max-Methode. 10 und 100 sind die größten 100`**
```Bewertet mit der Max-Methode. 10 und 100 sind die größten 100
## 5. Konvertieren Sie Zeichenfolgen in Zahlen (Integer.parseInt)
String age = "30"; //Konvertieren Sie den String-Typ in den Int-Typ int n = Integer.parseInt(age); System.out.println("Bei Umwandlung in einen numerischen Wert" + ( n + 1 ) + "Wird sein" ); System.out.println("Wenn Sie nicht in eine Zahl konvertieren" + ( age + 1 ) + "Wird sein" );
Ausgabeergebnis
Zum Vergleich ist ersichtlich, dass n, das in einen numerischen Wert konvertiert wurde, hinzugefügt wird und das Alter als Zeichenfolge kombiniert wird, ohne hinzugefügt zu werden.
Bei der Konvertierung in einen numerischen Wert wird 31. Wenn es nicht in eine Zahl umgewandelt wird, ist es 301
## 6. Zufällig
Zeigen Sie nach dem Zufallsprinzip Zahlen an, die größer oder gleich 0 und kleiner als der durch "nextInt" angegebene Wert sind. Nur "nextInt (6)" wird als 0-5 angezeigt. Wenn Sie von 1 bis 6 anzeigen möchten, setzen Sie "nextInt (6) + 1" und 1 wird zur generierten Zufallszahl hinzugefügt, sodass der Bereich von 0 bis 5 1 bis 6 beträgt.
int r = new java.util.Random() .nextInt(6)+1; System.out.println("Würfeln" ); System.out.println("Das Ergebnis der Würfel" + r + "ist" );
Ausgabeergebnis
Würfeln Das Ergebnis der Würfel ist 6
## 7. Eingangsempfang (Scanner (System.in))
Sie können während der Ausführung Eingabeinformationen von der Tastatur empfangen.
System.out.println("Bitte geben Sie Ihren Namen ein." ); //Akzeptiert die Eingabe einer Zeichenfolge über die Tastatur. nextLine ist eine Zeichenfolge String gest = new java.util.Scanner(System.in).nextLine();
System.out.println("Bitte geben sie ihr alter ein." ); //Akzeptiert die Eingabe einer Ganzzahl über die Tastatur. nextInt ist eine Zahl int tosi = new java.util.Scanner(System.in).nextInt();
System.out.println ("Herzlich willkommen," + tosi + "volljährig" + gest + "Herr.");
Ausführungsergebnis
Bitte geben Sie Ihren Namen ein. ○○○ ← Eingabe über die Tastatur Bitte geben sie ihr alter ein. △△ ← Eingabe über die Tastatur Willkommen, Herr ○○○, im Alter von △△
## 8. Beziehungsoperator
Bedingungssymbol zum Verzweigen des im bedingten Ausdruck verwendeten Prozesses
|Operator|Bedeutung|
|:--:|:--|
|==|Linke Seite und rechte Seite sind gleich|
|!=|Die linke und die rechte Seite sind unterschiedlich|
|>|Die linke Seite ist größer als die rechte Seite|
|<|Die linke Seite ist kleiner als die rechte Seite|
|>=|Die linke Seite ist größer oder gleich der rechten Seite|
|<=|Die linke Seite ist kleiner oder gleich der rechten Seite|
* Verwenden Sie beim Vergleichen von Zeichenfolgen die Variable "Zeichenfolgenart .equals (Vergleichszeichenfolge)".
Anwendungsbeispiel)
String moziretu = new String("Vergleich"); String moziretu2 = new String("Vergleich"); if(moziretu.equals(moziretu2)) { System.out.println("OK"); }else{ System.out.println("NG"); }
## 9. Logische Formel
|Operator|Bedeutung|
|:--:|:--|
|&&|~ Und|
|Rohr|~ Oder|
|!|Umkehrung des bedingten Ausdrucks|
※Rohr=||
if((age >= 18 && grender ==1 ) || (age >= 16 && gender ==0 )) { //Alter ist 18 oder mehr und Geschlecht ist 1 oder Alter ist 16 oder mehr und Geschlecht ist 0
//Wenn der Zustand negativ ist if(!( age == 10 )) { //Alter ist nicht 10
## 10. Bedingter Zweig
* Von hier aus wird das Ausführungsergebnis nicht beschrieben. Wenn Sie sich das Verarbeitungsergebnis nicht vorstellen können, versuchen Sie es bitte auf Ihrem eigenen Terminal.
① if-Anweisung
Es gibt drei Schreibmuster: if-Anweisung, if-else-Anweisung, if-else if-else-Anweisung
if-Anweisung
Wenn der bedingte Ausdruck wahr ist, führen Sie den Prozess aus. Wenn nicht, nichts tun.
if( kakunin.equals( "OK" )) { System.out.println("Beginnen Sie mit der Wahrsagerei"); }
if-else-Anweisung
Wenn der bedingte Ausdruck wahr ist, führen Sie den Prozess aus. Wenn dies nicht zutrifft, führen Sie die Verarbeitung else aus.
if( kakunin.equals( "OK" )) { System.out.println("Beginnen Sie mit der Wahrsagerei"); }else{ System.out.println("Beenden Sie die Wahrsagerei-App"); }
if-else if-else-Anweisung
Wenn die Bedingung nicht erfüllt ist, wie unter einer anderen Bedingung zu bewerten. Geben Sie eine andere Bedingung mit else an, wenn.
System.out.println("Möchten Sie die Omikuji-App verwenden?");
System.out.print("Y/N:");
String ck = new java.util.Scanner(System.in).nextLine();
if( ck.equals( "Y" ) || ck.equals( "y" )) { System.out.println("Dein Vermögen ist herausgekommen.");
int omikuji = new java.util.Random().nextInt(9);
omikuji++;
if(omikuji ==1 ) {
System.out.println("Das Ergebnis ist Daikichi");
} else if(omikuji <=3 ) {
System.out.println("Das Ergebnis ist Nakayoshi");
} else if(omikuji <=6 ) {
System.out.println("Das Ergebnis ist Kokichi");
} else if(omikuji <=9 ) {
System.out.println("Das Ergebnis ist schlecht");
//if-else if-Die else-Anweisung kann die letzte else-Anweisung verwenden oder nicht
} else {
System.out.println("Das Ergebnis ist schrecklich");
}
} else {
System.out.println("Beenden Sie die Omikuji-App");
}
② switch-Anweisung
Wenn mehrere Bedingungen vorliegen, kann der Prozess mithilfe einer switch-Anweisung aktualisiert werden.
[Switch-Anweisungsregel]
- ">", "<", "! =" Usw. werden nicht in allen bedingten Ausdrücken verwendet, um zu vergleichen, ob die linke und die rechte Seite übereinstimmen.
-Die zu vergleichenden Werte sind Ganzzahlen, Zeichenfolgen und Zeichenübereinstimmungen, keine Brüche oder Booleschen Werte.
・ Es handelt sich nicht um einen bedingten Ausdruck, sondern um einen Variablennamen, der unmittelbar nach dem Wechsel geschrieben wird.
・ Wert und Doppelpunkt neben Groß- / Kleinschreibung
・ Break Statement am Ende der Fallbearbeitung
-Das Standardetikett kann weggelassen werden, wenn keine andere Verarbeitung erforderlich ist.
System.out.println("Möchten Sie die Omikuji-App erneut ausprobieren?");
System.out.print("Y/N:");
String ck2 = new java.util.Scanner(System.in).nextLine();
if( ck2.equals( "Y" ) || ck2.equals( "y" )) {
System.out.println("Dein Vermögen ist herausgekommen.");
int omikuji2 = new java.util.Random().nextInt(4);
omikuji2++;
switch (omikuji2) {
case 1:
System.out.println("Das Ergebnis ist Daikichi");
break;
case 2:
System.out.println("Das Ergebnis ist Nakayoshi");
break;
case 3:
System.out.println("Das Ergebnis ist Kokichi");
break;
case 4:
System.out.println("Das Ergebnis ist schlecht");
break;
case 5:
System.out.println("Das Ergebnis ist schrecklich");
break;
}
} else {
System.out.println("Beenden Sie die Omikuji-App");
}
Sofern der Prozess nicht nach jeder case-Anweisung explizit durch eine break-Anweisung unterbrochen wird, wird der Prozess unter dieser Bedingung weiterhin ausgeführt. Das liegt daran, dass die switch-Anweisung nur zu dem Prozess springt, der die Bedingungen erfüllt.
Das folgende Beispiel ist jedoch ein Muster, das zwei Bedingungen verwendet, ohne eine break-Anweisung zu schreiben.
System.out.println("Möchten Sie die Omikuji-App erneut ausprobieren?");
System.out.print("Y/N:"); String ck3 = new java.util.Scanner(System.in).nextLine(); if( ck3.equals( "Y" ) || ck3.equals( "y" )) { System.out.println("Dein Vermögen ist herausgekommen.");
int omikuji3 = new java.util.Random().nextInt(9);
omikuji3++;
switch (omikuji3) {
case 1:
System.out.println("Das Ergebnis ist Daikichi");
break;
case 2:
case 3:
System.out.println("Das Ergebnis ist Nakayoshi");
break;
case 4:
case 5:
case 6:
System.out.println("Das Ergebnis ist Kokichi");
break;
case 7:
case 8:
case 9:
System.out.println("Das Ergebnis ist schlecht");
break;
case 10:
System.out.println("Das Ergebnis ist schrecklich");
break;
}
} else { System.out.println("Beenden Sie die Omikuji-App"); }
## 11. Wiederholen
① while-Anweisung
Es gibt zwei Variationen der while-Anweisung.
while-Anweisung (Präfix-Urteil)
Treffen Sie eine bedingte Entscheidung, bevor Sie den Block ausführen.
int temperature =25; //Wiederholen Sie diesen Block, wenn die while-Bedingung erfüllt ist while (temperature >20) { temperature--; System.out.println("Ich habe die Temperatur um 1 Grad gesenkt"); }
do while-Anweisung (Postfix-Urteil)
Nach dem Ausführen des Blocks wird die Bedingung beurteilt.
System.out.print("Y/N:"); String ck4 = new java.util.Scanner(System.in).nextLine(); if( ck4.equals( "Y" ) || ck4.equals( "y" )) {
int temperature2 =25; do { temperature2--; System.out.println("Ich habe die Temperatur um 1 Grad gesenkt"); } while(temperature2 >20); } else { System.out.println("Fertig"); }
② für Satz
[Für Satzregel]
・ Für ((1) variable Initialisierungsverarbeitung; (2) Wiederholungsbedingung; (3) Wiederholung der Endverarbeitung)
-Variationen, die an anderer Stelle deklariert wurden, können nicht verwendet werden
-Die in der for-Anweisung deklarierte Nummer verschwindet nach der Ausführung, sodass sie wiederverwendet werden kann.
・ Erhöhen / Verringern des Werts in der for-Anweisung i + = 2 | Verringern um 1 i--
for( int i =0 ; i <10 ; i++ ) { System.out.println( "für Anweisung wiederholen" + ( i + 1 ) + "Woche"); }
Es ist auch möglich, die Schleifenvariable wegzulassen und den Initialisierungsprozess von for wegzulassen.
int i = 0 ; for(; i < 5 ; i++ ) { System.out.print( "für Anweisung wiederholen" + ( i + 1 ) + "Woche →"); }
Wenn die Schleife der for-Anweisung dupliziert wird.
//Neunundneunzig Tisch System.out.println("Es ist die Stufe von neunundneunzig.");
for( int x = 1; x < 10; x++) { for( int y =1; y < 10; y++) { System.out.print( x * y ); System.out.print(" "); } System.out.println(""); }
Die break-Anweisung unterbricht den iterativen Prozess selbst.
//Neunundneunzig Tisch //Überspringen Sie in der break-Anweisung den Zielprozess System.out.println("Neunundneunzig Schritte(break-Anweisung)Bis zu 5 Schritte.");
for( int x = 1; x < 10; x++) { if( x == 6 ) { break; } for( int y =1; y < 10; y++) { System.out.print( x * y ); System.out.print(" "); } System.out.println(""); }
Die continue-Anweisung unterbricht nur den Zielprozess und fährt mit der nächsten Iteration fort.
//Neunundneunzig Tisch //Überspringen Sie in der continue-Anweisung nur den Zielprozess System.out.println("Neunundneunzig Schritte(Aussage fortsetzen)Überspringen Sie den fünften Schritt.");
for( int x = 1; x < 10; x++) {
if ( x == 5 ) {
continue;
}
for( int y =1; y < 10; y++) {
System.out.print( x * y );
System.out.print(" ");
}
System.out.println("");
}
So erstellen Sie, wenn Sie absichtlich eine Endlosschleife erstellen
* Wiederholen Sie dies für immer, es sei denn, Sie müssen es beenden
Es wird im Allgemeinen nach den folgenden zwei Methoden hergestellt.
① while (ture) {Verarbeitung}
② für (;;) {Verarbeitung}
## 12. Array
- Erstellen Sie ein Array: "Typ [] Name der Array-Variablen = neuer Typ [5];"
-Sie können die Anzahl der Elemente mit der Array-Variablen name.length überprüfen.
Im folgenden Beispiel wird ein Array erstellt, die Anzahl der Elemente bestätigt und der in das Array eingegebene Wert (Punktzahl [1]) bestätigt.
int[] score = new int[5]; int kakunin = score.length; score[1] = 30; System.out.println("Array-Werte:" + kakunin); System.out.println("score[1]Der Wert von:" + score[1]);
Variablen werden nicht automatisch initialisiert. Wenn Sie also die Anfangswerte nicht wie unten gezeigt festlegen, tritt ein Kompilierungsfehler auf.
int x; System.out.println(x);
Array-Variablen werden automatisch initialisiert.
int, double usw. → 0
boolean→false
In den folgenden Fällen wird 0 ausgegeben.
int[] score2 = new int[5]; System.out.println("score2[1]Der Wert von:" + score2[1]);
In den folgenden Fällen wird false ausgegeben.
boolean[] score3 = new boolean[5]; System.out.println("score3[1]Der Wert von:" + score3[1]);
Wenn der Anfangswert für den String-Typ nicht festgelegt ist, wird null zurückgegeben.
String[] score4 = new String[5]; System.out.println("score4[1]Der Wert von:" + score4[1]);
Abkürzungsnotation
・ Auch wenn Sie in [] keine Nummer eingeben, können Sie {} zum Zuweisen verwenden.
-Der neue Array-Variablenname kann weggelassen werden.
//score5 o~Setze 4 Elemente int[] score5 = new int[] { 20 ,30 ,40 ,50 ,60 }; //score6 o~Setze 4 Elemente int[] score6 = { 20 ,30 ,40 ,50 ,60 };
System.out.println("score5[3]Der Wert von:" + score5[3]); System.out.println("score6[4]Der Wert von:" + score6[4]);
Schleife das Array
Durch Festlegen der Anzahl der Elemente in der Wiederholungsbedingung der for-Anweisung wird die Wiederholung durch die Anzahl der Elemente im Array ausgeführt.
für (int i = 0; i <Name der Arrayvariablen.Länge; i ++);
int[] score7 = new int[] { 100 ,200 ,300 ,400 ,500 }; for( int i = 0 ; i < score7.length ; i++ ) { System.out.println(score7[i]); }
Versuchen Sie, Summen und Durchschnittswerte mithilfe eines Arrays zu berechnen
//Speichern Sie Punkte in einem Array int[] score8 = { 80 , 85 , 70 , 70 , 80 }; int sum = 0 ; //Iterative Verarbeitung für die Anzahl der Sequenzen for( int i = 0 ; i < score8.length ; i++ ) { //Fügen Sie den Wert des Arrays zur Summenvariablen hinzu sum = sum + score8[i]; } System.out.println("sum:" + sum); //Teilen Sie die Anzahl der Elemente von der Summe, um den Durchschnitt zu berechnen int ave = sum / score8.length; System.out.println("ave:" + ave);
Für Aussage erweitert
-Für (beliebiger Variablenname des Elementtyps: Name der Arrayvariablen)
-For-Anweisung zum einfachen Schreiben einer Schleife, mit der Array-Elemente einzeln abgerufen werden
Wenn Sie sich das folgende Beispiel ansehen, können Sie sehen, dass es ziemlich einfach ist.
für Satz: für (int i = 0; i <score8.length; i ++) {
Erweitert für Anweisung: für (int Wert: score9) {
int[] score9 = { 100 , 90 , 100 , 100 , 90 }; int sum2 = 0 ; for( int value : score9 ) { sum2 = sum2 + value; } System.out.println("sum2:" + sum2); int ave2 = sum / score9.length; System.out.println("ave2:" + ave2);
Array-Länge und String-Länge ()
- Zählen Sie für Arrays die Anzahl der Elemente mit "array variable name.length".
- Zählen Sie für Zeichenfolgen die Anzahl der Zeichen mit "Zeichenfolgenvariablenname.length ()".
String s ="Entwickelt mit JAVA"; System.out.println( s + "Ist" + s.length() + "Es ist ein Charakter." );
Ein zweidimensionales Array
-Deklaration-> Elementtyp [] Name der Arrayvariablen = neuer Elementtyp [Anzahl der Zeilen] [Anzahl der Spalten]
-Array Variablenname [Zeilenindex] [Spaltenindex]
Im folgenden Beispiel wird die Anzahl der Elemente im übergeordneten Array und im untergeordneten Array angezeigt.
int[][] score10 = { { 10 , 20 ,30 } , { 40 , 50 , 60 } }; System.out.println("Anzahl der Zeilen anzeigen" + score10.length ); //Übergeordnetes Array(Anzahl der Zeilen)Show System.out.println("Zeigen Sie die Anzahl der Spalten an" + score10[0].length ); //Untergeordnetes Array(Anzahl der Spalten von Element 0)Show
## 13. Müllabfuhr
Ein Mechanismus zum automatischen Löschen nicht verwendeten Speichers, auf den nicht verwiesen wird, um Speicherdruck zu vermeiden
Wenn Sie in die Variable des Referenztyps null einfügen, wird die Referenz abgeschnitten (wenn sie von keiner Stelle aus referenziert wird, wird sie der Garbage Collection unterzogen).
Das folgende Beispiel wird absichtlich nicht referenziert.
int[] a = { 1 , 2 , 3}; a = null; a[0] = 10; System.out.println(a[0]); Im obigen Fall wird die Referenz abgeschnitten, sodass "NullPointerException" ausgegeben wird.
## 14. Methode
Methodendefinition
öffentlicher statischer Rückgabewert Methodenname (Argumentliste){ Was passiert, wenn eine Methode aufgerufen wird? }
Erstellungsbeispiel
public static void hello(String name){ System.out.println( name + "Hallo,"); }
Verwendung des Rückgabewerts
Geben Sie eine Berechnungsformel in ans ein und verwenden Sie den Inhalt, um zurückzukehren, indem Sie einen Wert in die rote Methode eingeben
public static int ret(int a, int b){ int ans = a + b; return ans; }
So rufen Sie eine Methode auf
Methode (Argumentliste) * Geben Sie die Variablen an, die Sie zum Zeitpunkt des Aufrufs in der durch Kommas getrennten Argumentliste übergeben möchten.
public static void main(String[] args){ hello("Taro"); hello("Jiro");
int ans = ret(100,50);
System.out.println("Der Rückgabewert ist:" + ans);
System.out.println(ret(ret(10,20) , ret(30,40)));
ret(10,5);
}
## 15. Überlastung
-Normalerweise kann dieselbe Methode nicht verwendet werden, sie kann jedoch verwendet werden, wenn der Typ unterschiedlich ist. Die gleichnamige Definition heißt Überladung
-Überladung ist möglich, wenn die Informationen nach dem Rückgabetyp (Methodensignatur: Methodenname, Argumenttyp / Nummer / Reihenfolge) unterschiedlich sind.
Anwendungsbeispiel
//int type public static int ret(int a, int b){ return a + b; }
//Doppeltyp public static double ret(double a, double b){ return a + b; }
//Zeichenfolgentyp public static String ret(String a, String b){ return a + b; }
//Eine Überladung ist auch dann möglich, wenn die Anzahl der Argumente unterschiedlich ist public static int ret2(int a, int b){ return a + b; }
public static int ret2(int a, int b, int c){
return a + b + c;
}
## 16. Verwenden Sie ein Array für Methodenargumente und Rückgabewerte
Da das Array für jede Adresse und nicht für den Inhalt der Variablen übergeben wird, wirkt sich das Ändern des Angerufenen so aus, wie es ist.
//Fügen Sie ein Array in das Argument ein(Verwenden Sie erweitert für Anweisung) public static void ckArray(int[] array){ for(int x : array){ System.out.println(x); } }
//Übergeben Sie das Array in einem Methodenaufruf public static void methArray(int[] array){ for(int i =0; i < array.length; i++){ array[i]++; } }
//Übergeben Sie ein Array als Rückgabewert(Verwenden Sie erweitert für Anweisung) public static int[] retArray(int size){ int[] newArray = new int[size]; for(int i = 0; i < newArray.length; i++ ){ newArray[i] = i; } return newArray; }
## 17. Befehlszeilenargumente
Sie können ein Zeichenfolgenarray empfangen, indem Sie das Zeichenfolgentyparray der Hauptmethode zur Laufzeit mit einem Argument ausführen.
public class CmdLine { public static void main(String[] args){ //Name als erstes Argument System.out.println("Hallo," + args[0] +"Herr."); //Beruf im zweiten Argument System.out.println("Besetzung" + args[1] +"nicht wahr"); } }
Erstellen Sie eine Datei mit dem oben genannten Inhalt, kompilieren Sie sie und führen Sie sie wie folgt aus.
```Java Cmdline Taro Ingenieur```
Ausführungsergebnis
Hallo Taro Beruf ist Ingenieur
Das ist alles für diese Zusammenfassung.
Außerdem werde ich posten, wenn der Lerninhalt angesammelt ist.
Recommended Posts