, yazabilirim eğer bir I denemek ve Java aynı şeyi yaparken ama, derleyici "uyumsuz türleri" söylüyor ve ben diyor if-ifadesibir deyim
if (firstInt & 1)
int
yerine boolean
gerekir. Java'da bu C kodunu yazmanın bir yolu var mı?
, yazabilirim eğer bir I denemek ve Java aynı şeyi yaparken ama, derleyici "uyumsuz türleri" söylüyor ve ben diyor if-ifadesibir deyim
if (firstInt & 1)
int
yerine boolean
gerekir. Java'da bu C kodunu yazmanın bir yolu var mı?
Aşağıdakilerden herhangi sizin için çalışması gerekir: (Ben kötü bir fikir olduğunu iddia ediyorum rağmen) bir tamsayı ifadesi bir boolean ifade olarak örtük kullanılabilir C'de
if ((firstInt & 1) != 0)
if ((firstInt & 1) > 0)
if ((firstInt & 1) == 1)
+1. Ayrıca '(firstInt & 1) == 1' yapabilir. –
Lütfen unutmayın (eklediğim) parenslerin doğruluğu için gereklidir. Java'da, karşılaştırma operatörleri ikili bitsel işleçlerden daha sıkı bağlanır. – Taymon
Bu işe yaradı. Cevabını bana izin verir vermez kabul edeceğim. – user1310650
, sıfır yanlış olduğu ve sıfır olmayan herhangi bir değer doğrudur.
Java'da izin verilmez, böylece tamsayı sonucu bir karşılaştırma işleci kullanılarak başka bir tamsayı değerine veya ifadesine göre karşılaştırılarak ifadeyi açık bir şekilde boole yapmalısınız.
Bu, C/C++ 'da çalışmanın nedeni, dillerin ifadeleri örtük olarak sonuçlarını sıfır ile karşılaştırarak ifadeleri yorumlamasıdır. Bu bakımdan Java çok katıdır, şartlarda bir boole ifadesi gerektirir. – dasblinkenlight
Sadece örtük değil; C, boolean türünde bile _have_ olmaz. – Taymon
@Taymon C, boolean türünde '_Bool' ve 'bobo ' – ouah