OC的布尔值类型有三种写法:BOOL 、bool、 Boolean。其实这三种写法的作用都是一样的。一般来说就是用BOOL。
跟其他编程语言一样,OC的布尔值也有true和false两种,特别的是,它还有YES和NO两种,对应的分别就是true和false了。
编写代码,比较两个int数是否不同:
//定义如下方法:
BOOL areIntsDifferent(int thing1, int thing2){
if (thing1 == thing2) {
return false;
}
else {
return true;
}
}
NSString *boolString(BOOL yesNo){
if (yesNo == NO) {
return @"No";
}
else {
return @"Yes";
}
}
//main函数内调用上边的方法:
//areTheyDIfferent = areIntsDifferent(5, 5);
NSLog(@"\nare %d and %d different? \n%@", 5, 5, boolString(areIntsDifferent(5, 5)));
//areTheyDIfferent = areIntsDifferent(23, 25);
NSLog(@"\nare %d and %d different? \n%@", 23, 25, boolString(areIntsDifferent(23, 25)));
控制台输出结果如图:
另外,OC的布尔型只有当数值为0时才返回false,编写代码验证如下:
//当结果大于或等于1,小于1但大于0,小于0时
if ((5-1) && (5-4) && (5-7) && (5-4.9)) {
NSLog(@"\n非0都是true的~!");
}
//当结果为0时
if (!(5-5)) { //注意前边的取反
NSLog(@"\n0是false的~!");
}
在控制台输出如下: