八大基本数据类型:
-
基本数据类型: byte short char int long float double
-
基本数据类型对应的包装类:Byte Short Character Integer Long Float Double
-
**注:字符型char所表示的单个字符与Ascii码中相对应的整型对应 :A~Z --> 97~122 a~z – > 65~90
数据类型 所占字节 位数 数值范围 包装器类型 boolean -------- ---------------- --------------------------------------- Boolean byte 1字节 8*1 = 8bits -128 ~ 127 Byte char 2字节 8*2 = 16bits Unicode 0 ~ Unicode 2^16 - 1 Character short 2字节 8*2 = 16bits -2^15 ~ 2^15 - 1 Short int 4字节 8*4 = 32bits -2^31 ~ 2^31 - 1 Integer long 8字节 8*8 = 64bits -2^63 ~ 2^ 63 - 1 Long float 4字节 8*4 = 32bits IEEE754 ~ IEEE754 Float double 8字节 8*8 = 64bits IEEE754 ~ IEEE754 Double 数据类型之间的转换:
(1). 基本数据类型中类型的自动提升
- 在Java中:整数类型(byte/short/int/long)中,对于未明确数据类型的整型,其默认类型为int型
- 在浮点数类型(float/double)中,对于未明确数据类型的浮点型,默认类型为double型
- 注1: 对于默认为int类型的数值,当赋给一个比int型小的数据类型变量k(k为byte/char/short)如果超过了该数据的范围编译器会出错,若不超过,jvm会自动隐式转换
- **注2:**char类型的数据本身是unsigned其数值范围是:0~2^16-1,因此byte和short不能自动类型转换成char(signed:有符号的,unsigned:无符号的)
(2). 隐式类型转换
* 隐式转换也叫自动类型转换(由系统自动完成): byte -> short (char) -> int -> long -> float -> double 从左到右的数据类型能发生隐式转换
(3). 显示转换:
* 显示转换也叫做强制类型转换,由程序猿手动敲代码完成 例如: ```java int i = (int)3.1415926535 ``` * double -> float -> long -> int -> short(char) -> byte
- 注:强制类型转换所带来的结果可能会丢失精度,如果此类数值尚在范围较小的数值范围内进行转换,对于整型变量不变,但如果超过了数据的范围,会出现数据丢失
(4). 进行数学计算时,数据会自动提升,这是时候可能会用到强制类型转换
int a = 9; byte b = 1; byte result = (byte)(a + b); // b会自动类型提升转换为int 但由于接受结果的数据为byte类型有得进行强制类型转换
注:当进行数学运算的时候,数值范围较小的数据会自动提升为较大者! ! !
热门文章
- 12月26日→19.5M/S|2024年最新免费节点Fast Socks订阅链接地址
- 11月8日→22.1M/S|2024年最新免费节点Fast Socks订阅链接地址
- 2月6日→22.2M/S|2025年最新免费节点Fast Socks订阅链接地址
- Vue刷新页面的三种方式
- Spring AOP—面向切面编程入门
- OpenFeign、Feign以及Ribbon关系介绍
- 1月26日→21.4M/S|2025年最新免费节点Fast Socks订阅链接地址
- vue在table表中悬浮显示数据及右键菜单_vue.js_
- CountDownLatch和CyclicBarrier:如何让多线程步调一致
- 长沙狗狗领养中心 长沙狗狗领养中心在哪