Java中的boolean怎么用?
Boolean是Java一种数据类型。官方的说明:The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined. 在每种编程语言中,不可避免的会出现关于是和否的逻辑判断,比如,变量x的值是否大于变量y的值等,在Java里,我们使用布尔值来反映这些值。我们在数据类型介绍部分介绍了Java中的8种基本类型,其中我们注意到第四类就是布尔值。布尔值的基本类型在字面值有true和false,它的数据类型为boolean。在Java里,对于每种基本的数据类型都有相对应的包装类型(Wrapper Type)。这里的原因为使用包装类型可以用面向对象的方式进行代码的编写,关于面向对象,我在后面会讲到。对于布尔类型,Java中提供了java.lang.Boolean作为布尔类型的包装类型。在Java中,我们可以使用一个布尔值或字符串值来构造一个Boolean对象。下面是Boolean类的构造方法:Java代码 public Boolean (boolean value) public Boolean (String value) 作为讲解,我们下面给出一段构造Boolean对象的代码: Java代码 Boolean b1 = new Boolean (false); Boolean b2 = new Boolean ("true"); 这里我们使用一个boolean的字面值和一个字符串值来构造了两个Boolean对象b1,b2。注意,这里我只是为了演示方便而简单的将变量命名为b1、b2,在实际的编程中,请尽量给变量取一个有意义的名字。 在得到一个Boolean对象后,如果我们想使用boolean基本类型的话,可以通过Boolean提供的方法booleanValue,该方法的方法签名为:Java代码 public boolean booleanValue() 下面给出一段代码,我们构造两个Boolean对象,然后调用其booleanValue方法来输出boolean值到控制台: Java代码 public class MainClass { public static void main(String[] args) { Boolean b1 = new Boolean(false); Boolean b2 = new Boolean("true"); System.out.println(b1.booleanValue()); System.out.println(b2.booleanValue()); } } 这里细心的读者可能已经发现,我们用了System.out.println输出了不同类型的数据到控制台,String、数字、boolean值。这是因为该方法被重载过,可以接受不同类型的参数。下面是该程序的输出结果:false
true布尔值的字面值 字面值的概念,我们前面已经提到过了。对于布尔值,它有两个字面值:true、false。true表示真,而false代表假。下面给出一段代码,代码中定义了一个布尔变量includeSign并将字面值true赋值给它:Java代码 public class MainClass { public static void main(String[] args) { boolean includeSign = true; System.out.println(includeSign); } } 上面的代码对大家来说应该比较熟悉了,这里不多做解释了。使用布尔变量 这里我们首先介绍几种可以生成布尔值的操作,首先我们可以以声明的形式来定义布尔变量并给它赋值。另外我们可以用像=、>,>=,!=之类的操作符来产生一个布尔值,这些在以后将会讲到。我们给出一个例子来看看实际中的布尔值的使用:Java代码 public class MainClass { public static void main(String args[]) { boolean b; b = false; System.out.println("b is " + b); b = true; System.out.println("b is " + b); // a boolean value can control the if statement if(b) System.out.println("This is executed."); b = false; if(b) System.out.println("This is not executed."); // outcome of a relational operator is a boolean value System.out.println("10 > 9 is " + (10 > 9)); } } 我们鼓励大家动手自己来实践代码。今天遇到一个朋友问为什么不是视频教程,我觉得视频教程和文本教程的区别不是很大。下面是这段程序的执行结果:b is false
b is true
This is executed.
10 > 9 is truevalueOf方法 这里介绍下Boolean的静态方法valueOf。之前我们提过静态方法指的是不用实例化类就可以调用的方法,静态方法也被称为类方法。Boolean提供了valueOf的方法,它的作用是将一个字符串值转换为一个Boolean对象,它的方法签名如下:Java代码 public static Boolean valueOf (String string) 从方法签名我们可以看出,它接收一个String参数,返回一个Boolean对象,它是静态的。 下面给出一段代码,这段代码希望大家自己去执行下,看看实际结果:Java代码 public class MainClass { public static void main(String[] args) { Boolean b = Boolean.valueOf("true"); System.out.println(b); } } toString方法 valueOf方法可以将一个字符串值转换为一个Boolean对象,那么如果我们有一个Boolean对象,想要转换为String值,我们该如何处理呢?Boolean对象为我们提供了toString方法,用于产生一个对应的String对象。以后的学习,我们会直达toString方法是在根类Object类定义的。Boolean类的toString方法签名如下:Java代码 public String toString () 下面给出一段代码,来演示下这个方法: Java代码 public class MainClass { public static void main(String[] args) { Boolean b = Boolean.valueOf("true"); System.out.println(b.toString()); } } 代码相对简单,但是希望自己能动手试一下。