关于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 修饰,那么此函数不能被子类修改,但是子类可以调用

posted on 2013-08-10 16:27  吴一达  阅读(354)  评论(0编辑  收藏  举报

导航