数据类型讲解

1)整数类型

整数类型在java中有四种,分别是byteshortintlong;这四种类型的区别 主要是所占字节的不同,或者说表示的数值范围不同,具体的见上图

  整数类型的四种表达形式:

a)二进制形式:0B0b开头(java7新特性)int i=0b10101

b)八进制形式:以0开头 如 int i=01234

c)十进制形式:如 int a=5

d)十六进制形式:以0x0X开头,如int a=23

整数类型常量字面量默认是int型,声明long类型的要在变量后加上‘l’‘L’

2)浮点型:浮点型常量表示有两种

a)直接使用小数点表示:如float i=3.1

b)科学技术法:3.1E2,表示3.1乘以102次方

浮点类型常量字面量默认是double类型,声明float类型的要在变量后面加上“f”“F”

注意这两种类型均不能精确的表示一个小数,在开发中表示精确的数,我们常用BigDecimal

3)字符型

表示16为无符号整数或者unicode字符,java对字符采用unicode字符编码。

char常量有以下表示形式:

a)直接在单引号内指定字符常量如‘A’

b)直接作为整数类型使用,但是数据范围在【065535】但打印出来的值依然是ascll

c)直接作为整数类型使用,只不过表示的是16进制的数值,格式‘uX‘

4boolean类型

值只能是truefalse,不可以使用0或非0的整数来代替,但是其低层实现使用0表示false1表示true

 

扩展:

整数进制

二进制 0b开头

八进制 0开头

十六进制 0x开头 0~9 A~F

浮点数

算钱时floatdouble会有问题。

float 有限的,离散,舍入误差,大约,接近但是不等于

最好避免使用完全浮点数进行比较

BigDecimal 数学工具类

字符拓展

所有字符的本质还是数字,可int强制转换

unicode表对应数字 0-65536

类型转换

制转换 (类型)变量 -->

自动转换

byte --> short(char) --> int --> long --> float --> double

注意点

不能对布尔值进行转换

不能把对象类型转换成不相干的类型

高容量转换成低容量的时候,强制转换会导致内存溢出或者精度问题

数值较大的数在运算时也可能会溢出

原文地址:https://www.cnblogs.com/yhcTACK/p/15350669.html