Rumah  >  Artikel  >  Java  >  Mengendalikan lebih banyak cawangan bersyarat dengan ungkapan Suis baharu dalam Java 13

Mengendalikan lebih banyak cawangan bersyarat dengan ungkapan Suis baharu dalam Java 13

王林
王林asal
2023-07-31 16:09:211181semak imbas

Kendalikan lebih banyak cawangan bersyarat dengan ungkapan Switch baharu dalam Java 13

Dengan keluaran Java 13, kami mengalu-alukan banyak ciri dan penambahbaikan baharu. Salah satu ciri baharu yang menarik ialah ungkapan Suis yang dipertingkatkan untuk mengendalikan cawangan bersyarat dengan lebih baik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan ungkapan Suis baharu dalam Java 13 untuk mengendalikan lebih banyak cawangan bersyarat dan memberikan beberapa contoh kod.

Pada masa lalu, di Jawa, kami biasanya menggunakan pernyataan Switch untuk mengendalikan cawangan bersyarat. Walau bagaimanapun, penyataan Suis mempunyai beberapa had, seperti ia hanya boleh memadankan ungkapan malar, dan penyataan rehat atau pengembalian mesti digunakan antara setiap penyataan kes untuk mengelak daripada melaksanakan penyataan kes seterusnya. Keterbatasan ini menjadikan pernyataan Switch agak sukar digunakan apabila berurusan dengan logik bersyarat yang kompleks.

Ungkapan Suis baharu yang diperkenalkan dalam Java 13 menghapuskan batasan ini dan menyediakan sintaks yang lebih fleksibel dan ringkas. Mari kita lihat cara menggunakan ungkapan Suis baharu untuk mengendalikan lebih banyak cawangan bersyarat.

Pertama sekali, kita boleh menggunakan berbilang ungkapan sebagai syarat untuk memadankan dalam ungkapan Tukar. Sebelum ini, kami hanya boleh menggunakan ungkapan sebagai syarat dalam pernyataan Switch. Kini, kita boleh menggunakan berbilang ungkapan yang dipisahkan dengan koma.

Kod sampel adalah seperti berikut:

String fruit = "apple";
int count = switch (fruit) {
    case "apple", "orange" -> 10;
    case "banana" -> 20;
    default -> throw new IllegalArgumentException("Invalid fruit: " + fruit);
};
System.out.println("Count: " + count);

Dalam contoh di atas, kami telah menggunakan dua syarat dalam ungkapan Suis, iaitu "epal" dan "oren". Jika nilai buah ialah "epal" atau "oren", maka nilai kiraan ialah 10. Jika nilai buah ialah "pisang", maka nilai kiraannya ialah 20. Jika nilai buah tidak memenuhi sebarang syarat, IllegalArgumentException dilemparkan.

Satu lagi ciri baharu yang berguna ialah ungkapan Switch tidak lagi memerlukan penyataan pemecahan atau pengembalian yang jelas untuk menamatkan setiap cawangan kes. Kini, kita boleh mengembalikan nilai secara langsung dalam setiap cawangan kes.

Kod sampel adalah seperti berikut:

String fruit = "apple";
int count = switch (fruit) {
    case "apple" -> {
        System.out.println("Apple");
        yield 10;
    }
    case "orange" -> {
        System.out.println("Orange");
        yield 20;
    }
    default -> {
        throw new IllegalArgumentException("Invalid fruit: " + fruit);
    }
};
System.out.println("Count: " + count);

Dalam contoh di atas, kita boleh menggunakan kurungan kerinting dalam setiap cawangan kes untuk melaksanakan berbilang kenyataan, dan terus menggunakan kata kunci hasil untuk mengembalikan nilai.

Selain itu, Java 13 juga memperkenalkan sintaks anak panah baharu ("->") dan kata kunci hasil, menjadikan ungkapan Switch lebih ringkas dan boleh dibaca.

Untuk meringkaskan, ungkapan Switch baharu dalam Java 13 meningkatkan pengendalian cawangan bersyarat. Kita boleh menggunakan berbilang ungkapan sebagai syarat untuk pemadanan dan tidak lagi perlu menggunakan penyataan pemisah atau pemulangan secara eksplisit untuk menamatkan setiap cawangan kes, menjadikan kod lebih ringkas dan boleh dibaca. Saya harap artikel ini membantu anda lebih memahami dan menggunakan ungkapan Suis baharu dalam Java 13.

Rujukan:

  • https://openjdk.java.net/jeps/354

Atas ialah kandungan terperinci Mengendalikan lebih banyak cawangan bersyarat dengan ungkapan Suis baharu dalam Java 13. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn