Java: bool + int

Oct 18 2020

Java'nın mantıksal / tamsayı toplama ve değerlendirme ile çalışmasını sağlamanın bir yolu var mı? Daha spesifik olarak, C ++ birçok if ifadesini kısaltan uygun bir özelliğe sahiptir.

for (int i = 0; i < n; ++i)
    cout << i;

Eşdeğerdir

while (n--)
    cout << n;

Veya bunun yerine:

for (int i = 0; i < n; ++i)
    if (x == y)
        count++;

Biri olabilir

for (int i = 0; i < n; ++i)
    count += (x==y);

Java'dakine benzer bir şey yapmanın bir yolu var mı?

Yanıtlar

3 ArvindKumarAvinash Oct 18 2020 at 17:02

Aynı etki için Java'da üçlü operatörü kullanabilirsiniz.

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);
    }
}

Çıktı:

0
1
Polygnome Oct 18 2020 at 17:06

Kod, yazılandan daha sık okunur. Üçlü operatörü kullanabilseniz de, bunun anlamsallığı yalnızca eşitse artacak countşekilde xazalıry . Yani bunu yazmanın en okunaklı yolu şunu kullanmak olacaktır:

for (int i = 0; i < n; ++i)
   if (x == y) count++;

count += (x==y)Diğer dillerdeki gibi hileler yapmak , mantığı karıştırdığı için zaten kötü uygulamalardır. Yazmak için değil okumak için optimize edin.