Demo kelas awam {
public static void main(String args[]) {
boolean flag = 10%2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ;
System.out.println(flag ? "mldn" : "yootk") ;
}
}
代码如上,我任务考察的是 && 符号 与 & 符号的区别,但是在最后一个 1 / 0 == 0 这个竟然能走通,而且打印出来了yootk,这个除数不是不能为零的吗?为什么能走通呢?很是费解,希望大神可以给解释下,谢谢。
&& dan || mempunyai kesan litar pintas:
Punca utama kesan litar pintas adalah untuk meningkatkan prestasi
&& operator menyemak sama ada ungkapan pertama mengembalikan palsu Jika ia palsu, hasilnya mestilah palsu dan tiada kandungan lain yang diperiksa sama ada ungkapan pertama mengembalikan benar , tiada kandungan lain akan disemak
10%2 == 1 adalah palsu, kandungan berikut tidak akan dilaksanakan lagi10%2 == 1 adalah palsu, hasil akhir keseluruhan ungkapan adalah palsu, dan yang berikut tidak akan dilaksanakan, iaitu litar pintas.
&&
和||
会短路,但&
和|
不会。如果你把&&
改成&
Mesti ada yang tak normal.