语言 | 空 | 取反操作符 |
C | NULL | ! |
Java | null | ! |
Python | None | ~ |
注意大小写,另外,三种语言的空值做==比较,返回的都是真。
C语言:
没有布尔类型,也就是没有true和false,
在C语言的逻辑判断中,0和NULL代表假,剩余的一些数字、字符串等都代表真。
逻辑表达式返回的真假结果,真用1来表示,假用0来表示。
如果想使用true和false来代表真假,可以使用宏定义
#include <stdio.h>
#define true 1
#define false 0
int main() {
if (true) {
printf("true = %d\n", true);//true = 1
printf("1 > 0 = %d\n", 1 > 0);//1 > 0 = 1
}
if (!false) {
printf("false = %d\n", false);//false = 0
printf("1 < 0 = %d\n", 1 < 0);//1 < 0 = 0
}
printf("NULL == NULL is %d\n", NULL == NULL);//NULL == NULL is 1
}
Java:
有严格的布尔类型true和false
注意java中直接表示真假的true和false,两个单词是全小写的。
条件判断表达式的结果必须是一个布尔类型,否则无法通过编译
Python:
Python中也有真假,不过是True和False,首字母大写的
同时Python和C一样0和空(None)表示假,其余变量均表示真。
另外Python有一个not的关键字,作用也容易理解,算是取反操作
if not 1 < 0:
print '1 < 0 is False'