1. Operator pilihan ganda:switch

Java memiliki operator menarik lainnya yang diwarisi dari grandpappy (C++). Kita berbicara tentang switchpernyataan itu. Kami juga bisa menyebutnya operator pilihan ganda. Ini terlihat sedikit rumit:
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
Ekspresi atau variabel ditunjukkan dalam tanda kurung. Jika nilai ekspresinya adalah value1, mesin Java mulai mengeksekusi code1. Jika ekspresinya sama dengan value2, eksekusi melompat ke code2. Jika ekspresi sama dengan value3, maka code3dieksekusi.
Contoh:
| Kode | Keluaran konsol |
|---|---|
|
|
2. breakpernyataan diswitch
Fitur penting dari sebuah switchpernyataan adalah bahwa program hanya melompat ke baris yang diperlukan (ke blok kode yang diperlukan) dan kemudian mengeksekusi semua blok kode hingga akhir switch. Tidak hanya blok kode yang sesuai dengan nilai dalam switch, tetapi semua blok kode hingga akhir switch.
Contoh:
| Kode | Keluaran konsol |
|---|---|
|
|
Diberi suhu 36, program akan memasukkan switchpernyataan, melompat ke dan mengeksekusi blok kode pertama (kasus pertama), dan kemudian dengan senang hati mengeksekusi blok kode lainnya.
Jika Anda ingin mengeksekusi hanya satu blok kode — blok kode yang terkait dengan case yang cocok — maka Anda harus mengakhiri blok dengan pernyataan break;
Contoh:
| Kode | Keluaran konsol |
|---|---|
|
|
Anda dapat menghilangkan breakdi kasus terakhir dari pernyataan switch, karena blok tersebut adalah yang terakhir dengan atau tanpa pernyataan break.
3. Tindakan default:default
Poin penting lainnya. Apa yang terjadi jika tidak ada kasus yang tercantum dalam daftar switchyang cocok dengan ekspresi dalam tanda kurung?
Jika kasus yang cocok tidak ditemukan, maka pernyataan selanjutnya switchdilewati, dan program akan melanjutkan eksekusi setelah kurung kurawal mengakhiri pernyataan switch.
Meskipun demikian, Anda juga dapat membuat switchpernyataan berperilaku seperti cabang else dalam if-elsepernyataan. Untuk melakukan ini, gunakan defaultkata kunci.
Jika tidak ada cases di switchblok yang cocok dengan nilai ekspresi dan switchmemiliki defaultblok, blok default akan dieksekusi. Contoh:
| Kode | Keluaran konsol |
|---|---|
|
|
4. Membandingkan switchdanif-else
Pernyataan tersebut switchagak mirip dengan if-elsepernyataan, hanya saja lebih rumit.
Anda selalu dapat menulis ulang kode pernyataan switchsebagai beberapa ifpernyataan. Contoh:
| Kode dengan sakelar | Kode dengan if-else |
|---|---|
|
|
Kode di sebelah kiri akan berfungsi sama persis dengan kode di sebelah kanan.
Rantai beberapa if-elsepernyataan lebih disukai ketika sebuah ifpernyataan berisi berbagai ekspresi kompleks dalam setiap kasus terpisah.
5. Ekspresi apa yang dapat digunakan dalam sebuah switchpernyataan?
Tidak semua tipe dapat digunakan sebagai caselabel dalam switchpernyataan. Anda dapat menggunakan literal dari jenis berikut:
- tipe bilangan bulat:
byte,short,int,long charStringenumjenis apa pun
Anda tidak dapat menggunakan jenis lain sebagai label kasus.
Contoh penggunaan pernyataan enumdi dalam switch:
Day day = Day.MONDAY;
switch (day)
{
case MONDAY:
System.out.println("Monday");
break;
case TUESDAY:
System.out.println("Tuesday");
break;
case WEDNESDAY:
System.out.println("Wednesday");
break;
case THURSDAY:
System.out.println("Thursday");
break;
case FRIDAY:
System.out.println("Friday");
break;
case SATURDAY:
System.out.println("Saturday");
break;
case SUNDAY:
System.out.println("Sunday");
break;
}
Catatan: Jika Anda menggunakan pernyataan enumdi dalam switch, Anda tidak perlu menuliskan nama kelas di depan setiap nilai pada caselabel. Cukup tulis nilainya saja.
GO TO FULL VERSION