Java Silver Prüfungsvorbereitungsnotiz

Java Silver Prüfungsvorbereitungsnotiz

1. 1. Java-Grundlagen

--package- und import-Deklarationen gelten für alle Klassen in derselben Datei

import static jp.co.xxx.Sample.num
import static jp.co.xxx.Sample.print

Sie können den Modifikator weglassen, indem Sie ihn einstellen ** nicht "statischer Import", sondern "statischer Import" **

Irgendein von.

--javac Befehl (Kompilieren) hat ** Erweiterung **, Java Befehl (Ausführen) hat ** keine Erweiterung **

javac Main.java
java Main

2. Bearbeiten von Java-Datentypen

Datentyp Wert
boolean 1 bit
char 16-Bit-Unicode-Zeichen
byte 8 bit
short 16 bit
int 32 bit
long 64 bit
float 32 bit
double 64 bit

Byte ist 8 Bit und ich kann mich von dort zweimal erinnern int - lang mit float --double Beachten Sie, dass es positive und negative gibt (Beispiel: 0b11111111 (= 255) wird nicht in Byte eingegeben (-128 bis 127)).

Basisnummer Notation
Dezimalzahl 123
Hexadezimal 0x1A8
8 Basis 0123
Binärzahl 0b011

--Numerische Notation mit "\ _" Nicht vor oder nach dem Anfang / Ende / Symbol verwenden ("." "L" "F" "0x" ...) Fortlaufend ist OK

--Char-Typ

Irgendein von String-Literale (doppeltes Anführungszeichen) sind nicht zulässig

3. 3. Verwendung von Operatoren und Entscheidungsstrukturen

int a = 3;
int b = a += 5; // a = 8, b = 8
int a = 10 * - 10; // a = -100
byte a = 0b10000000; //int → byte ist OK, wenn es außerhalb des Bereichs liegt, aber außerhalb des Bereichs, also ein Kompilierungsfehler
short b = 128 + 128; //Da es im Bereich von kurz, int → kurz, aber OK liegt
int c = 2 * 3L; //Seit langem → int, Kompilierungsfehler
float d = 10.0; //Da double → float, Kompilierungsfehler (10).0f ist OK)
boolean a = 1; //Kompilierungsfehler
byte b = true; //Kompilierungsfehler

--instanceOf bestimmt, ob eine Instanz mit dem angegebenen Typ verarbeitet werden kann

interface A {}
class B implements A {}

---

B b = new B();
System.out.println(b instanceOf B); // true
System.out.println(b instanceOf A); // true
false && x++ == 1; // false, x++Ignorieren
false & x++ == 1; // false, x++Getan werden
true || x++ == 1; // true, x++Ignorieren
true || x++ == 1; // true, x++Getan werden

--Wenn im Code dasselbe Zeichenfolgenliteral angezeigt wird, wird der Verweis auf dieselbe Instanz wiederverwendet. Mechanismus namens "konstanter Pool" Eine String-Instanz wird im konstanten Speicherbereich anstelle des Instanzspeicherbereichs für String-Literale erstellt. Explizit neu

String a = "test"; //Verweis auf eine String-Instanz, die im konstanten Speicherbereich erstellt wurde
String b = "test"; //Verweis auf eine String-Instanz, die im konstanten Speicherbereich erstellt wurde
System.out.println(a == b) //wahr, nicht nur "gleicher Wert", sondern auch "gleicher Wert"

String c = new String("test"); // //Verweis auf eine String-Instanz, die beispielsweise im Speicherbereich erstellt wurde
System.out.println(a == c) // false
System.out.println(a.equlas(c)) // true
if (Bedingter Ausdruck A.) hoge();
else
if (Bedingter Ausdruck B.) fuga();
else bar();

//Dies entspricht

if (Bedingter Ausdruck A.) hoge();
else {
	if (Bedingter Ausdruck B.) fuga();
	else bar();
}

nur ** boolesch und lang sind nicht **

** Variablen sind in keinem von ** erlaubt

4. Erstellen und Verwenden von Arrays

int[] a = new int[0]; //Sie können auch ein Array-Objekt mit 0 Elementen erstellen
int[] b = new int[3];
ArrayList<Integer> c = new ArrayList<>();

System.out.println(a); // [I@677327b6
System.out.println(b); // [I@14ae5a5 * Im Gegensatz zu ArrayList wird der Inhalt auch beim Drucken nicht angezeigt.
System.out.println(c); // []
//Beide können kompiliert werden
int[] a;
int b[];
int[][] c[];
int[3] a; //Kompilierungsfehler
int b[3]; //Kompilierungsfehler
int c[] = new int[3]; // OK. int[3]Eine Array-Instanz von wird erstellt und ein Verweis darauf wird in c festgelegt
int[] a = new int[3 * 5]; // ok
int x = 5;
int[] b = new int[x]; // ok
int[] c = new int[3.5]; //Kompilierungsfehler
int[] d = new int[]; //Kompilierungsfehler

