Java数据类型

2021-04-10 02:29

阅读:380

标签:fence   导致   语言   说明   hang   字符型   没有   app   float   

一、八大基本类型

1. 整型类

类型 占用存储空间 范围
byte 1字节=8bit -128~127 2^8
short 2字节 -2^15~2^15-1
int 4字节 -2^31~2^31-1(约21亿)
long 8字节 -2^63~2^63-1

说明:声明long型必须以“l”或者“L”结尾。整型默认为int。

2.浮点类型

类型 占用存储空间 范围
单精度float 4字节 -3.403E38~3.403E38
双精度double 8字节 -1.798E308~1.798E308

说明:

1. float的范围比long要大

2.float要以f或者F结尾

3.浮点型默认为double

3.字符型

char (1个字符==2个字节)

char c1=‘A‘
char c2=‘Aa‘ //报错 编译不通过  
char c3=‘‘  //报错 编译不通过

ASCII码 97=’a’ 65=’A’ 48=‘1’适用英语

Unicode 适用全世界语言

UTF-8 升级版

4.布尔型

boolean

占用4个字节。理由来源是《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。

《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。

二、七种基本类型之间的转换

1.自动类型提升

当容量小的数据类型的变量与数据类型大的变量做运算时,结果自动提升为容量大的数据类型。byte char short int long float double

当byte char short 三种类型的变量做运算时,结果为int 型

2.强制类型转换

  1. 可能会导致精度损失。

  2. long l=123123 没加L 不报错 自动转换为int了。

三、引用数据类型

1.String

string中的+ 为连接运算,看+左右有一个string 则都是连接运算。

2.数组

3.接口

四、进制转换

  1. 八进制 以0开头,十六进制以0x开头

  2. 当为负数时:原码 反码+1= 补码 计算机都是以补码来存储数据。

  3. 二进制转八进制 三个一位 十六进制四个一位

  4. 八进制转二进制 一位变三个 十六进制一位变四个



Java数据类型

标签:fence   导致   语言   说明   hang   字符型   没有   app   float   

原文地址:https://www.cnblogs.com/jiangxuan/p/13369539.html


评论


亲,登录后才可以留言!