Java: bool + int
Apakah ada cara untuk membuat Java berfungsi dengan penambahan dan evaluasi boolean / integer? Lebih khusus lagi, C ++ memiliki fitur yang sesuai yang mempersingkat banyak pernyataan if.
for (int i = 0; i < n; ++i)
cout << i;
Setara dengan
while (n--)
cout << n;
Atau, alih-alih:
for (int i = 0; i < n; ++i)
if (x == y)
count++;
Seseorang dapat memiliki
for (int i = 0; i < n; ++i)
count += (x==y);
Apakah ada cara untuk melakukan hal serupa di Java?
Jawaban
Anda dapat menggunakan operator terner di Java untuk efek yang sama.
public class Main {
public static void main(String[] args) {
int x = 5, y = 10, count = 0;
count += x == y ? 1 : 0;
System.out.println(count);
x = 10;
count += x == y ? 1 : 0;
System.out.println(count);
}
}
Keluaran:
0
1
Kode lebih sering dibaca daripada tertulis. Meskipun Anda dapat menggunakan operator terner, semantik ini bermuara pada hanya meningkat countjika xsamay . Jadi cara yang paling mudah dibaca untuk menulis ini adalah dengan menggunakan:
for (int i = 0; i < n; ++i)
if (x == y) count++;
Melakukan trik seperti count += (x==y)dalam bahasa lain adalah praktik yang sudah buruk karena mengaburkan logika. Optimalkan untuk membaca, bukan menulis.