int[][][] e = new int[3][4][5]; // ok
int[][][] f = new int[3][][]; // ok
int[][][] g = new int[][][5]; //Kompilierungsfehler
int[] a = {2, 3}; // ok
int[] b = new int[]{2, 3}; // ok
int[] c = new int[2]{2, 3}; //Kompilierungsfehler Geben Sie bei Verwendung des Initialisierungsoperators nicht die Anzahl der Elemente an
int[] d = {}; //Ok ohne Elemente
int[] e;
e = {}; //Kompilierungsfehler Der Initialisierungsoperator kann nur verwendet werden, wenn eine Variable vom Typ Array deklariert wird

--Array-Typvariablen können implizit in übergeordnete Klassenarray-Typvariablen (Upcast) typkonvertiert werden.

Child[] c = new Child[]{new Child(), new Child()}
Parent[] p = c; // ok

5. Verwendung der Schleifenstruktur

for (int i = 0, j = 10; true; i++, j++) {}// ok
for (int i = 0, long j = 10; true; i++) {}//Kompilierungsfehler
for (int i = 0; true, i < 10; i++) {} //Kompilierungsfehler
Sample[] array = {new Sample(1), new Sample(2), new Sample(3)};
System.out.println(array[0].getValue()); // 1
for (Sample s : array){
	s = new Sample(4);
	System.out.println(s.getValue()); // 4
}
System.out.println(array[0].getValue()); // 1

// s.setValue(4)In diesem Fall ist auch die ursprüngliche Anordnung betroffen.

6. Methoden und Kapselungsoperationen

--Variables Längenargument

Qualifikation Erläuterung
public Alles ok
protected Nur Unterklassen oder Klassen im selben Paket
Keiner Nur Klassen im selben Paket
private Nur aus der Klasse heraus

7. Vererbungsbetrieb

――Die folgenden beiden werden nicht in die Unterklasse übertragen --Konstrukteur --private Feldmethode

class Parent {
	String val = "P";
	public String getVal1(){
		return val;
	}
	public String getVal2(){
		return val;
	}
}

class Child extends Parent {
	String val = "C";
	public String getVal2(){
		return val;
	}
}

class Main {
	public static void main (String args[]){
		Parent p = new Parent();
		Parent c = new Child();
		System.out.println(p.val); // P
		System.out.println(c.val); //Da es als Elternteil deklariert ist, ist P.
		System.out.println(p.getVal1()); // P
		System.out.println(c.getVal1()); //Da es sich um eine in Parent deklarierte Methode handelt, wird P.
		System.out.println(p.getVal2()); // P
		System.out.println(c.getVal2()); //C, weil es überschrieben wurde
	}
}
interface A { public void abst(); }
class B { public void abst(); }
class C extends B implements A{ } // ok.Wird in Betracht gezogen, um die abstrakte Methode von A zu implementieren

--Cast = "Kompatibilitätsgarantie mit dem Compiler"

class Parent {}
class Child extends Parent{ }

class Main{
	public static void main(String args[]){
		Parent c = new Child();
		Parent p = new Parent();
		
		Child c_ = (Child) c; // ok
		Child p_ = (Child) p; //Kompiliert, aber zur Laufzeit ClassCastException
	}
}
int num = 10;
if (num < 11){
	int num = 20; //Kompilierungsfehler
	int value = 100; //OK, da der Umfang unterschiedlich ist
}
int value = 200;

8. Ausnahmen behandeln

--try-catch-finally-Syntax ――Die Reihenfolge kann nicht geändert werden - try

public static int sample1(){
	try {
		throw new Exception();
	} catch (Exception e){
		return 0;
	} finally {
		return 1;
	}
}

public static int sample2(){
	int val;

	try {
		throw new Exception();
	} catch (Exception e){
		val = 0;
		return val;
	} finally {
		val = 1;
	}
}

public static void main (String args[]){
	System.out.println(sample1()); // 1
	System.out.println(sample2()); // 0
}

--Wenn eine Ausnahme auftritt --Verfahren Sie mit try catch --Declare wirft eine Methode ein

Sie müssen einen der folgenden Schritte ausführen. Dies gilt auch für diejenigen, die die deklarierte Throws-Methode verwenden ** Die Hauptmethode erfordert auch eine der beiden oben genannten **

Bearbeiten der Hauptklassen der Java-API

String

--String ist eine Unterklasse von CharSequence

String a = "30" + 5; // 305
String b = "30" + 5 + 8; // = "305" + 8 = "3058"
String c = 5 + 8 + "30"; // = 13 + "30" = "1330"

String d = "hoge" + null; // = "hogenull"

--StringBuilder hat standardmäßig einen Puffer für 16 Zeichen

StringBuilder sb = new StringBuilder("abc");
System.out.println(sb.capacity()); // 3 + 16 = 19

