布尔数据类型如何在Java内部工作?

时间:2017-06-23 19:55:54

标签: java boolean

当您在Java中为布尔数据类型赋值“true”时(例如boolean variableName = true;),实际上为该变量分配了什么值?

2 个答案:

答案 0 :(得分:7)

Java Virtual Machine Specification中的section 2.3.4州:

  

虽然Java虚拟机定义了一个布尔类型,但它只提供非常有限的支持。没有Java虚拟机指令专门用于对布尔值的操作。相反,Java编程语言中对布尔值进行操作的表达式将被编译为使用Java虚拟机int数据类型的值。

     

。 。 。

     

Java虚拟机使用1表示布尔数组组件,表示true,0表示false。其中Java编程语言布尔值由编译器映射到Java虚拟机类型int的值,编译器必须使用相同的编码。

答案 1 :(得分:1)

分配给变量的实际值为true

但在内部,在虚拟机中,布尔值可以用整数来表示。

从Java虚拟机规范section 2.3.4, The boolean type

  

Java虚拟机使用1表示布尔数组组件,表示true,0表示false。其中Java编程语言布尔值由编译器映射到Java虚拟机类型int的值,编译器必须使用相同的编码。