栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基本数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基本数据类型

学习目标

1、聊聊Java中的八大基本数据类型

2、从内存的角度聊聊什么是字节?

java基本数据类型

数值型,字符型,布尔型

数值型又分为byte,short,int,long,float,double

字符型:用单引号表示,里面只能有一个字符,例如,'a'、'1',

布尔型(Boolean):true和false,用来执行条件判断使用。

类型

占用内存大小

数值范围

byte

1byte=8bit 1个字节占8个bit,一个bit代表一个0或者1

[-128,127]

short

2byte

[-32768,23767]

int

4byte

[-2147483648,2147483647]

long

8byte

[-2^64,2^64-1]

float

4byte

[-3.4E+38 ,3.4E+38]

double

8byte

[-1.7E-308~1.7E+308]

boolean

1byte

true 、 false

char

2byte

在实际开发中,很少用float和double,因为会有精度确实和运算错误而是用BigDecimal这个类,对于非浮点数树,通常用int类型,long表示时间戳。

二元运算提升规则

整数运算:

如果两个操作数有一个是long,结果为long;没有long,结果为int,即使操作数类型全为short、byte,结果也为int。

浮点运算

如果两个操作数有一个是double,则结果也是double,只有两个操作数都是float,则结果才是float。

注意:整数和浮点数运算,结果为浮点类型。例如int 和float,结果为float。

为什么short、byte类型相加会自动升为int?而不是byte提升为short?

使用较小类型运算没有性能优势,消除较小的类型使得字节码更简单,并且使得具有未来扩展空间的完整指令集仍然适合单个字节中的操作码。因此,较小的类型通常被视为Java设计中的二等公民,在各个步骤转换为int,因为这简化了一些事情。

为较小的类型引入专用的算术逻辑单元不值得付出努力:它需要额外的晶体管,但它仍然只能在一个时钟周期内执行一次加法。 JVM设计时的主流架构是32位,适合32位int。

什么是变量?

在某个范围内可以改变的量。

在java中,任何数据一定都是转换成二进制的形式存储在java内存中

为什么Boolean类型不用bit表示?

因为计算机存取的最小单位是字节,一个字节等于8bit,bit是组成存储单位的最小单元,java数据类型也是存储在内存中的,所以只能用8bit,即1byte

为什么byte类型范围是-128到127,而不是-127到127?

这是因为计算机存储数据类型是以补码的形式存储数据的。byte有8bit,首位是符号位,

127:补码表示为0111 1111 ,-127补码表示为1000 0001。我们发现-127还可以再减去1,依然没有超出byte存储数据范围,-127-1=-128,即1000 0001-0000 0001=1000 0000,

1000 0000表示成十进制就是-128。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号