StringBuilder sb2 = new StringBuilder(5);
System.out.println(sb2.capacity()); // 5

--StringBuilder-Methoden - append(x) --x kann alle primitiven Typen enthalten 10 ist "10", wahr ist "wahr" - insert(index, "hoge") - delete(start, end) - deleteCharAt(index) - reverse() - replace(start, end, "hoge") - subString(start, end) - String - subSequence(start, end) - CharSequence - toString()

Lambda-Stil

//Funktionsschnittstelle
interface Algorithm1 { 
	void perform(String name);
}

interface Algorithm2 {
	String perform(String name);
}

---

Algorithm1 a = (String name) -> { System.out.println(name); }
Algorithm1 b = (name) -> { System.out.println(name); } //Der Argumenttyp ist optional
Algorithm1 c = name -> System.out.println(name); //Wenn es nur ein Argument gibt()Optional, wenn es nur eine Methode gibt{}Optional

Algorithm2 d = name -> { return "hello " + name + " !"; }
Algorithm2 e = name -> "hello " + name + " !"; //Benötigen Sie einen Rückgabewert{}Wenn nicht angegeben, kann die Rückgabe nicht beschrieben werden
Algorithm2 e = name -> return "hello " + name + " !"; //Kompilierungsfehler

--Um auf lokale Variablen zuzugreifen, die außerhalb des Lambda-Ausdrucks innerhalb des Lambda-Ausdrucks deklariert wurden Muss eine praktisch endgültige Variable sein (eine Variable, die sich nie ändert)

DateTime

ArrayList

tips

//Die Ausnahme der Unterklasse folgt
try {} catch (Exception e) {} catch (IOException e) { /** cannot reach **/ };
//Schreiben Sie den Vorgang nach dem Fortfahren
for (int i : list){
	if ( flg ) {
		continue;
		hoge(); // cannot reach
	}
}
//Bearbeitung nach Rücksendung
void sample(){
	return;
	hoge(); // cannot reach
}

Recommended Posts

Java Silver Prüfungsvorbereitungsnotiz
Java Silver Memo
Ein Memorandum der Java8 Silver-Prüfung
JAVA Silver Qualifikationsprüfungsprotokoll
Java Silver Lernmethode Memo
Materialien zur Vorbereitung auf den JAVA-Qualifikationstest
Java-Memo
Java alles Memo
Wie man die Java Silver Prüfung ablegt und wie man lernt
Java, Maven Memo
Java Silver Exam Reservation Vollständiger Strategie-Leitfaden
Java SE 7 Hinweis
Java alles Memo 2
Studieren Sie Java Silver 1
Java-Spezifikationsnotiz
Java-Muster-Memo
[Qualifikationstest] Zusammenfassung der Java SE 8 Silver-Lernmethode
Java SE8 Silver bestanden
Java Bronze Silber bestanden
Memo zur Java-Entwicklungsumgebung
[Zusammenfassung] Zum Beispiel die Vorbereitung der Java-Umgebung
Java Silver Study Day 1
Java Grundwissen Memo
Java-Lernnotiz (Methode)
Java Kuche Day Memo
Java Silver Passing Erfahrung
Fassen Sie die Java-Vererbung zusammen (Java Silver 8)
[Java] Java SE 8 Silver Note
[Java Silver] Informationen zur Initialisierung
Informationen zur Vererbung (Java Silver)
Java-Lernnotiz (grundlegend)
Java Lambda Ausdruck Memo
(Memo) Java für Anweisung
Java Lambda Ausdruck [Notiz schreiben]
Java-Lernnotiz (Schnittstelle)
[Java] Implizites Vererbungsprotokoll
Java-Lernnotiz (Vererbung)
Programmiernotiz für Java-Wettbewerbe
Hinweise zur Java8 Gold-Prüfung
[Memo] Java Linked List
Mit dem Ziel, Java Oracle Silver zu erwerben, Punkt Memo (Pass)
Java (WebSphere Application Server) Hinweis [1]
Java-Memo-Teilzeichenfolge (Standardklasse)
Java SE 8 Sliver Problem Collection Zusammenfassung
[Erfahrung] Java SE 8 Silver bestanden
Länge des Java-Memos (Standardklasse)
Erstellen Sie eine Java-Methode [Memo] [java11]
[Java Silver] Über gleich Methode
Java-Lernnotiz (logischer Operator)
Java-Lernnotiz (abstrakte Klasse)
Java SE8 Silver Passing Erfahrung
[Java] Datum Verwandte Begriffsnotiz
Java Study Memo 2 mit Progate
[Java Silver] So generieren Sie ein Array
Was sind Java-Metriken? _Memo_20200818
Java HashMap, entrySet [Persönliches Memo]
Unmittelbar vor der Prüfung zur Java Silver-Prüfung / Trigger-Frage
So lernen Sie Java Silver SE 8