Logo

郎哥编程

Java布尔类型

2018-01-05 1091

在迭代V2.0版四则运算的程序开发中,需要解析计算表达式,并判断表达式的正确性。例如在解析计算表达式12+27时,程序需要从左至右读取每一个字符,并判断读取的字符是否是合法字符,如果读取的字符是除数字和运算符以为的字符,就需要提示用户输入错误,要求用户重新输入计算表达式。这里面有个字符判断的过程,判断的结果影响后面程序的执行,因此程序需要把判断结果存储到一个变量中,用于控制程序执行不同的分支语句,这个变量的类型就是布尔类型。

a030.PNG

布尔类型是表示逻辑状态的类型。java语言通过关键字boolean来定义布尔类型变量,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。Java语言虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替。

boolean变量可按如下方式声明:

boolean  done = true;
boolean  error = false;

示例1:输出boolean值到命令行窗口

在D盘Java目录下,新建“BooleanSample.java”文件。用记事本打开“BooleanSample.java”文件,输入以下代码:

public  class  BooleanSample {
  public static void main(String args[])
  {
     boolean  done =  true;
     System.out.println("done =" + done);    
 
  }
}

编译“BooleanSample.java”文件,在命令行窗口输入“javac  BooleanSample.java”并执行命令,编译通过后,在命令行窗口输入“java  BooleanSample”运行Java程序,命令行窗口显示如下信息:

                     

a061.png

     图 4-13 boolean类型示例1输出结果

从输出结果可以看出,boolean类型的变量输出的结果为被赋予的值。

示例2:输出boolean值到命令行窗口

用记事本打开D盘Java目录下“BooleanSample.java”文件,修改代码如下:

public  class  BooleanSample {
  public static void main(String args[])
  {
     boolean  done =  false;
     System.out.println("done =" + done);    
  }
}

编译“BooleanSample.java”文件,在命令行窗口输入“javac  BooleanSample.java”并执行命令,编译通过后,在命令行窗口输入“java  BooleanSample”运行Java程序,命令行窗口显示如下信息:

a062.png


图 4-14 boolean类型示例2输出结果

从输出结果可以看出,当boolean类型的变量被赋为false值时,输出的结果为false。

示例3:用boolean变量控制不同的程序分支

用记事本打开D盘Java目录下“BooleanSample.java”文件,修改代码如下:

public  class  BooleanSample {
  public static void main(String args[])
  {
     boolean  done =  false;
     if( done )
     {
        System.out.println("done =" + done);
     }
     else
     {
     System.out.println("因为done =" + done + ",所以走到这里了");   
     }
  }
}

编译“BooleanSample.java”文件,在命令行窗口输入“javac  BooleanSample.java”并执行命令,编译通过后,在命令行窗口输入“java  BooleanSample”运行Java程序,命令行窗口显示如下信息:

a063.png


图 4-15 boolean类型示例3输出结果

程序代码赋值boolean 变量done为false,代码中“if( done )”语句为判断语句,其含义是:如果变量done为true,则执行if代码块语句,否则执行else代码块语句。由于done的值为false,因此程序执行else代码块语句,输出“因为done =false,所以走到这里了”。


知识点拨.png 


在Java语言中,boolean变量编译后被转换为int变量,占用4个字节的存储空间,true被转换为1赋值给int变量,false被转换为0赋值给int变量。因此,程序需要判断数值的真或假时,即可以用boolean类型变量,也可以用int类型的变量,当然也可以用byte类型的变量。


 作业.png

(1)下面的那个赋值语句是正确的()

A.boolean  ready = “true”;

B.boolean  ready = 1;

C.boolean  ready = 0;

D.boolean  ready = true;

(2)下面的程序代码,输出的正确结果是()

public  class  BooleanSample {
  public static void main(String args[])
  {
     boolean  done =  true;
     if( done )
     {
        System.out.println(“sucess”);
     }
     else
     {
                   System.out.println("error ");   
     }
  }
}

A. success

B. error

C. success和error

D. 都不输出

(3)boolean变量编译后转换为数据类型()

A.int

B.byte

C.short

D . char


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论