Operator Logika Bagian 3
Termasuk bagian Dasar-Dasar dalam perjalanan Java di Coddy. Pelajaran 25 dari 73.
Saat memeriksa beberapa kondisi, komputer berhenti memeriksa begitu mengetahui jawaban akhirnya (ini disebut evaluasi hubung singkat).
Contoh:
int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;Di sini x sama dengan 0, jadi kondisi ini tidak akan mengevaluasi y / x > 2. Jika kita membalik urutannya:
boolean result = y / x > 2 && x != 0;Ini akan menyebabkan error karena y akan dibagi dengan 0, yang tidak diperbolehkan dalam matematika.
Teknik ini digunakan untuk mengoptimalkan evaluasi ekspresi logika. Contohnya:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);Dalam contoh ini, b < 2 dan d < 10 tidak akan dievaluasi karena a > 0 dan c < -5 keduanya bernilai false.
Operand kanan juga bisa berupa pemanggilan method, dan aturan yang sama berlaku. Dalam false && someMethod(), method tidak pernah dipanggil karena sisi kiri yang bernilai false sudah menentukan hasil &&. Dalam true || anotherMethod(), method juga tidak pernah dipanggil karena sisi kiri yang bernilai true sudah menentukan hasil ||. Operand kanan hanya dievaluasi jika sisi kiri belum menentukan jawabannya.
Tantangan
PemulaMari buat program untuk menentukan apakah hari ini cocok untuk menghasilkan energi dari panel surya
Inisialisasi variabel-variabel ini:
isSunnydengan nilai truewindSpeeddengan nilai 5.4temperaturedengan nilai 23solarPanelOutputdengan nilai 9isCloudydengan nilai false
Buat satu ekspresi logika yang memeriksa SEMUA kondisi ini:
- Cuaca cerah
- Kecepatan angin kurang dari 10
- Output panel surya kurang dari 15
- Suhu di atas 20 ATAU tidak ada awan
Coba sendiri
public class Main {
public static void main(String[] args) {
// Inisialisasi variabel
// Ganti setiap nilai sementara di bawah ini dengan nilai yang diminta tugas
boolean isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
boolean isCloudy = false;
// Ekspresi logika lengkap
// Ganti bagian sementara di bawah ini dengan satu ekspresi yang menggabungkan keempat kondisi
boolean result = false;
// Jangan hapus baris-baris di bawah ini
System.out.println("Checking conditions for solar energy production...");
System.out.println("1. Is it sunny? " + isSunny);
System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
System.out.println("\nFinal result - Good day for solar energy production: " + result);
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloIncrement/DecrementPost-increment/Post-decrementPintasan AritmetikaOperator PerbandinganPerbandingan string7IO Dasar
Method System.outMemformat outputClass ScannerRangkuman: Hingga 120Rangkuman: Benar atau Salah5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Rangkuman: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 43Variabel Bagian 2
KonstantaKonvensi PenamaanUlasan: Inisialisasi VariabelKonversi Tipe Bagian 1Konversi Tipe Bagian 26Pengambilan Keputusan
Pernyataan IfIf - ElsePernyataan SwitchOperator TernaryRingkasan If - ElseIf - Else BersarangLatihan sendiri: Compiler Java online