Jika Anda memiliki jenis kode "pencarian", Anda dapat mengemas klausa switch-case dalam sebuah metode dengan sendirinya.
Saya memiliki beberapa di antaranya dalam sistem "hobi" yang saya kembangkan untuk bersenang-senang:
private int basePerCapitaIncomeRaw(int tl) {
switch (tl) {
case 0: return 7500;
case 1: return 7800;
case 2: return 8100;
case 3: return 8400;
case 4: return 9600;
case 5: return 13000;
case 6: return 19000;
case 7: return 25000;
case 8: return 31000;
case 9: return 43000;
case 10: return 67000;
case 11: return 97000;
default: return 130000;
}
}
(Ya. Itu ruang GURPS ...)
Saya setuju dengan orang lain bahwa Anda dalam banyak kasus harus menghindari lebih dari satu pengembalian dalam suatu metode, dan saya menyadari bahwa yang ini mungkin lebih baik diimplementasikan sebagai larik atau yang lain. Saya baru saja menemukan switch-case-return menjadi pertandingan yang cukup mudah untuk tabel pencarian dengan korelasi 1-1 antara input dan output, seperti hal di atas (permainan role-playing penuh dengan mereka, saya yakin mereka ada di "bisnis" juga): D
Di sisi lain, jika case-clause lebih kompleks, atau sesuatu terjadi setelah switch-statement, saya tidak akan merekomendasikan menggunakan return di dalamnya, melainkan menetapkan variabel di switch, mengakhirinya dengan jeda, dan mengembalikan nilai variabel pada akhirnya.
(Di sisi ... ketiga? Sisi ... Anda selalu dapat merefaktor sebuah saklar ke dalam metodenya sendiri ... Saya ragu ini akan berpengaruh pada kinerja, dan tidak akan mengejutkan saya jika kompiler modern bahkan dapat mengenalinya sebagai sesuatu yang bisa disisipkan ...)
continue
ataugoto
- itu idiomatis untuk menggunakannya sebagai penggantibreak
.