自从Java发布以来,基本数据类型就是Java语言的一部分,分别是***byte, short, int, long, char, float, double, boolean***.

其中:

整型:byte, short, int, long

字符型:char

浮点型:float, double

布尔型:boolean

在详细介绍之前,先科普一下,Java中最小的计算单元为***字节***,1字节=8位(bit)。

一. 整型

Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,那么补码如何计算呢?

补码=源码取反 + 1;

如:

22,在计算机中的表示为00010110,

-22,取反:11101001,加1:11101010

byte

byte属于Java中的整型,长度为1字节8bit,取值10000000(-128)到 01111111(127),变量初始化默认值为0,包装类Byte

short

short属于Java中的整型,长度为2字节16bit,取值10000000 00000000(-32768)到 01111111 11111111(32767),变量初始化默认值为0,包装类Short

int

int属于Java中的整型,长度为4字节32bit,取值-2^31 (-2,147,483,648)到 2^31-1(2,147,483,647),变量初始化默认值为0,包装类Integer

long

long属于Java中的整型,长度为8字节64bit,取值-2^63 (-9,223,372,036,854,775,808‬)到 2^63-1(9,223,372,036,854,775,8087),变量初始化默认值为0或0L,包装类Long

二. 浮点型

Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准

float

float属于Java中的浮点型,也叫单精度浮点型,长度为4字节32bit,变量初始化默认值0.0f,包装类Float

1. float结构

包含三部分:符号位、指数位、尾数位

符号位(S) 指数位(E) 尾数位(M)
长度 1bit 8bit 23bit
说明 0表示正数,1表示负数 格式为,E值范围:(0,255),指数位取值:( 形式为1.M或0.M。其中当E=0时,取1.M,称为正规形式,当E!= 0时,取0.M,称为非正规形式

2. float取值

正规形式:

非正规形式:

根据上面公式很容易计算出float的取值范围为:

(最小值,当符号位S取1,指数位E取255)

(最大值,当符号位S取0,指数位E取255)

能取到其间的近似数据。

注意:根据指数位和尾数位的取值不同,还有很多特殊情况,如NAN,正无穷,负无穷,但平时基本不会用到,这里不再深入;同时由于是近似值,因此无法表示金额,表示金额建议使用BigDecimal

double

double属于Java中的浮点型,也叫双精度浮点型,长度为8字节64bit,变量初始化默认值0.0d,包装类Double

1. double结构

包含三部分:符号位、指数位、尾数位

符号位(S) 指数位(E) 尾数位(M)
长度 1bit 11bit 52bit
说明 0表示正数,1表示负数 格式为,E值范围:(0,2047),指数位取值:() 形式为1.M或0.M。其中当E=0时,取1.M,称为正规形式,当E!= 0时,取0.M,称为非正规形式

2. double取值

正规形式:

非正规形式:

根据上面公式很容易计算出double的取值范围为:

(最小值,当符号位S取1,指数位E取2047)

(最大值,当符号位S取0,指数位E取2047)

能取到其间的近似数据。

注意:根据指数位和尾数位的取值不同,还有很多特殊情况,如NAN,正无穷,负无穷,但平时基本不会用到,这里不再深入;同时由于是近似值,因此无法表示金额,表示金额建议使用BigDecimal

三. 字符型

char

char属于java中的字符型,占2字节16bit,可以赋值单字符以及整型数值, 变量初始化无默认值,包装类Character。

如:

char a = ‘a’;

char a = ‘中’;

char a = 12; // 取值范围0~65536,因为char类型在ASCII字符编码中,有对应的数值,可直接做运算,输出字符表中对应的字符

四. 布尔型

boolean

在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组将会被编码成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit.

–Java虚拟机规范

仅有两个值true, false,变量初始化默认值false

Java基础(一) 八大基本数据类型相关推荐

  1. Java基础复习-八大基本数据类型-内存模型-基本算法-网络编程

    Java基础 数据类型: 基本数据类型: 整数型:byte short int long(数值型) 浮点型: float double(数值型) 字符型:char 布尔型:boolean 引用数据类型 ...

  2. 02 Java基础语法(变量+数据类型+运算符)

    Java基础语法 2 基础语法 2.1 二进制(复习总结) 进制转换(二进制 八进制 十进制 十六进制) 2.2 变量 2.2.1 变量定义 2.2.2 使用变量 2.2.3 声明变量的3种方式 2. ...

  3. Java基础语法-关键字、数据类型

    JRE.JDK.JVM Java基础语法 注释.标识符.关键字 标识符注意点 所有标识符都应该以字母(A-Z 或者a-z),美元符($).或者下划线(_)开始 首字符之后可以是字母(A-Z 或者a-z ...

  4. Java 中的八大基本数据类型、类型转换

    目录 1. ♥常见的数据类型 2. ♥引用数据类型 3. ♥类型转换 4. ♥数值提升 5. ♥int 和 String 之间的相互转换 1. 基本数据类型 八大基本数据类型: 整型:byte.sho ...

  5. 【Java基础系列】基本数据类型及包装类

    Java共有8中基本数据类型:byte.boolean.char.short.int.float.long.double. 对应的包装类分别为:Byte.Boolean.Character.Short ...

  6. java基础初解一:数据类型、String、运算

    基础数据类型 一.基础数据类型 1.1八大数据类型: 1.2装箱与拆箱 1.3new与valueOf的区别 二. String 2.1 概览 2.2 String,StringBuffer,Strin ...

  7. Java基础篇:简单数据类型

    Java定义了8个简单(或基本)的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(b ...

  8. Java基础(介绍与数据类型)

    计算机(Computer):全称电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔 ...

  9. Java基础之路--引用数据类型之数组

    什么是数组 数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合. 数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始. 数组的定义 第一种 ...

最新文章

  1. MySQL如何判别InnoDB表是独立表空间还是共享表空间
  2. cocos2d-x 关于tilemap滚动时黑线闪动的问题
  3. DOS命令大全 收藏
  4. java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype
  5. 35岁以上的程序员们,后来都干什么去了?
  6. MySQL为什么要用数字做自增主键?
  7. 无法连接iphone软件更新服务器_苹果发布了iphone、ipad和mac的新软件更新
  8. 【转】WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
  9. echarts中国地图根据数据对省份渲染不同的颜色
  10. word总页数不包含封面_word目录不包含封面 word 目录 不含封面
  11. linux如何卸载谷歌输入法,Linux上使用谷歌输入法
  12. 安装wincap时报错解决方式: an error occured when installing winpcap 0x00000430
  13. 用Python实现微信撤回消息还原
  14. 「第二部:容器和微服务架构」(2) 容器化单体应用
  15. USB 驱动程序(转贴)
  16. pdf文档转化为doc文档 (转载)
  17. 钉钉总裁叶军与智办事CEO胡志强就企业绩效数字化进行了深度对谈
  18. idea怎么给类和方法自动快速添加注释的方法(/**@return @Param*/)
  19. 阻止冒泡在浏览器的兼容问题
  20. AngularJS小白(1):开发环境准备

热门文章

  1. Windows 下的一款弱网模拟工具NEWT
  2. Kinect-Unity相关
  3. 关于python程序格式框架以下选项中描述错误的是_关于Python程序格式框架的描述,以下选项中错误的是...
  4. 机器学习系列2 BP神经网络+代码实现
  5. Matlab学习笔记(1) - 符号变量及其运算
  6. python编程:从入门到实践 笔记
  7. java中引用数据类型有哪几种
  8. Groovy Script 获取当前时间函数
  9. 2018 Android开发面试经历
  10. 关于curses 安装