Java开发笔记(二十八)布尔包装类型
程序员文章站
2023-12-26 22:34:27
前面介绍了数值包装类型,因为不管是整数还是小数,它们的运算操作都是类似的,所以只要学会了Integer的用法,其它数值包装类型即可一并掌握。但是对于布尔类型boolean来说,该类型定义的是“true”和“false”的布尔值,并非123之类的数字,因此还需专门的包装类型Boolean来包装bool ......
前面介绍了数值包装类型,因为不管是整数还是小数,它们的运算操作都是类似的,所以只要学会了integer的用法,其它数值包装类型即可一并掌握。但是对于布尔类型boolean来说,该类型定义的是“true”和“false”的布尔值,并非123之类的数字,因此还需专门的包装类型boolean来包装boolean。
boolean作为包装类型,与数值包装类型相似,它也拥有三种变量初始化方式。由于布尔包装类型的初始化代码雷同数值包装类型,这里不再赘述,具体代码示例如下:
// 初始化包装变量的第一种方式:直接用等号赋值
boolean boolpack = true;
// 初始化包装变量的第二种方式:调用包装类型的valueof方法
//boolean boolpack = boolean.valueof(true);
// 初始化包装变量的第三种方式:使用关键字new创建新变量
//boolean boolpack = new boolean(true);
system.out.println("boolpack="+boolpack);
要把布尔包装变量转换成基本类型的布尔变量,同样不能通过强制类型转换,而是必须调用包装变量的booleanvalue方法,如此方能得到布尔类型的变量值。与数值包装类型保持一致的还有equals方法,该方法相当于关系运算符“==”,可用于判断两个布尔包装变量是否相等。booleanvalue方法和equals方法的调用代码例子见下:
// 把包装变量转换成布尔变量,需要调用包装变量的booleanvalue方法
boolean bool = boolpack.booleanvalue();
system.out.println("bool="+bool);
// 布尔包装变量的equals方法相当于关系运算符“==”
boolean equalresult = boolpack.equals(false);
system.out.println("equalresult="+equalresult);
除此之外,布尔包装变量之间允许使用逻辑运算符,包括非运算符“!”、与运算符“&”、或运算符“|”、异或运算符“^”。当然,这些逻辑运算符早就用于基本布尔类型,倘若包装布尔类型只有这点本事,不免拾人牙慧。所以包装类型另外提供了几个逻辑方法,像是logicaland方法相当于逻辑“与”运算符“&&”,logicaland方法相当于逻辑“或”运算符“||”,logicaland方法相当于逻辑“异或”运算符“^”。通过方法包装了常见的逻辑运算操作,这样java代码才更像是常人看得懂的编程语言,而非只有数学家才能看得懂的逻辑式子。下面是布尔包装类型使用几个逻辑方法的代码例子:
boolean a = true, b = false;
// 布尔包装类型的logicaland方法相当于逻辑“与”运算符“&&”
boolean andresult = boolean.logicaland(a, b);
system.out.println("andresult="+andresult);
// 布尔包装类型的logicaland方法相当于逻辑“或”运算符“||”
boolean orresult = boolean.logicalor(a, b);
system.out.println("orresult="+orresult);
// 布尔包装类型的logicaland方法相当于逻辑“异或”运算符“^”
boolean xorresult = boolean.logicalxor(a, b);
system.out.println("xorresult="+xorresult);
更多java技术文章参见《java开发笔记(序)章节目录》