精华内容
下载资源
问答
  • boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。 boolean...

     boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。

    boolean类型:

            boolean flag ;
            flag = true;   //或者flag=false;
            if(flag) {
                     // true分支
            } else {
                     //  false分支
            }

    注:请不要这样写:if ( flag == true ),只有新手才那么写。关键也很容易写错成if(flag=true),这样就变成赋值flag 为true而不是判断!老鸟的写法是if ( flag )或者if ( !flag)

    展开全文
  • JAVA中Boolean占几个字节

    千次阅读 2018-09-08 19:16:49
    今天在整理JAVA基础知识时发现大基本数据类型的封装类都有其BYTES值,也就是位数,除了Boolean...//这个a在JVM中占4个字节即:32位。 2.boolean 类型的数组时,在编译的时候是作为byte array来编译的所以boolean 数...

    今天在整理JAVA基础知识时发现几大基本数据类型的封装类都有其BYTES值,也就是位数,除了Boolean。特意查了下资料,发现有几大说法,如下:

    1.单个的boolean 类型变量在编译的时候是使用的int 类型。

    boolean a=true;//这个a在JVM中占4个字节即:32位。

    2.boolean 类型的数组时,在编译的时候是作为byte array来编译的所以boolean 数组里面的每一个元件占一个字节,

    boolean[] b = new boolean[10];//数组时,每一个boolean在JVM中占一个字节。理由:

    1)JAVA规范中没有定义boolean类型的大小。

    2)但是:在JVM规范第2版中讲得十分清楚。我上边的结论就是从它当中取出来的。

    根据:(JVM规范第2版 3.3.4节)

    Instead, expressions in the Java programming language that operate on boolean values are compiled to use values of the Java virtual machine int data type.  

    Where Java programming language boolean values are mapped by compilers to values of Java virtual machine type int, the compilers must use the same encoding. 而:Java virtual machine type int, whose values are 32-bit signed two's-complement integers。

    Arrays of type boolean are accessed and modified using the byte array instructions  

    In Sun's JDK releases 1.0 and 1.1, and the Java 2 SDK, Standard Edition, v1.2, boolean arrays in the Java programming language are encoded as Java virtual machine byte arrays, using 8 bits per boolean element.

    还有说占一位的:

    3、1个bit

    理由是boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。

    总结:java规范中,没有明确指出boolean的大小。在《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的

    展开全文
  • Java中boolean类型占几个字节,你知道吗?

    万次阅读 多人点赞 2019-07-26 17:21:16
    背景 最近在复盘Java基础知识,看到基础数据类型这一章节,有一张图片是这样的。 ...一boolean类型占用8位 = 1字节 出处2 ~ Java官网 1 原始类型 Primitive Data Types boolean: The boolea...

    背景

    最近在复盘Java基础知识,看到基础数据类型这一章节,有一张图片是这样的。

    在这里插入图片描述
    比较好奇,为什么其他类型都有字节标识,唯独boolean没有,不是只占用1bit ~ 1位的吗 ?

    找答案

    出处1 ~《疯狂Java讲义(3版)》

    在这里插入图片描述
    一个boolean类型占用8位 = 1字节

    出处2 ~ Java官网

    1 原始类型

    Primitive Data Types

    boolean: 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.

    解释一下:

    布尔数据类型只有两个可能的值:true和false。 将此数据类型用于跟踪真/假条件的简单标志。 此数据类型表示一位信息,但其“大小”不是精确定义的内容。

    2 jdk 布尔类型

    地址2:jdk specs文档
    我对比了jdk8, jdk11 和 jdk12 对于boolean类型的说明是完全一样的,故只贴出jdk12的图
    在这里插入图片描述
    翻译一下:

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

    Java虚拟机直接支持boolean数组。它的newarray指令可以创建boolean数组。使用byte数组指令baload和bastore访问和修改类型为boolean的数组。

    在Oracle的Java虚拟机实现中,Java编程语言中的boolean数组被编码为Java虚拟机byte数组,每个布尔元素使用8位。

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

    结论

    1. boolean类型被编译为int类型,等于是说JVM里占用字节和int完全一样,int是4个字节,于是boolean也是4字节
    2. boolean数组在Oracle的JVM中,编码为byte数组,每个boolean元素占用8位=1字节
    3. (待考证)boolean数组在非Oracle JVM里面,占用字节数也许不是1字节
    展开全文
  • 首先Java中共有8中基本数据类型和3中引用数据类型,那么这8种基本数据类型都占几个字符呢? 二、分析问题 Java中的8种基本数据类型分别是: 字节型:byte 字符型:char 整型:int 长整型:long 短整型:short 浮点...

    一、提出问题

    首先Java中共有8中基本数据类型和3中引用数据类型,那么这8种基本数据类型都占几个字符呢?

    二、分析问题

    Java中的8种基本数据类型分别是:

    • 字节型:byte
    • 字符型:char
    • 整型:int
    • 长整型:long
    • 短整型:short
    • 浮点型:float
    • 双精度浮点型:double
    • 布尔型:boolean

    Java中的3种引用数据类型

    • 接口
    • 数组

    三、解决问题

    数据类型大小
    1 byte8 bit
    1 char2 byte
    1 int4byte
    1 long8byte
    1 short2byte
    1 float4byte
    1 double8byte

    一个中文字符占几个字节呢?

    数据类型大小
    一个中文字符2byte

    注意: !!!

    • 为什么char类型在Java中占2byte,在其他语言中占1byte呢?
      答:因为Java是Unicode编码,在Unicode编码中 1char == 2byte
    • 为什么在Java中一个中文字符占2个字节呢?
      答:同理,因为Java是Unicode编码,在Unicode编码中 一个中文字符占两个字节,在GBK /gb2312编码中占2字节,但是utf-8编码中占3字节
    • Boolean占多少字节?
      答:java规范中,没有明确指出boolean的大小,如果非要分大小,大概有以下3中说法。
      1、占1个bit(1/8个字节)
      理由:boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中按位算,仅需1位(bit)即可存储,位是计算机最小的存储单位。在传智播客java基础班中也有有此理由(复习时所参考的视频)。
      2、占1个字节
      理由:虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实际存储的空间是:用1个字节的最低位存储,其他7位用0填补,如果值是true的话则存储的二进制为:0000 0001,如果是false的话则存储的二进制为:0000 0000。
      3、占4个字节
      理由:在《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。也就是说JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,这样我们可以得出boolean类型占了单独使用是4个字节,在数组中是确定的1个字节。

    以上就是本文所有内容,希望能帮到大家!!!

    展开全文
  • 基本数据类型分为数值、字符布尔类型 数值 数值分为整数和浮点(小数) 整数 包含:int、 short、 byte、long 浮点(小数) 包含:float、double 字符(char) 布尔型...
  • 他们分别占几个字节?为什么? Java的八种基本数据类型 我们都知道Java中有八种基本数据类型,其中四种整型,二种浮点,一种字符,一种布尔型,这些基本数据类型占多大空间如下图所示,那么他们为什么占这么大...
  • Java 的基本数据类型都有哪些各占几个字节 四类 八种 字节数 数据表示范围 整型 byte 1 -128~127 short ...
  • java中boolean类型占几个字节

    千次阅读 2015-11-29 21:40:28
    java的基本数据类型中,boolean只有两种状态,默认值为false.取值范围是{true,false},理论上...//这个a在JVM中占4个字节即:32位。 2.boolean 类型的数组时,在编译的时候是作为byte array来编译的所以boolean 数组
  • Java数据类型划分简介: Java是一种强类型语言,这意味着必须为每一个变量声明一种类型 有8大基本数据类型:byte,short,int,long,double,float,char,boolean,具体类型如下图: ... 1个字节 ...
  • 四类 八种 字节数 数据表示范围 整型 byte 1 -128~127 short ...
  • Java的整型常量(不能变化的量/值)(字面量, 1 ,45, 90)默认为 int ,声明long常量须后加‘l’或‘L’ java程序中变量常声明为int,除非不足以表示大数,才使用long bit: 计算机中的最小存储单位。byte:计算机中...
  • 布尔类型定义: 布尔数据类型只有两个可能的值:真和假。...1、1个bit(1/8个字节) 理由:boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中按位算,仅需1位(b...
  • 首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这类型,boolean类型在编译后会使用其他...
  • (面试Java基础)JAVA中的种基本数据类型是什么,各自占用多少字节
  • Java中boolean数据类型占用多少个字节

    千次阅读 2018-03-21 01:24:09
    Java中boolean数据类型占用多少个字节Java中一共有八种数据类型,未精确定义字节(Boolean),1字节(byte),2字节(short,char),4字节(float,int),8字节(long,double): Boolean到底占多少字节? 参考 Stack ...
  • 一般来讲大多数编程语言都用一个字节(8位)来存储布尔类型。 2.布尔型为什么要占8位。 我们知道在计算机底层,每一位都只有两种状态。为什么不直接用一位表示不就可以了? 这主要是因为两个原因首...
  • Java语言提供了八种基本类型。六种数字类型(四个整数,两个浮点),一种字符类型,还有一种布尔型。 byte:占一个字节,默认值为0,byte 类型用在大型数组中节约空间,...double:占八个字节,双精度浮点,默...
  • 最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来...上一篇已经提到过JAVA内部采用的字符集是Unicode字符集,每一个字符占据两个字节的大小,这和C++是不一样的哦,除了正常的各国语言的一个字符外
  • [Java基础]Java中boolean类型到底占用多少个字节

    万次阅读 多人点赞 2017-07-03 07:37:09
    2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是boolean类型,根据官方文档的描述...
  • 在对.java文件编译后,布尔值会占用1个字节的空间来存储。 public class TestClass { private static boolean m = true; } public class TestClass { private static boolean m = false; } 以对上面两段代码编译...
  • 文章转载自:Java中boolean类型占用多少个字节 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 Java在内存中占用多少字节 在Java中定义的八种基本数据类型中,除了...
  • Java字节简介

    千次阅读 2018-07-10 16:22:24
    Java字节简介1回复即使对于有经验的Java开发人员来说,读取编译的Java字节码也很繁琐。为什么我们首先需要了解这种低级别的东西?这是上周发生在我身上的一个简单场景:...几个月后,我再次需要源代码形式的更改(这...
  • 4、布尔型 boolean 二、八种基本数据类型 三、数据类型详细介绍 整型(byte、short、int、long) 虽然byte、short、int、long 数据类型都是表示整数的,但是它们的取值范围可不一样。 byte 的取值...
  • Java中boolean类型到底占用多少个字节?问题解答:(1)什么是boolean类型,根据官方文档的描述(http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html):boolean: The boolean data type has...
  • Java非字节类型的基本类型,除了布尔型都是由组合在一起的几个字节组成的。这些数据类 及其大小总结在下表 中: 数据类型 大小(以字节表示) Byte 1 Char 2 Short 2 Int 4 Long 8 Float 4 ...
  •   byte:1个字节   char:2个字节   short:2个字节   int:4个字节   long:8个字节  浮点:   float:4个字节   double:8个字节布尔型:   boolean:在java规范中,没有明确指出boolean的大小。但在...
  • java中 boolean类型占多少字节

    千次阅读 2012-06-20 08:58:56
    java中 boolean类型占多少字节  今天面试问到了这个问题,java中boolean类型...//这个a在JVM中占4个字节即:32位。 2)boolean[] b = new boolean[10];//数组时,每一个boolean在JVM中占一个字节。 理由: 1)JAVA
  • Java 复习-boolean 占用多少字节

    千次阅读 2020-02-24 13:53:28
    一.Java中boolean类型占用多少个字节 首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,508
精华内容 11,803
热门标签
关键字:

java布尔型几个字节

java 订阅