bukannya rantaian if...else
rantaian, pernyataan Java switch
menawarkan cara yang lebih bersih dan lebih efisien untuk mengendalikan pelbagai cawangan bersyarat. Panduan ini meneroka fungsi, sintaks, dan amalan terbaiknya.
Pertimbangan utama:
switch
pernyataan boleh mempunyai satu atau banyak nilai case
. case
mestilah sepadan dengan jenis ungkapan switch
(byte, short, int, panjang, jenis pembungkus, enum, atau rentetan). Mereka mestilah literal atau pemalar, bukan pembolehubah. case
nilai mestilah unik; Duplikat menyebabkan kesilapan masa kompilasi. break
(pilihan) keluar blok switch
selepas padanan case
. Menghilangkan break
membawa kepada tingkah laku "jatuh" (melaksanakan kes-kes berikutnya). default
(pilihan) mengendalikan kes di mana tidak case
sepadan dengan ungkapan.
menilai ungkapan sekali dan membandingkannya dengan setiap switch
nilai. Jika perlawanan dijumpai, blok kod yang sepadan dilaksanakan. case
dan break
dijelaskan di bawah. default
sintaks:
<code class="language-java">switch (expression) { case value1: // Code block 1 break; case value2: // Code block 2 break; default: // Default code block (optional) }</code>
Kata kunci : break
menamatkan blok break
, mencegah jatuh. Tanpa switch
, pelaksanaan terus ke break
seterusnya sehingga case
atau akhir break
ditemui. Menggunakan switch
Meningkatkan kejelasan kod dan menghalang tingkah laku yang tidak diingini. break
Kata kunci : default
Menyediakan blok sandaran yang dilaksanakan jika tidak default
sepadan dengan nilai ungkapan. Ia pilihan tetapi penting untuk mengendalikan input yang tidak dijangka. case
Contoh:
1. Hari dalam seminggu:
<code class="language-java">public class DayOfWeek { public static void main(String[] args) { int day = 4; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; default: System.out.println("Invalid day"); } } }</code>
output: Khamis
2. Contoh Fall-through:
<code class="language-java">public class FallThrough { public static void main(String[] args) { int number = 20; switch (number) { case 10: System.out.println("10"); case 20: System.out.println("20"); case 30: System.out.println("30"); default: System.out.println("Default"); } } }</code>
output: 20 30 lalai
3. Tukar dengan rentetan (Java 7 dan kemudian):
<code class="language-java">public class StringSwitch { public static void main(String[] args) { String level = "Expert"; switch (level) { case "Beginner": System.out.println("Level 1"); break; case "Intermediate": System.out.println("Level 2"); break; case "Expert": System.out.println("Level 3"); break; default: System.out.println("Unknown Level"); } } }</code>
output: Tahap 3
4. Suis bersarang: Kenyataan bersarang
dibenarkan, menyediakan cawangan bersyarat selanjutnya dalam. switch
case
enums boleh digunakan secara langsung dalam
penyataan, meningkatkan kebolehbacaan kod dan kebolehkerjaan.
switch
Panduan ini menyediakan asas yang kukuh untuk menggunakan pernyataan Java
break
pernyataan; ia boleh membawa kepada tingkah laku yang tidak dijangka. switch
hanya menyokong pemeriksaan kesamaan yang tepat, bukan julat atau keadaan kompleks. switch
mestilah jenis primitif (int, char, byte, pendek, dan lain -lain), enum, atau rentetan (java 7). switch
untuk mengembalikan nilai. switch
dengan berkesan. Ingatlah untuk mengutamakan kejelasan kod dan mengelakkan tingkah laku kejatuhan yang tidak diingini untuk kod yang mantap dan boleh dipelihara. Untuk penggunaan yang lebih maju, terokai ekspresi suis Java yang dipertingkatkan yang diperkenalkan di Java 12 dan seterusnya. Rujuk rujukan yang disediakan untuk butiran lanjut.
Atas ialah kandungan terperinci Tukar, semasa gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!