如果我有一些检查是否属实的情况,那么就这样做。它会不会检查它是否不是假的,反之亦然?如果检查是在布尔值而不是非常低的位数,它是否也会占用更少的空间? 在Java中,也可能是其他语言。
boolean x;
byte y,k,z,a;
//x and k tests, y, z and a just assigned value if they pass any of these tests
if(x==true){y=0;} if(x!=true){z=1} //Are these quicker or take less space
if(x!=false){y=0;} if(x==false){z=1} //Than these ?
if(k==1){a=2;} //Or these ?
if(k!=1){a=2;}
答案 0 :(得分:0)
在运行时,由基本类型变量(如布尔值)占用的空间不依赖于其值。
因此,您最多会看到类文件或源代码的大小略微增加(几个字节)。由于类和源文件只存储一次,因此这种差异可以完全忽略不计。
至于执行速度,编译器很可能会对其进行优化,即使它不是即时编译器也是如此。即使不是这种情况,否定布尔值大约需要1 ns(0.000000001秒),因此它不太可能显着影响程序的速度。