Pernyataan bersyarat dalam program komputer mendukung keputusan berdasarkan kondisi tertentu. Jika kondisi terpenuhi, atau "benar," sepotong kode tertentu dieksekusi.
Misalnya, Anda ingin mengonversi teks yang dimasukkan pengguna ke huruf kecil. Jalankan kode hanya jika pengguna memasukkan teks kapital. Jika tidak, Anda tidak ingin mengeksekusi kode karena itu akan menyebabkan kesalahan runtime.
Ada dua pernyataan kondisional utama yang digunakan di Jawa: if-then dan jika-maka-lagi pernyataan, dan pernyataan switch.
Pernyataan If-Then dan If-Then-Else
Pernyataan kontrol aliran paling dasar di Jawa adalah jika-maka: jika [sesuatu] benar, lakukan [sesuatu]. Pernyataan ini adalah pilihan yang baik untuk keputusan sederhana. Struktur dasar dari pernyataan if dimulai dengan kata "jika," diikuti oleh pernyataan untuk menguji, diikuti oleh kurung kurawal yang membungkus tindakan yang harus diambil jika pernyataan itu benar. Ini terlihat seperti ini:
jika (pernyataan) {// lakukan sesuatu di sini ...}
Pernyataan ini juga dapat diperluas untuk melakukan sesuatu yang lain jika kondisi salah:
jika (pernyataan) {// lakukan sesuatu di sini ...}
lain {// lakukan sesuatu yang lain ...}
Misalnya, jika Anda menentukan apakah seseorang cukup umur untuk mengemudi, Anda mungkin memiliki pernyataan yang mengatakan "jika usia Anda 16 tahun atau lebih, Anda dapat mengemudi; selain itu, Anda tidak bisa mengemudi. "
usia int = 17;
jika umur> = 16 {System.out.println ("Anda dapat mengemudi.");}
else {System.out.println ("Anda belum cukup umur untuk mengemudi.")
Tidak ada batasan jumlah pernyataan lain yang bisa Anda tambahkan.
Operator Bersyarat
Dalam contoh di atas, kami menggunakan satu operator. Ini adalah operator standar yang dapat Anda gunakan:
- sama dengan: =
- kurang dari: <
- lebih dari:>
- lebih besar dari atau sama dengan:> =
- kurang dari atau sama dengan:> =
Selain itu, ada empat lagi operator yang digunakan dengan pernyataan bersyarat:
- dan: &&
- tidak:!
- atau: ||
- sama dengan: ==
Misalnya, usia mengemudi dianggap dari usia 16 hingga 85 tahun, dalam hal ini operator AND dapat digunakan.
lain jika (usia> 16 && usia <85)
Ini akan mengembalikan true hanya jika kedua kondisi terpenuhi. Operator TIDAK, OR, dan IS EQUAL TO dapat digunakan dengan cara yang sama.
Pernyataan Switch
Itu switchstatement menyediakan cara yang efektif untuk menangani bagian kode yang dapat bercabang ke berbagai arah berdasarkan satu variabel. Itu tidak mendukung operator kondisional pernyataan if-then tidak, juga tidak dapat menangani beberapa variabel. Namun, ini adalah pilihan yang lebih disukai ketika kondisi tersebut akan dipenuhi oleh satu variabel karena dapat meningkatkan kinerja dan lebih mudah untuk mempertahankan.
Ini sebuah contoh:
switch (single_variable) {nilai kasus: // code_here;
istirahat;
nilai kasus: // code_here;
istirahat;
default: // set default;}
Perhatikan bahwa Anda mulai dengan sakelar, berikan satu variabel, lalu tentukan pilihan Anda menggunakan istilah tersebut kasus. Kata kunci istirahat menyelesaikan setiap kasus dari pernyataan switch. Nilai default adalah opsional, tetapi praktik yang baik.
Sebagai contoh, saklar ini mencetak lirik lagu Dua Belas Hari Natal yang diberikan hari yang disediakan.
hari int = 5;
Lirik string = ""; // kosongkan string untuk menahan lirik
switch (hari) {case 1:
lyric = "Partridge di pohon pir.";
istirahat;
kasus 2:
lyric = "2 turtle doves";
istirahat;
kasus 3:
lyric = "3 ayam Perancis";
istirahat;
kasus 4:
lyric = "4 burung pemanggil";
istirahat;
kasus 5:
lyric = "5 cincin emas";
istirahat;
kasus 6:
lyric = "6 geese-a-laying";
istirahat;
kasus 7:
lyric = "7 angsa-a-renang";
istirahat;
kasus 8:
lyric = "8 maids-a-milking";
istirahat;
kasus 9:
lirik = "9 wanita menari";
istirahat;
kasus 10:
lyric = "10 Lords-a-leaping";
istirahat;
kasus 11:
lyric = "11 pipers piping";
istirahat;
kasus 12:
lirik = "12 drummer drum";
istirahat;
default:
lyric = "Hanya ada 12 hari.";
istirahat;
}
System.out.println (lirik);
Dalam contoh ini, nilai untuk diuji adalah bilangan bulat. Java SE 7 dan yang lebih baru mendukung objek string dalam ekspresi. Sebagai contoh:
String day = "second";
Lirik string = ""; // kosongkan string untuk menahan lirik
beralih (hari) {
huruf "pertama":
lyric = "Partridge di pohon pir.";
istirahat;
huruf "kedua":
lyric = "2 turtle doves";
istirahat;
huruf "ketiga":
lyric = "3 ayam Perancis";
istirahat;
// dll