JAVA数据类型与变量

数据类型

1. 四类:整型、浮点型、字符型以及布尔型

2. 八种:byte(1字节),short,int,long,loat,double,char(2字节),boolean(没有明确规定)

(1)整形和浮点型都是带有符号的

(2)整型默认为int型,浮点型默认为double

变量

(1),整型变量

1. int不论在何种系统下都是4个字节

2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0

3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出

4. 变量在使用之前必须要赋初值,否则编译报错

5. int的包装类型为 Integer

(2)长整型变量

1. 长整型变量的初始值后加L或者l,推荐加L

2. 长整型不论在那个系统下都占8个字节

3. long的包装类型为Long

(3)短整型变量

1. short在任何系统下都占2个字节

2. short的表示范围为:-32768 ~ 32767

3. short的包装类型为Short

(4)字节型变量

1. byte在任何系统下都占1个字节

2. byte的范围是:-128 ~ 127

3. 字节的包装类型为Byte

(5)浮点型变量

1. double在任何系统下都占8个字节

2. 浮点数与整数在内存中的存储方式不同,不能单纯使用2^n 的形式来计算

3. double的包装类型为Double

4. float的包装类型为Float

(6)字符型变量

1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此 一个字符占用两个字节, 表示的字符种类更多, 包括中文.

3. char的包装类型为Character

(7)布尔型变量

1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.

2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.

3. boolean的包装类型为Boolean。

强制类型转换

分为自动类型转换(隐 式) 和 强制类型转换(显式):

自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数 据范围大的时会自动进行。

int a = 1;

long b = 1L;

b = a; a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值

a = b; // 编译报错,long的范围比int范围大,会有数据丢失,不安全

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。

int a = 10;

long b = 100L;

a = (int)b; 

类型提升

byte a = 10;

byte b = 20;

byte c = a + b;

System.out.println(c)//报错

结论: byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误

总结:

1. 不同类型的数据混合运算, 范围小的会提升成范围大的.

2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值