01/10/2018, 00:46
Toán tử = trong java
Mọi người giải thích giúp em cái này với ạ.
boolean bool = true; if (bool = false) { System.out.println("a"); } else if (bool) { System.out.println("b"); } else if (!bool) { System.out.println("c"); } else { System.out.println("d"); }
theo em nghĩ thì chỗ if (bool = false)
này chỉ là so sánh bit vì bool = true nên là 0000 và false là 0001 vì 2 bit không bằng nhau nên ko vào if đó tiếp tục đi xuống, theo như kết quả ra c thì em nghĩ là do chỗ đó đã bị gán bằng luôn đúng ko ạ, vậy khi nào biết so sanh bit khi nào gán bằng ạ. Cảm ơn ạ
Bài liên quan
Học hành vậy có chết không cơ chứ, haiz. True luôn là 0001 và false luôn là 0000. Kiến thức nền tảng không vững chắc rồi ngồi suy ra những cái không logic chút nào.
|| && == là thuộc về logic vậy
|
&
là phép toán về bit vậy chỗ đó không phải là bool =false thì là so sánh về bit thôi ạ
= là phép toàn về bit hả em @@
ref
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
Bên dưới là code của em được compile ra file class
Đi download Java decompile về em sẽ xem được và hiểu
Bạn suy luận kiểu đấy thì tốt nhất về học lại đi
Dạ, đã hiểu ạ, cảm ơn nhiều ạ