关于java和c++中布尔量的比较

时间:2023-03-09 08:28:27
关于java和c++中布尔量的比较

在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1

int main(int argc, _TCHAR* argv[])
{
int num = 0;
int total = 2;
bool isBool = true; cout<<"Hello \tWorld"<<endl;
/*printf("%s", "ddd");*/
//cin>>num;
//cout<<num;
cout<<"num is bool:"<<(bool) num<<endl;
cout<<"total is bool:"<<(bool) total<<endl;
cout<<"isBool is bool:"<<(int)isBool<<endl;
cout<<"isBool is bool:"<<isBool<<endl;
cin.get();
//cin.get();
return 0;
}

输出的结果为 0  1  1  1

在Java中不允许 boolean 和 int 整形量直接的转换,如果强制转换,如果相互转换编译器会提示错误。

public class Test3 {

	public static final int a = 3;

	static int c = 0;
int b = 1; boolean isBool = true; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test3 t3 = new Test3();
System.out.println(t3.isBool);
// System.out.println((boolean)t3.c); // 提示错误
// System.out.println((int)t3.isBool); // 提示错误
} }

输出结果为 true

此外,如果一个函数被 final 修饰,那么此函数不能被子类修改,但是子类可以调用