java基础之基本数据类型
Posted llnqdx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础之基本数据类型相关的知识,希望对你有一定的参考价值。
众所周知,java的基本类型有8种,分别是byte,short,int,long,float,double,char,boolean
根据类型划分,又可分为数字类型,浮点型,字符型,布尔型四种。
其中byte,short,int,long为数字类型,float,double为浮点型,char为字符型,布尔型只有boolean。
类型 | 基本类型 | 占用字节数 | MIN_VALUE | MAX_VALUE |
数字 | byte | 1 | -128 | 127 |
short | 2 | -32768 | 32767 | |
int | 4 | -2147483648 | 2147483647 | |
long | 8 | -9223372036854775808 | 9223372036854775807 | |
浮点 | float | 4 | 1.4E-45 | 3.4028235E38 |
double | 8 | 4.9E-324 | 1.7976931348623157E308 | |
字符 | char | 2 | 0 | 65535 |
布尔 | boolean | 1 or 4 |
关于boolean占用字节数,这里要特殊说明一下。
从内存来看,只占一个bit。编译后boolean类型的值只有true or false,即0和1表示,只占一个bit。
虽然编译后只占一位,但是计算机处理的最小单位是字节,即8个bit。因此不足的补零。二进制存储中,1表示为0000 0001,0表示为0000 0000,由此看来,boolean占用一个字节。
从JVM角度来描述,boolean类型又占4个字节。JVM规范中,没有提供boolean字节码指令,在处理java中boolean类型数值时,将其转换为int进行处理,boolean数组将转为byte数组。由此来看,boolean类型占用4字节。
关于JVM处理boolean值时,为何将其转换为int类型?
对于32位CPU来说,处理数据为32位,便于更高效的存储。
以上是关于java基础之基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章