1. Installation und Verwendung von myEclipse
* Eclipse: Ist ein kostenloses Entwicklungsinstrument* MyeClipse: Ist ein bezahltes Plug-In, um MyeClipse zu knacken, ** Anforderungen an das Installationsverzeichnis: Es kann nicht Chinese und Räume geben Java Project Web Project- Wählen Sie die Abhängigkeit JDK, Sie können die mit MyeClipse gelieferte JDK verwenden, oder Sie können das installierte JDK* verwenden, um ein Paketpaket zu erstellen. Rückgabewert;} - Methode Benennungsspezifikation Kleinbuchstaben Erster Buchstabe, zum Beispiel: addnum ()* Variable - Variable Benennungsspezifikation ** Der erste Buchstabe untergebrachtem Buchstaben, der erste Buchstaben des zweiten Wortes sollte Großbuchstaben sein, wie der Benutzername* Es gibt einen anderen Weg, um zu benennen Benennung: Sehen Sie den Namen und wissen Sie, was er bedeutet.
2. Debugg -Debug -Modus (Breakpoint -Debug -Modus)
* Verwenden Sie diesen Modus, debuggen Sie das Programm (siehe Änderungen in den Daten im Programm) * Der erste Schritt zur Verwendung von Debuggen erfordert das Einstellen eines Breakpoint (lass das Programm Lauf in dieser Zeile stopen) - Zeigen Sie die Zeilennummer - Doppelklicken Sie auf der linken Seite, ein Punkt erscheint, was zeigt, dass ein Breakpoint eingestellt wurde. Down* Sie können das Programm ausführen lassen, - den Schritt über den T -Shortcut -Schlüssel F6 verwenden (Einzelstufenausführung) - Resume F8: Zeigt an, dass das Debuggen vorbei ist, direkt nach unten rennen F7 Schritt Rückgabe: Rückkehr
3. Verwendung von MyeClipse -Verknüpfungsschlüssel
* Code-Eingabeaufforderung Alt /* Schnellhandbuch Paket Strg Shift O* Einzelzeilen-Kommentar Strg /* Entfernen Sie ein einzelnes Zeilen-Kommentar Strg /* Multi-Line
4. Verwendung von JUNIT
* Unit-Test* Das Testobjekt ist eine Methode in einer Klasse* Juint ist nicht Teil von Javase. Ich möchte das Import-JAR-Paket verwenden ** Das JAR-Paket mit JUNIT wird jedoch in myEclipse gebracht @Testpublic void testadd1 () {testjunit test01 = new TestJunit (); test01.Testadd (2, 3);}-Wählen Sie den Methodennamen aus, klicken Sie mit rechts, um den Lauf zu rennen. Klasse, Run AS --- JUNIT-Test ** @ignore: bedeutet, dass diese Methode nicht getestet wird. Parameter ** Reflexion5. Einführung in Generika
* Warum Generika verwenden? - Im Allgemeinen an Sets ** verwendet, geben Sie zum Beispiel jetzt einen Zeichenfolgenwertstyp in den Satz ein. Zu diesem Zeitpunkt kann der Typ, der seine Fähigkeit verliert, nur der Objekttyp. Wenn Sie beispielsweise diesen Wert konvertieren möchten, können Sie beispielsweise Typ -Konvertierungsfehler eingeben. Wie man dieses Problem löst, kann verwendet werden, um dieses Problem mit Generika zu lösen. Doublechar - CharakterBoolean - boolean* Drei Implementierungen der Verwendung generischer Listen auf List ArrayList LinkedList Vektorcode: @Testpublic void testlist () {list <string> list = new ArrayList <String> (); list.add ("AAA"); LISTD.ADD ("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBE. Für die Verbesserung der Schleifen -Iterator für // gewöhnlich für Schleife für (int i = 0; i <list.size (); i ++) {String s = list.get(i);System.out.println(s);}System.out.println("============================================================================== ======================================================================= ======================================================================= ======================================================================== ======================================================================= ======================================================================= ======================================================================= Diese drei Unterschiede * verwenden generischen Code auf set: // generics verwenden set auf set @TestPublic void testset () {set <string> set = new Hashset <string> (); set.add ("www"); set.add ("qqqQ"); set.add ("zzz"). Verbesserung für // Verbesserung für Traversal für (String S2: Set) {System.out.println (S2);} System.out.println ("===================================================== ==============================================================================================ieben ==============================================================================================ieben ===========================================================================================================ieben = set.Iderator (); while (it1.hasnext ()) {System.out.println (it1.next ());}}* Verwenden Sie die Generik-Map-Struktur auf Karte: key-Valu-Formcode: // Generika auf map @Testpublic void testmap () {map <string> map = new HaStestpublic void>; "111"); map.put ("bbb", "222"); map.put ("ccc", "333"); // transip map Es gibt verschiedene Möglichkeiten zum Traverse // 1. Alle Schlüssel abrufen und Wert durch Schlüssel verwenden. (String -Schlüssel: Sets) {// Get Valuestring Value = map.get (Schlüssel); System.out.println (Schlüssel+": "+value);}System.out.println("============================================================================= ==================================================================ieben ==================================================================ieben ==================================================================ieben {// Eintrag ist die Beziehung zwischen Schlüssel- und Wertstring -String keyv = Eintrag.getkey (); String ValueV = Eintrag.getValue (); System.out.println (KeyV+":"+valueV);}}6. Generika werden in Methoden verwendet
* Definieren Sie ein Array, um den Austausch von Array -Elementen an der angegebenen Position zu implementieren.* Die Methodenlogik ist gleich, die Datentypen sind jedoch unterschiedlich. Verwenden Sie zu diesem Zeitpunkt generische Methoden* /** Verwenden Sie generische Methoden, um einen Typ zu definieren, um Großbuchstaben zu verwenden, um t zu repräsentieren: Dieses t repräsentiert jeden Typ* Bevor der Rückgabewert geschrieben wird <T>* =========== Definieren Sie einen Typ. Dieser Typ ist t* Hier können Sie diesen Typ t**/public static <T> void SWAP1 (t [] arr, int a, int b) {t temp = arr [a]; arr [a] = arr [b]; arr [b] = temp;} ** Hiob 2: Implementieren Sie eine generische Methode, akzeptieren Sie alle Elemente im Array in der Array in der Array in der Array und reversen alle Elemente im Array im Array um. In der Array reversen Sie alle Elemente im Array um. Array reversen im Array um. In der Array reversen Sie alle Elemente im Array.7. Verwendung von Generika in Klassen (verstehen)
* Definieren Sie einen Typ in einer Klasse, dieser Typ kann direkt in der Klasse verwendet werden public void test11 (t bb) {} // Schreiben Sie eine generische, die durch eine statische Methode in der Klasse definiert ist, und Sie können keine öffentliche statische Methode mehr verwenden, die öffentliche statische statische <a> void test12 (a cc) {}}8. Einführung in die Aufzählung
* Was ist eine Aufzählung? ** Sie müssen einen Wert innerhalb eines bestimmten Bereichs nehmen, und dieser Wert kann nur einen der Bereiche sein. ** Realistische Szene: Ampeln, es gibt drei Farben, aber nur eine der drei Farben kann gleichzeitig hell sein. Klasse ** Schreiben Sie diese abstrakte Methode in jeder Instanz des Enums neu
9. Der Betrieb der aufzähligen API
** name (): Gibt den Namen des Enums zurück. Konvertierung zwischen Enum-Objekten, Enum-Objekt-Index- und Enum-Objektnamen-Darstellungen- // Kennen Sie das Enum-Objekt, erhalten Sie den Namen des Enum-Namens und des Index. c100.ordinal (); c1.ordinal (); system.out.println (idx1);}- // Kennen Sie den Einlisten der Aufzählung, erhalten Sie das Objekt und den Namen der Aufzählung @TestPublic void test3 () {int idx2 = 2; // Erhalten Sie die Zählerobjektfarbe. cs [idx2]; // den Aufzählungsnamen String Name = C12.Name (); System.out.println (Name);};};};10. Statische Import (verstehen)
* Sie können die statische Importmethode im Code direkt verwenden, um statische Methoden oder Konstanten zu importieren
11. Automatisches Auspacken und Montage
* Box ** den Basis -Datentyp in die Verpackungsklasse konvertieren* Unboxing ** Die Verpackungsklasse in den Grunddatetyp umwandeln // Unbox int a = m.intValue ();} ** jdk ist rückwärtskompatibel - zum Beispiel kann der in jdk1.4 geschriebene Code auch in 5.0 ** Übung ausgeführt werden. Wenn die folgende Methode aufgerufen wird, ist die Typumwandlung erforderlich, aber JDK1.4 kann automatisch Unboxing == nicht realisieren, da JDK rückwärts kompatibel ist. Wenn diese Methode in JDK1.4 genannt wird, wird diese Methode in JDK5.0 PUBLIC PUBLIC STATIC VOID Main (String [] Args) {Dosen (10); Oder12. Verbessert für Schleifen (*****)
* Syntax für (der Wert durchquert: der zu durchqueren zu durchqueren) {}- für (String S: List) {System.out.println (s);}* Nutzungsszenarien: Array; Sätze, die die iterable Schnittstelle implementieren, können den erweiterten für Schleifen verwenden. Verwenden Sie die erweiterte Schleife, um den auf dem Satz festgelegten Listensatz zu durchqueren. Die Iterator -Schnittstelle wird implementiert. Daher kann der erweiterte für die Schleife verwendet werden, und die Iterator -Schnittstelle kann nicht implementiert werden, sodass der erweiterte für die Loop nicht verwendet werden kann. Die Iterator -Schnittstelle kann nicht implementiert werden, sodass die Verbesserung für die Schleife nicht verwendet werden kann. Der Zweck des Verbesserungen für die Schleife erscheint: Ersetzen Sie den Iterator ** Die zugrunde liegende Schicht der Verbesserung für den Iterator wird implementiert13. Inhaltsergänzung
(1) Generisches Löschen* Erstens erscheinen Generika nur in der Quellcodephase. Bei der Kompilierung existieren Generika nicht mehr (2) Übung: Implementieren Sie eine generische Methode, akzeptieren Sie Arrays jeglicher Art und stellen alle Elementcodes im Array Public static <t> void um (t [] arr1) {/** Grundidee: Tauschen Sie das erste Element mit dem letzten Element und tauschen Sie das zweite Element mit dem vorletzten Element aus. . . . *Swap-Länge/2**/// transweep das Array für (int i = 0; i <arr1.länge/2; i ++) {/*int temp = arr1 [0]; arr1 [0] = arr1 [arr1.Length-1]; temp;}}14. Variable Parameter
* In welchem Szenario können variable Parameter angewendet werden: ** Implementieren Sie die Zugabe von zwei Zahlen und implementieren Sie die Zugabe von drei Zahlen und vier Zahlen- Wenn mehrere Methoden implementiert sind, ist die Logik in diesen Methoden im Grunde genommen gleich. Der einzige Unterschied ist die Anzahl der übergebenen Parameter. Sie können variable Parameter* Definitionsmethode der variablen Parameter Datentyp verwenden ... Der Name des Arrays* wird als Array verstanden, das die bestandenen Parameters-Code Public static void add1 (int ... nums) speichert. i = 0; i <nums.länge; i ++) {sum+= nums [i];} System.out.println (sum);}* Anmerkung (1) Variable Parameter müssen in der Parameterliste der Methode der Methode der Methode der Parameteliste der Methode der Parameteliste der Methode der Parameteliste der Methode der Parametelung der Methode der Parametelung der Methode der Parametelung der Methode in der Methode der Methode sein (3). Parameter - Add1 (int a, int ... nums)15. Das Prinzip der Reflexion (************)
* In einigen Codes mit höherer Vielseitigkeit angewendet* Die meisten später gelernten Frameworks werden unter Verwendung von Reflexion* In der Framework -Entwicklung werden sie basierend auf der Konfigurationsdatei entwickelt. ** In der Konfigurationsdatei können alle Inhalte in der Klasse durch Reflexion erhalten werden, und eine Methode in der Klasse kann verwendet werden, um alle Inhalte in den Klassen auszuführen. Zunächst müssen Sie die Java -Datei auf der lokalen Festplatte speichern. Nachdem Sie diese Klasse erhalten haben, können Sie alle Inhalte in der Klassendatei abrufen - einschließlich Attributkonstruktoren, gewöhnliche Methoden* Attribute werden eingereicht* Konstruktor* Konstruktor* Normale Methode übergeht eine Klassenmethode
16. Verwenden Sie die parameterlose Konstruktionsmethode in der Reflexionsvorgangsklasse (** schreibt **)
* Holen Sie sich zuerst die Klassenklasse - // die Klasse Klasse Klasse Klasse Clazz1 = Person.class; Klasse clazz2 = new Person (). GetClass (); Klasse clazz3 = class.Forname ("cn.itcast.test09.Person");* Zum Beispiel: Um eine Klasse zu instanziieren, können Sie neu, aber nicht neu verwenden, wie man es bekommt, wie man es bekommt? - // Klassenklasse c3 = class.forname ("cn.itcast.test09.person"); // Die Instanz der Person Klasse Person p = (Person) C3.NewinStance ();* Code // Die Konstruktor ohne Parameter @Testpublic void test1 () Ausnahme {// {// {// {// {/ // "betrieben {// {// Class.forname ("cn.itcast.test09.person"); // Holen Sie sich die Instanz der Person Klasse pr.17. Verwenden Sie den Reflexionsbetrieb, um die Parameterkonstruktionsmethode zu haben (** wird ** schreiben)
// Bediene den Konstruktor mit Parametern @Testpublic void test2 () Auslässt Ausnahme {// Klasseklasse c1 = class.forname ("cn.itcast.test09.person"); // Verwenden Sie den Konstruktor mit Parametern // c1.getConstructors (). Klasse. Cs = c1.getConstructor (string.class, string.class); // Setzen Sie den Wert durch den Konstruktor mit Parametern // die Personinstanz durch den Konstruktor mit Parametern Person p1 = (Person) cs.newinstance ("Lisi", "100");18. Verwenden Sie Reflexionsoperationseigenschaften (** wird ** schreiben)
* // Name Attribut @TestPublic void test3 () {try {// Klasse Klasse c2 = class.forname ("cn.itcast.test09 Methode, der Parameter ist der Name des Attributfelds F1 = C2.GetDeclaredfield ("Name"); // Die Operation ist eine private Eigenschaft, und die Operation ist nicht zulässig. Sie müssen die private Eigenschaft setAccessible (true) festlegen, die die private Eigenschaft f1.setAccessible (true) betreiben kann; // Die Namenswert -Set -Methode, zwei Parameter: die erste Parameterinstanz und der zweite Parameter ist der festgelegte Wert F1.set (P11, "Wangwu"). // äquivalent zu P.Name = "Wangwu"; System.out.println (f1.get (p11)); // äquivalent zu P.Name} catch (Ausnahme E) {e.printstacktrace ();}}19. Generische Betriebsmethoden verwenden (** kann schreiben **)
* Verwenden Sie die Methodenklasse, um gewöhnliche Methoden darzustellen* Code // Bediene normale Methoden wie Betriebs -setName@testpublic void test4 () Auslöst Ausnahme {// Klasse Klasse c4 = class.forname ("cn.itcast.test09.person"). Methode // C4.GetDeclaredMethods (); // Alle gewöhnlichen Methoden abrufen // zwei Parameter übertragen: Der erste Parameter, den Methodennamen; Der zweite Parameter, der Typ des Parameters in der Methodenmethode m1 = c4.getDeclaredMethod ("setName", string.class); // Lassen Sie die SetName -Methode ausführen, führen Sie den Set -Wert aus // verwenden Sie invoke (p4, "niuqi"). Übergeben Sie zwei Parameter: der erste Parameter, Personinstanz; Der zweite Parameter, den Wert // nach der Ausführung der Invoke -Methode festlegen, ist gleichbedeutend mit der Ausführung der SetName -Methode, und gleichzeitig wird ein Wert auf niuqim1.invoke (p4, "niuqi") festgelegt. System.out.println (p4.getName ());}* // Die private Methode des Vorgangs muss auf true* //m1.setAccessible(True) eingestellt werden, wenn die Betriebsmethode eine statische Methode ist, da die statische Methode als Klassenname bezeichnet wird. Methodame, es ist keine Instanz der Klasse erforderlich* Bei der Verwendung von Reflexion zum Betrieb der statischen Methode wird keine Instanz benötigt.Das obige ist die vom Herausgeber vorgestellte Java Basic Enhanced Edition des Java Web Basic -Tutorials. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!