Menu
CoddyTech

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.

challenge icon

Tantangan

Pemula

Mari buat program untuk menentukan apakah hari ini cocok untuk menghasilkan energi dari panel surya

Inisialisasi variabel-variabel ini:

  • isSunny dengan nilai true
  • windSpeed dengan nilai 5.4
  • temperature dengan nilai 23
  • solarPanelOutput dengan nilai 9
  • isCloudy dengan 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);
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Java online