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

McG*_*izz 1 java boolean

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

Dav*_*rad 7

Java虚拟机规范中状态节2.3.4:

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

...

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