📅  最后修改于: 2020-03-30 03:40:14             🧑  作者: Mango
布尔数据类型是C++和Java中的原始数据类型之一。尽管它似乎是所有数据类型中最简单的,因为它只能有两个值:true或false,但是它肯定是一个棘手的问题,因为在Java和C++中,其用法都有某些差异,如果不小心,可能会导致错误。C++和Java在用法上的差异是:
#include
using namespace std;
int main()
{
bool a = true;
// Java的语法
// boolean b = false;
return 0;
}
Java代码:
class A
{
public static void main(String args[])
{
boolean a = true;
// C++ 语法
// bool b = false;
}
}
#include
using namespace std;
int main()
{
// 声明一个C++的变量
bool a[5];
int i;
for (i=0; i<5; ++i)
{
cout << a[i] << " ";
}
return 0;
}
上面程序中存储在数组中的所有值都是垃圾值,并且不是固定的。
Java代码:
class A
{
public static void main(String args[])
{
// 声明一个Java的boolean类型数组
boolean a[];
a = new boolean[5];
int i;
for(i=0; i<5; ++i)
{
System.out.println(a[i]);
}
}
}
输出:
false
false
false
false
false
如上面的输出所示,默认情况下,数组a中的所有值都将为false。
#include
using namespace std;
int main()
{
int a;
bool b = true;
bool c = false;
a = b + c;
cout << a;
return 0;
}
输出:
1
输出将为1,因为true将转换为值1,false将转换为值0,所以a将存储1,而相同的代码将在Java中给出错误,如下所示.
Java代码:
class A
{
public static void main(String args[])
{
int a;
boolean b = true;
boolean c = false;
// 如下会报错
a = b + c;
System.out.println(a);
}
}
#include
using namespace std;
int main()
{
bool a = true;
bool b = false;
if (a > b)
{
cout << "a>b";
}
else
{
cout << "a
输出:
a>b
Java代码:
class a
{
public static void main(String args[])
{
boolean a = true;
boolean b = false;
// 如下会报错
if (a > b)
{
System.out.println("a
#include
using namespace std;
int main()
{
// 在布尔值中存储整数类型
bool a = 7;
// 在布尔值中存储float类型
bool b = 7.0;
cout << a << " " << b;
return 0;
}
输出:
1 1
上面的输出结果是将任何值存储在除0以外的布尔变量中,将导致在该变量中存储1。
Java代码:
class a
{
public static void main(String args[])
{
// Java的无效赋值
boolean a = 7;
// Java的无效赋值
boolean b = 7.0;
System.out.println(a);
System.out.println(b);
}
}