Rumah Kewangan Peribadi Pemrograman java dan Pemasangan Gelombang - dummies

Pemrograman java dan Pemasangan Gelombang - dummies

Isi kandungan:

Video: Belajar Java #04 - Memahami Struktur Program 2024

Video: Belajar Java #04 - Memahami Struktur Program 2024
Anonim

Untuk membuat gelung program Java anda lebih mudah untuk ditulis dan mudah difahami, anda perlu tahu bagaimana pemecahan Java dan terus pernyataan mempengaruhi lelaran gelung.

Kenyataan pemecah Java

Ambil gander pada program di bawah. Program ini secara rawak menghasilkan nombor dari 1 hingga 10, dan berulang kali meminta pengguna untuk meneka nombor itu.

Listing 1

import java statik. lang. Sistem. keluar; import java. util. Pengimbas; import java. util. Rawak; kelas awam GuessAgain {public static void main (String args []) {Pengimbas papan kekunci = Pengimbas baru (System. in); int numGuesses = 0; int randomNumber = new Random (). nextInt (10) + 1; keluar. println ("************"); keluar. println ("Selamat datang ke Permainan Meneka"); keluar. println ("************"); keluar. println (); keluar. cetak ("Masukkan int dari 1 hingga 10:"); int inputNumber = keyboard. nextInt (); numGuesses ++; sementara (inputNumber! = RandomNumber) { keluar. println (); keluar. println ("Cuba lagi …"); keluar. cetak ("Masukkan int dari 1 hingga 10:"); inputNumber = keyboard. nextInt (); numGuesses ++; } keluar. cetak ("Anda menang selepas"); keluar. println (numGuesses + "guesses."); papan kekunci. dekat ();}}

Angka di bawah menunjukkan larian kod. Pengguna membuat lima tekaan. Setiap kali, komputer memeriksa untuk melihat sama ada ramalan itu betul. Teka-teki salah menghasilkan permintaan untuk mencuba lagi. Untuk meneka dengan tepat, pengguna mendapat kemenangan Anda menang, bersama-sama dengan jumlah bilangan tekaan yang dibuatnya. Komputer mengulangi beberapa pernyataan berulang kali, memeriksa setiap masa melalui untuk melihat apakah tebakan pengguna adalah sama dengan nombor yang dijana secara rawak. Setiap kali pengguna membuat tekaan, komputer menambah 1 untuk meneka pendapatnya. Apabila pengguna membuat tekaan yang betul, komputer memaparkan tally itu.

Apa yang janggal tentang program ini? Nah, beberapa kenyataan muncul lebih daripada satu kali dalam program ini. Biasanya, satu kenyataan yang disalin dari satu bahagian ke satu program kepada yang lain tidak menimbulkan kebimbangan. Namun, strategi keseluruhan kelihatan mencurigakan. Program ini mendapat nombor dari pengguna sebelum gelung dan (lagi) di dalam gelung.

keluar. cetak ("Masukkan int dari 1 hingga 10:"); int inputNumber = keyboard. nextInt (); numGuesses ++; sementara (inputNumber! = RandomNumber) {out. println (); keluar. println ("Cuba lagi …"); keluar. cetak ("Masukkan int dari 1 hingga 10:"); inputNumber = keyboard. nextInt (); numGuesses ++; }

Kod ini menggunakan helah standard untuk membuat gelung bekerja. Ia dipanggil menyebarkan gelung. Coraknya ialah

Dapatkan input manakala input yang anda miliki bukan input terakhir { Dapatkan input lebih banyak }

, komputer memeriksa keadaan yang berkaitan dengan input pengguna. Jadi komputer tidak memasukkan gelung sehingga pengguna memberikan beberapa input. Kemudian apabila komputer berada di dalam gelung, komputer meminta input yang lebih banyak untuk memberi makan lelaran seterusnya gelung. Caranya kelihatan pelik, tetapi ia berfungsi.

Pemaju menggunakan teknik ini, menyusun satu gelung, sepanjang masa, jadi ia tidak boleh menjadi yang buruk. Tetapi ada cara lain.

