1. Instalasi dan penggunaan myeclipse
* Eclipse: adalah alat pengembangan gratis* myeclipse: adalah plug-in berbayar untuk memecahkan myeclipse, ** Persyaratan Direktori Instalasi: Tidak mungkin ada Cina dan Spaces ** Setelah instalasi selesai, pilih ruang kerja, yang tidak dapat memiliki my-spaces* menggunakan myeclipse* Java Project Web Project- Pilih ketergantungan JDK, Anda dapat menggunakan JDK yang dilengkapi dengan myeclipse, atau Anda dapat menggunakan JDK yang diinstal* untuk membuat paket paket- cn. Nilai pengembalian;} - Metode penamaan spesifikasi huruf kecil huruf pertama, misalnya: addnum ()* mendefinisikan variabel - spesifikasi penamaan variabel ** huruf awal kecil, huruf pertama dari kata kedua harus menggunakan pinyin Cina untuk naming mima ** Penamaan: Lihat nama dan ketahuilah artinya * Kode perlu diindentasi * Jalankan program yang dijalankan sebagai Java ApplicationDebug sebagai Aplikasi Java
2. Mode Debug Debug (mode debug breakpoint)
* Menggunakan mode ini, debug program (lihat perubahan dalam data dalam program) * Langkah pertama untuk menggunakan debug memerlukan pengaturan breakpoint (biarkan program berjalan berhenti pada baris ini) - tunjukkan nomor garis - klik dua kali di sebelah kiri, titik muncul, menunjukkan bahwa breakpoint tidak ada yang dijalankan sebagai debug sebagai metode, jalankan program - cepat apakah akan memasuki antarmuka debug, tidak ada di debug, menjalankan program, dengan cepat. Turun* Anda dapat membiarkan program dieksekusi, - Gunakan langkah di atas kunci pintasan adalah F6 (eksekusi langkah tunggal) - Resume F8: Menunjukkan bahwa debugging sudah berakhir, dijalankan langsung ke bawah ** Misalnya, ada breakpoint setelah Program saat ini, lompat ke breakpoint berikutnya, ** jika tidak ada breakpoint di balik breakpoint, program ini berjalan ke dalam langkah* debug berikutnya, ** TEPA KEBUTUHAN LAINNYA ** Tidak ada breakpoint di balik breakpoint, program berjalan secara langsung* debug* DEBUG LAINN F7 langkah kembali: kembali
3. Penggunaan kunci pintasan myeclipse
* Kode Prompt Alt /* Paket Panduan Cepat Ctrl Shift O* Komentar Baris Tunggal Ctrl /* Hapus Komentar Single Line Ctrl /* Komentar Multi-Line Ctrl Shift /* Hapus Komentar Multi-Line Ctrl Shift /* Hapus Ctrl Line D D D
4. Penggunaan junit
* Unit test* The test object is a method in a class* juint is not part of javase, I want to use the import jar package** However, the jar package with junit is brought in myeclipse* First of all, when junit version 3.x 4.x* unit test method, method naming rules public void method name() {}* Run the test method using annotation method, above the method** @Test: means that the method is unit tested--- @Testpublic void testAdd1() {TestJunit test01 = new TestJunit();test01.testAdd(2, 3);}- Select the method name, right-click to run run run as --- junit test- When a green bar appears, it means that the method test passes - When a red-brown bar appears, it means that the method test fails--- To run multiple test methods in the class, click other locations in the class, run as --- junit test** @Ignore: means that this method is not unit tested** @Before: Running on each method** @After: Running after each method** Assert.assertEquals("Test the expected value", "The actual value of the method running") jdk5.0 new features jdk 1.1 1.2 1.4 5.0** Generics, enumeration, static import, automatic unboxing, enhancement for, variable Parameter ** Refleksi5. Pengantar generik
* Mengapa menggunakan obat generik? - Umumnya digunakan pada set ** misalnya, sekarang masukkan nilai tipe string ke dalam set. Pada saat ini, setelah memasukkan nilai ini ke dalam set, jenis yang kehilangan kemampuannya hanya bisa menjadi tipe objek. Pada saat ini, misalnya, jika Anda ingin mengetik konversi nilai ini, mudah untuk memiliki kesalahan konversi jenis. How to solve this problem can be used to solve this problem using generics* How to use generics on sets - Commonly used set list set map- Generic syntax collection <String> For example, List<String>* is written as an object in a generic, and String cannot write basic data types, such as int (****)** Write basic data types corresponding to the wrapper class byte -- Byteshort -- Shortint -- Integerlong -- Longfloat -- Floatdouble -- Doublechar - karakterboolean - boolean* tiga implementasi menggunakan daftar generik pada daftar vektor linklist linklist: @testpublic void testlist () {list <string> daftar = new arraylist <string> (list.add ("aaa"); list.add ("bbb"); list. koleksi.//ordinary for loop iterator peningkatan untuk // biasa untuk loop untuk (int i = 0; i <list.size (); i ++) {string s = list.get (i); System.out.println (s);} system.out.println ("========================================================================================================================== ===================================================================== ===================================================================== ==================================================================== ===================================================================== ===================================================================== ===================================================================== Tiga perbedaan ini * Gunakan kode generik pada set: // generik penggunaan set pada set @testpublic void testset () {set <string> set = hashset baru <string> (); set.add ("www"); set.add ("qqq"); set.add ("zzz"); // set.add ("qqq"); set.add ("zzz"); // set.add ("qqq"); set.add ("zzz"); // set.add ("qqq"); set.add ("zzz");//set.add ("qqq"); set.add ("zzz"); // set.add ("qqq"); set.add ("zzz");//set.add ("qqQ"); untuk // Gunakan peningkatan untuk traversal untuk (String S2: Set) {System.out.println (s2);} System.out.println ("====================================================================== ===================================================================================================================================== ===================================================================================================================================== ============================================================================================================================================================= = set.iterator (); while(it1.hasNext()) {System.out.println(it1.next());}}* Use generics-map structure on map: key-valu form code://using generics on map @Testpublic void testMap() {Map<String,String> map = new HashMap<String,String>();map.put("aaa", "111"); peta.put ("bbb", "222"); peta.put ("ccc", "333"); // peta transip Ada beberapa cara untuk melintasi // 1. Dapatkan semua tombol dan dapatkan nilai melalui penggunaan tombol // 2. Dapatkan hubungan antara tombol dan nilai // Gunakan metode pertama // Dapatkan semua Key Penggunaan <) (STRING STRING = PAPER =). PAPAN (), Gunakan Metode // Get All Key Use <String> STRING STRING = PAPER =). Kunci: Sets) {// Dapatkan nilai penilai = MAP.get (key); System.out.println (key+": "+nilai);} System.out.println (" ================================================================================================================================================================================== ========================================================================================================================================================= ========================================================================================================================================================= ================================================================================================================================================== {// Entri adalah hubungan antara tombol dan nilai string keyv = entry.getKey (); string valuev = entry.getValue (); system.out.println (keyv+":"+valuev);}}6. generik digunakan dalam metode
* Tentukan array untuk mengimplementasikan pertukaran elemen array pada posisi yang ditentukan* Logika metode adalah sama, tetapi tipe data berbeda. Pada saat ini, gunakan metode generik* /** Gunakan metode generik untuk menentukan jenis menggunakan huruf modal untuk mewakili t: t ini mewakili jenis apa pun* sebelum nilai pengembalian ditulis <T>* ========== Tentukan tipe. Jenis ini adalah T* di sini Anda dapat menggunakan jenis ini T**/Public Static <T> void swap1 (t [] arr, int a, int b) {t temp = arr [a]; arr [a] = arr [b]; arr [b] = temp;} ** Pekerjaan 2: menerapkan metode generik, menerima array apa pun, dan membalikkan semua elemen dalam kurang7. Penggunaan generik pada kelas (mengerti)
* Tentukan tipe pada kelas, jenis ini dapat digunakan langsung di kelas * kelas publik testDemo04 <T> {// Anda dapat menggunakan tipe t TAA di kelas; public void test11 (t bb) {} // Tulis generik yang ditentukan dengan metode statis di kelas, dan Anda tidak dapat lagi menggunakan metode statis publik statis public <a> void test12 (a cc) {}}8. Pengantar Pencacahan
* Apa itu enum? ** Anda perlu mengambil nilai dalam kisaran tertentu, dan nilai ini hanya bisa berupa salah satu rentang. ** Realistic scene: Traffic lights, there are three colors, but only one of the three colors can be bright at a time* Use one keyword enum** enum Color3 {RED,GREEN,YELLOW;}* The enum construction method is also private* The operation of special enum (understand)** There is a construction method in the enum class** There is a parameter in the construction method, and parameters need to be written on each instance** There is an abstract method in the enum class** Tulis ulang metode abstrak ini di setiap contoh enum9. Pengoperasian API yang disebutkan
** Nama (): Kembalikan nama enum ** ordinal (): Subskrip enum, subskrip dimulai dari 0 ** nilai (kelas <t> enumtype, nama string): Dapatkan objek enum ** ada dua metode lain, keduanya tidak ada di API, dan dua metode dihasilkan selama kompilasi *** nilai dari string dari string) yang ada di API, dan dua metode dihasilkan selama kompilasi *** valueof rangkaian). Objek enum, subskrip objek enum, dan representasi nama objek enum- // tahu objek enum, dapatkan nama enum dan subscript @testpublic void test1 () {// objek enum color100 c100 = color100.red; // enum name name = c100.name (); // Subskrip enum encl ENUM = c100.name (); // Subskrip dari enum encl eNUM = c100.name (); // Subscript dari ENUMER; ENUM ENUM NAME = C100.NAME (); // Subskrip dari ENUMER; c100.ordinal (); System.out.println (name+""+idx);}- // Ketahui nama enumerasi, dapatkan objek dan subskrip enumerasi @testpublic void test2 () {string name1 = "green";/GEat the objek color100 c1 = color100.valueof (name1 = "green"); dapatkan objek color100 c1 = color100.valueOf (name1 = "green"); Get The Object Color100 c1 = color100.valueOf (nameOt1 = "green"); c1.ordinal (); System.out.println (idx1);}- // Ketahui subskrip enumerasi, dapatkan objek dan nama enumeration @testpublic void test3 () {int idx2 = 2; // Dapatkan objek enumeration color100 [] cs = color100.values (); cs [idx2]; // dapatkan nama string name enumeration = c12.name (); System.out.println (name);}10. Impor statis (mengerti)
* Anda dapat secara langsung menggunakan metode impor statis dalam kode untuk mengimpor metode atau konstanta statis* Impor statis xx.xx.xxx* Impor statis java.lang.system.out; Impor statis java.util.arrays.sort; ** Misalnya, sekarang terapkan kalkulator di kelas matematika
11. Pembongkaran dan perakitan otomatis
* Kotak ** Konversi tipe data dasar ke kelas pengemasan* unboxing ** Konversi kelas pengemasan ke tipe data dasar ** // autobox integer i = 10; // autobox int m = i; ** cara dan unbox di jdk1.4 - // autobox di jdk1.4 public void test1 () {) {) {) {) {) {) {) {) {/) {////a autobox di JDK1.4 public void test1 () {) {) {) {) {) {) {) {) {) {) {) {/) {///MOTEG di JDK1.4 public void test1 () {) {) {) {/) {/) // unbox int a = m.intvalue ();} ** JDK kompatibel mundur - misalnya, kode yang ditulis dalam JDK1.4 juga dapat dijalankan dalam 5.0 ** Latihan: Kompatibel ke belakang == Hasil eksekusi adalah memanggil dosomething (ganda m) == Pertama -tama, metode ini harus dipanggil dalam JDK1.4. If the following method is called, type conversion is required, but jdk1.4 cannot realize automatic unboxing == Since jdk is backward compatible, if this method is called in jdk1.4, this method will still be called in jdk5.0 public static void main(String[] args) {doSomething(10);} public static void doSomething(double m) {System.out.println ("Double ...");} public static void dosomething (integer a) {System.out.println ("Integer ......");} ** Ingat: Kelas pembungkus yang sesuai dengan delapan tipe data dasar* int --- integer* char --- karakter --- Karakter12. Ditingkatkan untuk Loop (*****)
* Sintaks untuk (nilai yang dilalui: Set untuk dilalui) {}- untuk (string s: daftar) {System.out.println (s);}* skenario penggunaan: array; Set yang mengimplementasikan antarmuka Iterable dapat menggunakan Loop yang disempurnakan* Gunakan yang disempurnakan untuk loop untuk melintasi daftar yang ditetapkan pada set antarmuka iterator diimplementasikan, sehingga peningkatan untuk loop dapat digunakan, dan antarmuka iterator tidak dapat diimplementasikan, sehingga peningkatan untuk loop tidak dapat digunakan. Antarmuka iterator tidak dapat diimplementasikan, sehingga peningkatan untuk loop tidak dapat digunakan. Tujuan dari peningkatan untuk loop muncul: untuk mengganti iterator ** lapisan yang mendasari peningkatan untuk diimplementasikan oleh iterator13. Suplemen Konten
(1) penghapusan generik* Pertama -tama, obat generik hanya muncul pada tahap kode sumber. Saat dikompilasi, obat generik tidak ada lagi (2) Latihan: Menerapkan metode generik, terima array dari jenis apa pun, dan membalikkan semua kode elemen dalam array public static <T> void reverse (t [] arr1) {/** Ide dasar: Tukar elemen pertama dengan elemen terakhir, dan bertukar elemen kedua dengan elemen backime. . . . *Panjang swap/2**/// transweep array untuk (int i = 0; i <arr1.length/2; i ++) {/*int temp = arr1 [0]; arr1 [0] = arr1 [arr1.length-1];*/t temp = arr1 [i]; arr1 [i] = arr1. temp;}}14. Parameter variabel
* Dalam skenario apa, parameter variabel dapat diterapkan: ** Menerapkan penambahan dua angka, dan mengimplementasikan penambahan tiga angka dan empat angka- jika beberapa metode diimplementasikan, logika dalam metode ini pada dasarnya sama. Satu -satunya perbedaan adalah jumlah parameter yang dilewati. Anda dapat menggunakan parameter variabel* Metode Definisi Parameter Variabel Tipe Data ... Nama Array* dipahami sebagai array, yang menyimpan parameter-kode-kode-kode statis public add1 (int ... nums) {// nums dipahami sebagai array, yang menyimpan parameter yang diteruskan // System.out.println (nums. i = 0; i <nums.length; i ++) {sum+= nums [i];} System.out.println (sum);}* Catatan (1) Parameter variabel perlu ditulis dalam daftar parameter dalam daftar parameter (3) Paramet di Paramer di PARAMETER di PARAMETER dalam PARAMETER dalam PARAMETER Dalam Parameter dalam Daftar Parameter Metode (3) PARAMETER Di PARAMETER DI ATNETER Dalam PARAMETER Dalam Parameter dalam Parameter dalam Daftar Parameter Metode (3) PARAMETER DI PARAMETER Di PARAMETER Di PARAMETER DI ATNY DI SATU PARAMETER Variabel Dalam Daftar Parameter Metode (3) - add1 (int a, int ... nums)15. Prinsip refleksi (************)
* Diterapkan dalam beberapa kode dengan fleksibilitas yang lebih tinggi* Sebagian besar kerangka kerja yang dipelajari kemudian diimplementasikan menggunakan refleksi* dalam pengembangan kerangka kerja, mereka dikembangkan berdasarkan file konfigurasi ** dalam file konfigurasi, semua konten di kelas dapat diperoleh melalui refleksi, dan metode paramet yang dapat digunakan untuk mengeksekusi* semua konten di kelas: atribut, konstruktor tanpa parameter dan paramer dapat digunakan untuk mengeksekusi* semua konten di kelas: atribut, konstruktor tanpa parameter dan paramer untuk melakukan paramer* untuk mengeksekusi* CLASS di kelas: attribute, konstruktor tanpa parameter dan Paramer dapat digunakan untuk mengeksekusi* Kelas dalam kelas: Atribut, Konstruksi tanpa Paramer Paramer* Pertama, Anda perlu menyimpan file java ke hard disk hard disk. Setelah mendapatkan kelas ini, Anda bisa mendapatkan semua konten dalam file kelas - termasuk konstruktor atribut, metode biasa* Atribut diajukan* konstruktor* Konstruktor* Metode normal melewati metode kelas
16. Gunakan metode konstruksi tanpa parameter di kelas operasi refleksi (** akan menulis **)
* Pertama dapatkan kelas kelas - // Dapatkan kelas kelas kelas kelas clazz1 = person.class; kelas clazz2 = orang baru (). GetClass (); class clazz3 = class.forname ("cn.itcast.test09.person"); misalnya: Untuk instantiate kelas, Anda dapat yang baru, tetapi tidak menggunakan yang baru, bagaimana cara mendapatkannya? - // Dapatkan classclass c3 = class.forname ("cn.itcast.test09.person"); // Dapatkan contoh orang kelas p = (orang) c3.newinstance ();* kode // operasikan konstruktor tanpa parameter @testpublic void uji () lemparan pengecualian {// dapatkan class class @testpublic uji 1 () lemparan {// dapatkan classclass class @testpublic uji1 () lemparan pengecualian {// dapatkan class class c3 = void publik () lemparan pengecualian {// dapatkan class class c3 = Class.forname ("cn.itcast.test09.person"); // Dapatkan contoh orang kelas orang p = (orang) c3.newinstance (); // atur nilai p.setname ("zhangsan"); System.out.println (p.getName ());}17. Gunakan operasi refleksi untuk memiliki metode konstruksi parameter (** akan menulis **)
// Operasi konstruktor dengan parameter @testpublic void test2 () melempar pengecualian {// dapatkan classclass c1 = class.forname ("cn.itcast.test09.person"); // Gunakan semua konstruktor dengan Parameter // C1.getConstructors (); // Dapatkan semua konstruktor // Parameter Parameter. Cs = c1.getConstructor (string.class, string.class); // Atur nilai melalui konstruktor dengan parameter // Buat instance orang melalui konstruktor dengan parameter orang p1 = (orang) cs.newinstance ("lisi", "100"); System.out.println (p1.getid ()+"" "); p1);18. Gunakan properti operasi refleksi (** akan menulis **)
* // Operate Name Atribut @testpublic void test3 () {try {// dapatkan kelas kelas c2 = class.forname ("cn.itcast.test09.person"); // dapatkan atribut nama // c2.getdecledfields () (); tunjukkan untuk mendapatkan semua atribut // dapatkan contoh orang yang dikeluarkan orang (); Metode ini, parameter adalah nama bidang atribut F1 = C2.getDeclaredfield ("name"); // Operasi adalah properti pribadi, dan operasi tidak diizinkan. Anda perlu mengatur Private Property SetAccessible (true), yang dapat mengoperasikan properti pribadi f1.setAccessible (true); // Atur metode nilai nama, dua parameter: instance parameter pertama, dan parameter kedua adalah nilai set f1.set (p11, "wangwu"); // setara dengan p.name = "wangwu"; System.out.println (f1.get (p11)); // setara dengan p.name} catch (Exception e) {e.printstacktrace ();}}19. Gunakan metode operasi generik (** dapat menulis **)
* Gunakan Metode Kelas untuk mewakili metode biasa* Kode // Operasi metode biasa, seperti operasi setname@testpublic void test4 () melempar Exception {// dapatkan kelas C4 = class.forname ("cn.itcast.test09.person");//dapatkan orang yang ordering p4 = (orang) c4.newinstance (); metode // c4.getDeclaredMethods (); // Dapatkan semua metode biasa // Transfer dua parameter: parameter pertama, nama metode; Parameter kedua, jenis parameter dalam metode metode m1 = c4.getDeclaredMethod ("setName", string.class); // Biarkan metode setName dieksekusi, jalankan nilai set // gunakan Invoke (p4, "niuqi"); lulus dua parameter: parameter pertama, instance orang; Parameter kedua, set value // Setelah menjalankan metode Invoke, itu setara dengan mengeksekusi metode SetName, dan pada saat yang sama, nilai ditetapkan menjadi niuqim1.invoke (p4, "niuqi"); System.out.println (p4.getname ());}* // Metode pribadi dari operasi perlu diatur ke true* //m1.setAccessible(true);* Ketika metode operasi adalah metode statis, karena metode statis disebut nama kelas. Nama metode, tidak ada contoh kelas yang diperlukan* saat menggunakan refleksi untuk mengoperasikan metode statis, tidak ada contoh yang diperlukan* dalam parameter pertama dari metode Invokie, tulis null-m1.invoke (null, "niuqi");Di atas adalah Java Basic Enhanced Edition dari Java Web Basial Tutorial yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!