当您在Java中为布尔数据类型赋值“true”时(例如boolean variableName = true;),实际上为该变量分配了什么值?
答案 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的值,编译器必须使用相同的编码。