Listing 2

import java statik. lang. Sistem. keluar; import java. util. Pengimbas; import java. util. Rawak; kelas awam GuessAgain {public static void main (String args []) {Pengimbas papan kekunci = Pengimbas baru (System. in); int inputNumber, numGuesses = 0; int randomNumber = new Random (). nextInt (10) + 1; keluar. println ("************"); keluar. println ("Selamat datang ke Permainan Meneka"); keluar. println ("************"); keluar. println (); sementara (benar) { keluar. cetak ("Masukkan int dari 1 hingga 10:"); inputNumber = keyboard. nextInt (); numGuesses ++; jika (inputNumber == randomNumber) { break; } keluar. println (); keluar. println ("Cuba lagi …"); } keluar. cetak ("Anda menang selepas"); keluar. println (numGuesses + "guesses."); papan kekunci. close ();}}

Dari sudut pandang pengguna, kod dalam Penyenaraian 2 sama persis dengan kod dalam Penyenaraian 1. (Untuk melihat output dari salah satu program, lihat rajah di atas.) perbezaan ialah Listing 2 hanya mempunyai satu panggilan ke papan kekunci. nextInt. Panggilan itu berada di dalam gelung, jadi komputer mesti memasuki gelung tanpa menguji sebarang input.

Jika anda melihat keadaan gelung, anda dapat melihat bagaimana ini berfungsi. Keadaan gelung sentiasa berlaku. Tidak kira apa yang berlaku, keadaan gelung selalu berlalu. Jadi keadaan gelung itu adalah penipuan besar. Anda tidak akan melompat keluar dari gelung dengan gagal ujian dalam keadaan gelung. Sebaliknya, anda melompat apabila anda memukul kenyataan rehat yang berada di dalam gelung (dan anda memukul kenyataan itu apabila anda melewati sekatan jalan raya (inputNumber == randomNumber). Seluruh perkara berfungsi dengan sangat baik.

Apabila komputer mengeksekusi pernyataan rehat yang berada dalam gelung, komputer melompat keluar dari gelung (kepada pernyataan pertama yang datang selepas gelung).

Dengan pernyataan penembusan, komputer melompat dari hanya satu gelung. Jika gelung itu berlaku di dalam gelung lain (gelung luar) komputer tidak melompat di luar gelung luar.

kelas awam BreakOutOfLoop {public static void main (String [] args) { untuk (int i = 0; i <3; i ++) { for (int j = 0; j <100; j ++) { Sistem. keluar. cetak (j + ""); jika (j> 9) {break;} } Sistem. keluar. println ("saya keluar!"); } }}

Untuk menggambarkan, angka berikut mengandungi output kod sebelumnya:

Apabila komputer sampai pada kenyataan perebutan, kawalan akan melompat ke pernyataan saya.Bahawa kenyataan yang saya nyatakan adalah di luar dari gelang j tetapi ia di dalam untuk i loop.

Dari sudut pandang pengaturcara, kod dalam Penyenaraian 2 adalah lebih semula jadi dari kod dalam Penyenaraian 1. Lagi pula, bagaimanakah permainan diteruskan? Pengguna meneka, maka komputer memeriksa tatar itu, dan kemudian (jika tekaan itu tidak betul) komputer mengatakan "Coba lagi. "Itulah urutan peristiwa seperti yang dihuraikan dalam Penyenaraian 2. Tetapi dalam Penyenaraian 1, kod di dalam gelung seolah-olah menggambarkan kejadian dalam urutan terbalik: Gelung itu berkata" Cuba sekali lagi, "dan kemudian pengguna memasukkan nombor.

Penyenaraian 2 menawarkan alternatif yang bagus untuk teknik penyerapan gelung dalam Penyenaraian 1. Jadi, mengapa programmer mengganggu untuk memacu gelung mereka? Adakah kenyataan yang rosak mempunyai kelemahan tersembunyi? Jawapannya bergantung pada pandangan anda. Sesetengah pengaturcara berfikir bahawa pernyataan yang melanggar di gelung akan mengelirukan. Semua melompat dari penyataan kepada penyataan membuat mereka pening dan mengingatkan mereka sesuatu dari tahun 1960 yang dipanggil kod spaghetti . (Spaghetti menggunakan pernyataan goto untuk melompat dari satu pernyataan ke satu lagi. Dalam Pascal oleh Contoh , pengarang B. Burd berkata "Pemrograman dengan goto adalah seperti perjalanan di sekitar Paris dengan berenang melalui sistem pembetungannya. potongan pendek, tetapi tidak ada yang patut diambil. ") Salah satu cara atau yang lain, pernyataan dalam gelung adalah pengecualian, bukan peraturan. Gunakannya jika anda mahu, tetapi jangan mengharapkan untuk mencari banyak daripada mereka dalam kod Java orang lain.

Pernyataan lanjut Java

Penyenaraian 3 menawarkan lebih banyak sos rahsia untuk gelung program anda. Bayangkan permainan yang secara rawak menghasilkan tiga nombor dari 1 hingga 20. Pengguna mengambil lima bertukar meneka nombor. Apabila pengguna memasukkan tekaan yang betul, program ini mengucapkan tahniah kepada pengguna. ("Teka-teki yang baik," kata program itu.) Apabila pengguna memasuki tatar yang salah, program ini tidak memberikan maklum balas.

Penyenaraian 3 mengandungi beberapa kod untuk menjadikannya semua berlaku.

Listing 3

import java statik. lang. Sistem. keluar; import java. util. Pengimbas; import java. util. Rawak; kelas awam GuessAgainAndAgain {public static void main (String args []) {Pengimbas papan kekunci = Pengimbas baru (System. in); int inputNumber; int randNum1 = Rawak baru (). nextInt (20) + 1; int randNum2 = Rawak baru (). nextInt (20) + 1; int randNum3 = Rawak baru (). nextInt (20) + 1; keluar. println ("************"); keluar. println ("Selamat datang ke Permainan Meneka"); keluar. println ("************"); keluar. println (); untuk (int i = 0; i <5; i ++) {keluar. cetak ("Masukkan int:"); inputNumber = keyboard. nextInt (); jika (inputNumber! = RandNum1 && inputNumber! = RandNum2 && inputNumber! = RandNum3) { continue; } keluar. println ("Teka-teki yang baik!"); keluar. println ();} keluar. cetak ("Nombor adalah"); keluar. cetak (randNum1 + ""); keluar. cetak (randNum2 + ""); keluar. cetak (randNum3 + ""); papan kekunci. tutup ();}}

Angka ini menunjukkan satu run program sedemikian.

Pernyataan lanjut Java memberitahu komputer untuk melewati kenyataan yang tersisa di dalam gelung.Iaitu, bukannya melaksanakan pernyataan yang tinggal di dalam gelung, komputer bergerak ke permulaan lelaran seterusnya gelung. Oleh itu, dalam Penyenaraian 3, apabila inputNumber bukan salah satu daripada nombor yang dijana secara rawak program, komputer melompat melangkaui kod "Teka-teki yang baik", menambah kaunter gelung (pemboleh ubah i), dan meminta pengguna untuk memasukkan nilai input yang lain. (Sudah tentu, jika kaunter gelung menyentuh hadnya, komputer tidak melaksanakan lelaran yang lain. Sebaliknya, komputer melompat keluar dari gelung, dan melaksanakan apa-apa kenyataan yang datang selepas gelung.)

Anda boleh menulis semula Listing 3 dengan mudah supaya kod tersebut tidak mempunyai kenyataan terus. Anda perlu meletakkan kod "tekaan yang baik" di dalam pernyataan jika, tetapi itu akan baik-baik saja. Kenyataan yang berterusan tidak banyak dilakukan untuk memperbaiki rupa senarai Listing 3. Tetapi apabila anda ingin mengelakkan kod bersarang di dalam jika penyataan, kenyataan berterusan berguna.

Mungkin, dalam permohonan anda, baki gelung itu adalah urutan pernyataan yang rumit. Anda tidak mahu membuat urutan ini kelihatan lebih rumit dengan melampirkannya dalam kenyataan jika. Atau mungkin, dalam aplikasi anda, anda hanya jarang melangkau baki gelung, dan anda ingin menekankan kekili ini dengan tidak melampirkan baki gelung dalam pernyataan jika. Dalam mana-mana kes, kenyataan terus mungkin tepat pilihan.

Pemrograman java dan Pemasangan Gelombang - dummies

Pilihan Editor

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

PDF, yang bermaksud Format Dokumen Portable , adalah format yang popular untuk menukar fail. Anda boleh menukar persembahan PowerPoint 2016 ke format PDF dengan mengikuti langkah-langkah berikut: Pilih Fail → Eksport → Buat Dokumen PDF / XPS. Klik butang Buat PDF / XPS. Ini membawa kotak dialog yang ditunjukkan di sini. Membuat dokumen PDF. Navigasi ke lokasi di mana ...

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Jika kata yang anda perlukan persembahan PowerPoint anda berada di hujung lidah anda tetapi anda tidak boleh mengingatinya, memberikan Thesaurus PowerPoint satu pukulan. Untuk mencari sinonim untuk perkataan pada slaid PowerPoint, mulakan dengan mengklik kanan perkataan dan memilih Sinonim pada menu pintasan. Untuk mencari sinonim yang baik, ...

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Untuk menarik objek pada slaid PowerPoint 2013, pertama memanggil tab Insert pada Reben. Kemudian klik butang Bentuk (terletak dalam kumpulan Ilustrasi) untuk mendedahkan galeri bentuk yang boleh anda pilih. Akhir sekali, pilih bentuk yang anda mahu menarik dari galeri Bentuk. Simpan petunjuk ini untuk memastikan ...

Pilihan Editor

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Menu Perbankan dalam QuickBooks 2011 membekalkan arahan yang berguna untuk memindahkan wang antara akaun bank. Hanya pilih Perbankan → Dana Pemindahan, dan QuickBooks memaparkan Dana Pemindahan Antara tetingkap Akaun. Ikuti langkah berikut untuk menggunakan Dana Pemindahan Antara tetingkap Akaun: Gunakan medan Tarikh untuk mengenal pasti tarikh pemindahan. Anda boleh memasukkan tarikh dalam ...

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Tugas terakhir anda untuk memuktamadkan Carta Akaun adalah memasukkan jumlah baki percubaan ke dalam QuickBooks 2016. Untuk melaksanakan tugas ini, anda perlu mempunyai baki percubaan yang disediakan pada tarikh penukaran. Ikuti langkah berikut: Pilih Entri Syarikat → Buat Entri Jurnal Umum atau Akauntan → Buat Entri Jurnal Umum. Memaparkan QuickBooks ...

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Anda boleh melakukan semua perbankan elektronik anda dengan QuickBooks. Selepas anda menerangkan pembayaran dalam talian dan pemindahan akaun yang anda mahu membuat QuickBooks, anda menghantar maklumat tersebut ke bank. Untuk berbuat demikian, ikuti langkah berikut:

Pilihan Editor

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Apabila anda memasukkan carta dalam Word, Excel dimulakan secara automatik, dan data yang anda carta diletakkan dalam buku kerja Excel. Bagaimanapun, buku kerja Excel itu bukan? t disimpan sebagai dokumen berasingan. Sebaliknya, carta dan lembaran kerja buku kerja disimpan di dalam dokumen Word. Prosedur berikut menunjukkan bagaimana untuk memasukkan carta ...

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Satu bahagian dalam Word 2007 adalah sebahagian dokumen yang mengandungi pemformatan halaman sendiri. Dengan bahagian, anda boleh mengarahkan arahan pemformatan halaman untuk hanya mempengaruhi seksyen dan bukannya merangkumi keseluruhan dokumen. Dengan setiap bahagian berasingan dari yang lain, dokumen boleh mempunyai pelbagai format. Dalam angka pertama ini, dokumen tersebut mempunyai ...