Kawruh vs Skills
College mulang kita manawa ora ana bedane antarane teori lan praktik. Inggih, mesthi sampeyan ngerti sing ora padha. Nanging sampeyan ora weruh prabédan inti. Nanging ana siji. Umume wong sijine tandha kesetaraan antarane "Aku ngerti" lan "Aku bisa". Apa sampeyan? Kepiye babagan sawetara conto?- Aku ngerti yen ngrokok iku ala kanggo aku, nanging aku ngrokok.
- Aku ngerti yen panganan cepet iku ala kanggo aku, nanging aku mangan.
- Aku ngerti peraturan lalu lintas nanging aku ora bisa nyopir.
- Aku ngerti jogging iku apik kanggo aku nanging aku ora jogging ing esuk.
Sampeyan wis tekan tingkat anyar
Tingkat 9
1 Risha, Tilak tumpukan
- Hey! Dina iki aku bakal pitutur marang kowe apa tilak tumpukan iku. Nanging pisanan aku nerangake apa tumpukan iku. - Mbayangno tumpukan kertas - tugas kanggo petugas tartamtu. A assignment anyar bisa sijine ing ndhuwur tumpukan, lan kang bakal njupuk assignment saka ndhuwur tumpukan. Mangkono, tugas ora bakal ditindakake kanthi cepet. Saben petugas njupuk tugas sing pungkasan. Struktur koleksi kasebut diarani tumpukan . - Ing Jawa, ana koleksi khusus - Stack. Koleksi iki nduweni metode «nambah unsur» lan «njupuk (njaluk / njupuk) unsur». Kaya sing wis dingerteni, unsur pungkasan sing ditambahake bakal dijupuk dhisik. - Hum. Ora angel, dakkira. - Nggih. Banjur mugi kula nerangake apa tilak tumpukanpunika. - Mbayangno yen ing fungsi Jawa А nelpon fungsi B , lan sing terakhir nelpon fungsi C , kang, ing siji, nelpon fungsi D . Dadi, kanggo metu saka fungsi B , sampeyan kudu metu saka fungsi C dhisik , lan kanggo nglakoni sampeyan kudu metu saka fungsi D. Iki meh padha karo tumpukan. - Lan apa podho? - Ing tumpukan, kanggo njaluk menyang assignment tartamtu, sampeyan uga kudu ngrampungake kabeh assignments sijine ing ndhuwur. - Ya, iki minangka analogi, nanging aku ora yakin yen aku ngerti kabeh kanthi bener. - Delengen kene. Ing Jawa tumpukan minangka sakumpulan unsur. Iku kaya lembaran kertas ing tumpukan. Kanggo njupuk nomer telu saka ndhuwur, sampeyan kudu njupuk sheet kapindho, nanging sadurunge sampeyan kudu njupuk sing pisanan. Sampeyan bisa tansah sijine lan njupuk sheets, nanging sampeyan bisa sijine mung ing ndhuwur lan njupuk mung saka ndhuwur. Padha ditrapake kanggo telpon fungsi. Fungsi А nelpon fungsi B , sing terakhir nelpon fungsi C . Kanggo metu saka А , sampeyan kudu metu dhisik saka B , lan kanggo nindakake iki sampeyan kudu metu saka C . - Enteni sedhela. Yen aku tak iku tengen, kabèh tumpukan dadi metu ing «mung sheet pungkasan sing sijine ing tumpukan bisa dijupuk» lan «pisanan, pungkasan disebut fungsi kudu metu». Apa ngono? - Ya. Dadi, urutan panggilan fungsi yaiku «tumpukan telpon fungsi», utawa mung «tumpukan telpon». Fungsi sing diarani pungkasan kudu diakhiri dhisik. Coba deleng conto: - OK. Kabeh iku cetha karo telpon fungsi, Aku guess. Nanging apa StackTraceElement iki ? - mesin virtual Java log kabeh fungsi telpon. Kanggo maksud iki nduweni koleksi khusus - tumpukan. Nalika siji fungsi nelpon liyane, JVM nempatake unsur anyar StackTraceElement menyang tumpukan iki. Nalika fungsi rampung, unsur dibusak saka tumpukan. Mangkono, tumpukan iki tansah nyimpen informasi anyar babagan kahanan saiki «tumpukan panggilan fungsi». - Saben StackTraceElementngemot informasi babagan metode sing diarani. Supaya sampeyan bisa njaluk jeneng cara iki nggunakake getMethodName . - Tuladha ing ndhuwur nuduhake:- Entuk "tumpukan telpon":
- Ulangi array nggunakake loop for-saben . Muga-muga sampeyan ora lali.
- Print jeneng cara kanggo System.out .
2 Diego, Tugas ing tumpukan tilak tampilan
- Hei, Amigo! Punika tugas sethitik kanggo nampilake menyang layar tilak tumpukan.tugas | |
---|---|
1 | Saben cara kudu bali StackTrace Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake StackTrace. |
2 | StackTrace maneh Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake jeneng metode panelpon. Sampeyan bisa entuk metode panelpon nggunakake StackTrace. |
3 | Cara ngirim bali nomer baris kode iki cara iki disebut saka Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake nomer baris kode sing diarani metode iki. Gunakake elemen fungsi.getLineNumber() . |
4 | Tumpukan tilak 10 telpon Tulis kode kanggo njaluk tumpukan tilak 10 telpon. |
5 | Cara kasebut kudu ngasilake asil - ambane tilak tumpukan Tulis cara sing nampilake lan ngasilake ambane tilak tumpukan. Kedalaman jejak tumpukan yaiku jumlah metode (jumlah unsur ing dhaptar). |
3 Elly, Kasalahan lan Pangecualian
- Hei, Amigo! Dina iki kita duwe pelajaran sing menarik banget. Aku bakal pitutur marang kowe bab pangecualian. Pangecualian minangka mekanisme khusus kanggo ngontrol kesalahan ing program kasebut. Ing ngisor iki sawetara conto kesalahan sing bisa kedadeyan ing program:- Program kasebut nyoba nulis file menyang disk lengkap.
- Program kasebut nyoba nelpon metode variabel sing nyimpen referensi null.
- Program kasebut nyoba mbagi nomer kanthi 0.
- Nalika ana kesalahan, mesin virtual Java nggawe obyek khusus - pangecualian - ngemot kabeh informasi babagan kesalahan kasebut. Kanggo kesalahan sing beda-beda ana pangecualian sing beda.
- Banjur pangecualian iki meksa program supaya langsung ngganggu fungsi saiki, lan fungsi sabanjure, nganti metu saka cara utama. Sawise iku program mungkasi. Pangembang Java nelpon proses iki «muter maneh tumpukan telpon».
- Yen ana pangecualian ing blok coba , kode ing blok iki ora dieksekusi maneh, nanging eksekusi blokir diwiwiti .
- Yen ora ana pangecualian, blok coba dieksekusi nganti pungkasan , lan catch ora bakal ditindakake .
4 Elly, RuntimeException, mbalang
- Aku mutusaké kanggo nggawa munggah topik liyane dina. Ing Jawa, kabeh pangecualian dipérang dadi rong jinis - dikontrol / dicenthang lan ora dikendhaleni / ora dicenthang . Pengecualian sing dicenthang kudu kejiret, ora dicenthang bisa kejiret nanging ora dibutuhake . - Iku bisa kanggo uncalan istiméwa ing kode waé? - Ing kode sampeyan, sampeyan bisa mbuwang pengecualian dhewe. Sampeyan bisa malah nulis pangecualian dhewe. Nanging kita bakal jero ing bolongan iki mengko. Saiki ayo sinau babagan cara nggarap pengecualian sing dibuwang dening mesin virtual Java. - OK. - Yen pangecualian ClassNotFoundException lan FileNotFoundExceptiondibuwang (katon) ing cara, programmer kudu nemtokake ing tandha cara (header metode). Pengecualian kasebut dicenthang. Sing biasane katon kaya: - Dadi, kita mung nulis uncalan lan dhaptar pangecualian dipisahake koma. bener? Apa ngono? - Ya. Nanging ana liyane sing menarik. Supaya conto ing ngisor iki wis nyawiji, cara sing nelpon method1 () wis salah siji nyekel pangecualian iki utawa uncalan maju. Yen sampeyan pengin mbuwang pengecualian sing wis dicenthang maju, sampeyan kudu nemtokake ing header metode . - Sawise maneh, yen ing metode utama , sampeyan pengin nelpon metode sing ana ing frasa header mbuwang FileNotFoundException, ...banjur sampeyan kudu nindakake salah siji saka rong perkara iki:- kanggo nyekel pangecualian FileNotFoundException, ...
Sampeyan kudu mbungkus kode ing ngendi sampeyan nelpon cara mbebayani kanthi blok try-catch - ora kanggo nyekel pangecualian FileNotFoundException, ...
5 Risha, Rolling tumpukan telpon, carane nindakake ing pangecualian
- Aku kaya kanggo pitutur marang kowe dicokot liyane babagan carane pangecualian bisa. Conto ing ngisor iki nerangake: - Aku ora ngerti. - Oke. Aku bakal nerangake apa sing kedadeyan. - Ing conto ing sisih kiwa, kita nelpon sawetara cara ing urutan chain. Ing method2 () kita khusus nggawe lan uncalan pangecualian (kanggo miwiti kesalahan). - Conto ing sisih tengen nuduhake apa sing kedadeyan. Deleng metode2() . Sing nggawe pangecualian dadi: kita nggawe obyek saka jinis RuntimeException , simpen ing pengecualian variabel khusus lan langsung metu saka metode kasebut - bali . - Ing method1 , sawise nelpon saka method2 ana mriksa,yen ana pangecualian utawa ora; yen ana pangecualian, banjur method1 langsung mungkasi. Priksa iki ditindakake kanthi implisit sawise nelpon saben (!) metode Jawa. - Wah! - Persis. - Ing kolom ing sisih tengen ing cara utama aku wrote apa mengkono nalika pangecualian kejiret dening pemblokiran nyoba-nyekel . Yen ora ana pangecualian, kode terus dieksekusi kaya sing direncanakake. Yen ana pangecualian saka jinis sing ditemtokake ing catch , banjur kita nangani. - Lan apa tegese uncalan lan instanceof ? - Deleng baris pungkasan ing sisih kiwa mbuwang RuntimeException anyar. Kanthi cara iki, kita nggawe lan mbuwang pengecualian. Iki mung conto. Kita ora bakal nindakake nganti saiki. - Nggunakake printah « а instanceof B » ing blok tengen kita mriksa apa obyek a duwe jinis B. Yaiku, manawa obyek sing disimpen ing pengecualian variabel, duwe jinis RuntimeException . Iku ekspresi logis. - Wah, wis rada cetha.6 Diego, Istiméwa nyekel tugas
- Delengen kene! Pakdhe Diego nggawa sawetara tugas kanggo nyekel sampeyan. Muga-muga sampeyan sukses. Aku mikir sampeyan butuh. Heh. - Hei, Amigo! Ing ngisor iki sawetara tugas nyekel pangecualian sing menarik.Tugas nyekel | |
---|---|
1 | 1. Istiméwa nalika operasi karo nomer Nyekel pangecualian sing occurs nalika mbukak kode: int a = 42 / 0; Tampilake pangecualian menyang layar, nemtokake jinise |
2 | 2. Istiméwa nalika operasi karo strings Nyekel pangecualian sing occurs nalika mbukak kode: String s = null; String m = s.toLowerCase(); Tampilake pangecualian menyang layar, nemtokake jinise. |
3 | 3. Pangecualian nalika operasi karo array Nyekel pangecualian sing dumadi nalika mbukak kode: int [] m = int anyar [2]; m[8] = 5; Tampilake pangecualian menyang layar, nemtokake jinise. |
4 | 4. Pengecualian nalika ngoperasikake koleksi Dhaftar Nyekel pangecualian sing kedadeyan nalika mbukak kode: ArrayList<String> list = ArrayList anyar<String>(); String s = list.get(18); Tampilake pangecualian menyang layar, nemtokake jinise. |
5 | 5. Pangecualian nalika operasi karo koleksi Peta Nyekel pangecualian sing dumadi nalika mbukak kode: HashMap<String, String> map = anyar HashMap<String, String>(null); map.put(null, null); map.remove(null); Tampilake pangecualian menyang layar, nemtokake jinise. |
7 Risha, Carane akeh tangkapan bisa
- Saiki, sawetara ceramah sing luwih menarik. Aku seneng banget mulang. - Aku arep pitutur marang kowe carane sawetara nyekel dianggo. Sejatine prasaja banget: nalika ana pangecualian ing blok nyoba , eksekusi program ditransfer menyang tangkapan pertama . - Yen jinis sing ditemtokake ing tanda kurung saka blok nyekel padha karo jinis obyek istiméwa, banjur eksekusi kode diwiwiti ing {}. Yen ora, kita pindhah menyang tangkapan sabanjure . Priksa maneh ana. - Yen ora ana maneh pamblokiran nyekel , nanging pangecualian durung kejiret, dibuwang maju, lan cara saiki diselani. - Aku weruh. Tangkapan kasebut bakal dieksekusi, jinis sing cocog karo jinis pengecualian. - Ya, bener. Bener, iki rada rumit: Intine yaiku kelas kasebut bisa diwarisake saka siji liyane. Yen kelas «Cow» dipun warisaken saka kelas «Animal», obyek saka jinis «Cow» bisa disimpen ora mung ing variabel saka jinis «Cow», nanging ing variabel saka jinis «Animal» uga. . - Dadi apa? - Amarga kabeh pengecualian diwarisake saka kelas Exception utawa RuntimeException (sing uga diwarisake saka Exception ), kabeh bisa kejiret nggunakake perintah catch (Exception e) utawa nyekel (RuntimeException e) . - Dadi apa? - Iki tegese,pisanan, sampeyan bisa nyekel sembarang pangecualian nggunakake printah nyekel (Pengecualian e) . Kapindho, urutan pamblokiran nyekel penting. Conto: - ArithmeticException asil saka divisi dening 0 kejiret ing nyekel kapindho. - Ing conto ing ngisor iki, ArithmeticException kejiret ing nyekel pisanan , amarga kelas kabeh istiméwa diwarisake saka Exception. Dadi, Exception nyekel pangecualian apa wae . - Ing conto ing ngisor iki, pangecualian ArithmeticException ora kejiret, nanging dibuwang nerusake kanggo cara nelpon. - Lha, saiki wis terang. Pangecualian kasebut ora gampang. - Iku mung misale jek supaya. Ing kasunyatan, iku salah siji sing paling prasaja ing Jawa. - Aku ragu apa seneng utawa duka babagan iki ...8 Diego, Multiple pangecualian nyekel tugas
- Hei, Amigo! Wingi aku mabuk lan rumit banget tugas sampeyan, nanging muga-muga ora ana rasa susah ing sisih sampeyan lan sampeyan bakal ngrampungake kabeh? Iku kanggo kabecikan sampeyan dhewe. kene:tugas | |
---|---|
1 | 1. Pangecualian Ana cara sing mbalang rong pangecualian sing diwarisake saka Exception , lan loro liyane sing diwarisake saka RuntimeException : NullPointerException , ArithmeticException , FileNotFoundException , lan URISyntaxException . Sampeyan kudu nyekel NullPointerException lan FileNotFoundException , nanging ora kanggo nyekel ArithmeticException lan URISyntaxException . Carane nindakake? |
2 | 2. Pengecualian nyekel Ana telung pangecualian sing diwarisake saka Exception : kelas Exception1 ngluwihi Kelas Exception Exception2 ngluwihi Exception1 kelas Exception3 ngluwihi Exception2 Ana cara sing diterangake kaya ing ngisor iki: public static void method1() throws Exception1, Exception2, Exception3 Write a catch blok kanggo nyekel kabeh telung Exception1 , Exception2 lan Exception3 |
3 | 3. Nyekel pengecualian selektif 1. Temokake apa pengecualian sing dibuwang kanthi metode BEAN.methodThrowExceptions . 2. Cara processExceptions () kudu nelpon cara BEAN.methodThrowExceptions lan nangani istiméwa: 2.1. yen ana pangecualian FileSystemException , banjur log iku kanthi nelpon cara BEAN.log lan uncalan maju 2.2. yen ana pangecualian CharConversionException utawa IOException liyane , mung log kanthi nelpon cara BEAN.log 3. Tambah kelas / jinis pangecualian sing diterusake ing 2.1. menyang processExceptions()tandha cara. 4. Nangani istiméwa isih ing cara utama () lan log. Gunakake try..catch Tip: Yen sampeyan kejiret istiméwa MyException , sing ora pengin nyekel, sampeyan bisa uncalan maju nggunakake kode ing ngisor iki: nyekel (MyException e) { uncalan e; } |
4 | 4. Keno dicenthang pangecualian Nangani kabeh dicenthang pangecualian ing cara processExceptions () . Sampeyan kudu nampilake ing layar saben pangecualian sing wis dicenthang. Sampeyan bisa nggunakake mung siji blok nyoba . |
5 | 5. Nyekel pangecualian sing ora dicenthang Ngalahake kabeh pangecualian sing ora dicenthang ing cara processExceptions () . Sampeyan kudu nampilake menyang layar tilak tumpukan saben istiméwa dumadi nggunakake cara printStack () . Sampeyan bisa nggunakake mung siji blok nyoba . |
9 Profesor, Kuliah babagan pengecualian
- Dina iki kita duwe topik super-menarik - pangecualian. Ing wektu iku, nalika ilmuwan enom lan programer padha banget bungah bab topik iki… - Nuwun sewu, aku kudu pindhah menyang lab. Punika cathetan kuliah. Aku mikir sampeyan bakal ngerti dhewe. Kene: Java Exceptions (Oracle Documentation) Exception Handling in Java (Java T point) Java - Exceptions Handling (tutorials point) Basic Java Exception Handling10 Julio
- Amigo, apa sampeyan mikir babagan pelajaran dina iki? Apa otak positron sampeyan durung bisa? Tugas Diego wis cukup kanggo nyandhang sapa wae. Ayo ngombe bir lan santai. Apa sampeyan isih ngadeg?11 Kapten Bajing
- Halo, prajurit! - Sugeng enjang, Pak! - Aku duwe warta apik tenan kanggo sampeyan. Mangkene priksa cepet kanggo nguatake katrampilan sampeyan. Tindakake saben dina, lan sampeyan bakal nambah katrampilan kanthi cepet. Tugas dirancang khusus kanggo nindakake ing Intellij IDEA.Tugas tambahan sing kudu ditindakake ing Intellij Idea | |
---|---|
1 | 1. Divisi dening nul Nggawe cara umum statis roso sepi divisionByZero () , ngendi sampeyan kudu dibagi nomer sembarang dening nul, lan nampilake menyang layar asil divisi. Lebokake divisionByZero () telpon cara menyang try..catch . Tampilake menyang layar tilak tumpukan pangecualian nggunakake metode exception.printStackTrace () . |
2 | 2. Countdown saka 10 kanggo 0 Tulis daur ulang kanggo countdown saka 10 kanggo 0. Gunakake Thread.sleep(100) kanggo nggawe wektu tundha; Bungkus panggilan turu dadi coba..cekel . |
3 | 3. Lebokake cara menyang nyoba .. nyekel Waca nomer saka keyboard. Tulis kode kanggo maca nomer saka keyboard menyang cara kapisah readData () . Lebokake kabeh awak saka cara iki (kabeh kode nang readData () cara, kajaba pranyatan saka dhaftar ngendi nomer bakal disimpen) menyang cobi .. nyekel . Yen pangguna ngetik sawetara teks tinimbang ngetik nomer, cara kasebut kudu nyekel pangecualian lan nampilake menyang layar kabeh nomer sing dilebokake sadurunge. Nuduhake nomer menyang layar. Saben nomer kudu ing baris anyar. Urutan nomer kudu kaya ing input. |
4 | 4. Konverter tanggal Waca saka keyboard tanggal ing format «08/18/2013» Tampilan menyang layar tanggal kasebut ing wangun «18 AUG 2013». Gunakake obyek Date lan SimpleDateFormat . |
5 | 5. Vokal lan konsonan Tulis program sing maca baris saka keyboard. Program kasebut kudu nampilake rong senar ing layar: 1) senar pisanan kudu ngemot aksara swara 2) senar kapindho kudu ngemot konsonan lan karakter wacan saka teks sing dilebokake. Pisahake karakter kanthi spasi. Conto input: Mungkasi katon ngrungokake Conto output: oooie stplklstn |
6 | 6. Dongeng Kerudung Abang Cilik 1. Kelase ana lima yaiku : Kerudung Abang, mbah, patty, penebang kayu, serigala. 2. Saben kelas duwe rong lapangan jinis ArrayList : mateni lan mangan. 3. Objek sing dibutuhake wis digawe (hood, mbah, ...). 4. Nggawe hubungan sing bener (sing mangan lan mateni sapa) kanggo njaluk logika «Little Red Riding Hood». |
7 | 7. Pindhah statis modifies Pindhah statis modifiers supaya kode compiles. |
8 | 8. Dhaptar susunan angka Nggawe dhaptar sing unsur-unsur susunan angka. Tambahake menyang dhaptar limang susunan obyek kanthi dawane 5, 2, 4, 7, 0. Isi array karo data apa wae lan ditampilake ing layar. |
9 | 9. Sepuluh kucing Nggawe Kucing kelas kanthi jeneng String lapangan . Nggawe kamus Peta<String, Cat> , nambah 10 kucing ing model «Jeneng» - «Kucing». Entuk saka Peta Set jeneng lan nampilake pesawat menyang layar. |
tugas bonus | |
---|---|
1 | 1. Program ora ngumpulake lan mbukak. Ndandani. Tugas: Program kudu maca saka keyboard loro jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake dening jeneng liya. |
2 | 2. Tambah fungsi anyar kanggo program. Tugas Lawas: Program kasebut kudu maca saka keyboard rong jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake kanthi jeneng liya. Tugas anyar: Program kasebut kudu maca saka keyboard loro jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake kanthi jeneng liya. Yen file (sing bakal disalin) kanthi jeneng sing ditemtokake ora ana, program kasebut kudu nampilake ing layar pesen "File ora ana" lan nyoba maca jeneng file saka konsol maneh sadurunge maca jeneng file kapindho (tujuan). |
3 | 3. Learning lan esthi algoritma. Maca saka keyboard dhaptar tembung lan angka. Tampilake tembung ing layar kanthi urutan munggah lan nomer ing urutan mudhun. Conto input: Cherry 1 Kacang Kacang 3 Apple 2 0 Semangka Conto output: Apple 3 Kacang 2 Cherry 1 0 Semangka |
GO TO FULL VERSION