Java学习1 基本类型及类型转换

一、整型
1.byte(1字节),在内存里占8位,表数范围-128~127(2^7-1)
2.short, 2字节, 16位,-32768~32767
3.int, 4字节, 32位, -2147483648~2147483647
4.long, 8字节,64位,-2^63~2^63-1

一个java整数常量默认为int型
1.把一个较小的整数(在byte或者short表数范围里)赋值给byte或者short类型的变量,系统会自动把这个整数常量当成byte或者short类型来处理,但是当把int表数范围里的数赋值给long类型的变量时,系统不会把这整数常量当成long,只是这个int类型的值会自动类型转换到long类型。

//这个是错误的,因为系统不会把9999999999当成long类型
long a = 9999999999;
//正确写法,使用L后缀
long a = 9999999999L;

8进制的整数常量以0开头,16进制的以0x或者0X开头,其中10~15用a~f表示,不区分大小写

二、字符型
char 2个字节,表数范围0~65535

三、浮点型
float 4个字节,double 8个字节, 浮点型变量表数范围不是简单的2的几次幂,float范围比long大

java默认浮点类型是double,如果要当成float处理,在数字后面跟f或者F

3个特殊的浮点值:正无穷大(POSITIVE_INFINITY), 负无穷大(NEGATIVE_INFINITY),非数(NaN),非数和任何数值都不相等包括自己。
只有浮点数除以0才能得到正负无穷大,整型除以0会报错

四、布尔型 boolean

1位

五、类型转换

1.自动类型转换
低表数范围的类型可以自动向高表数范围的类型转换:
byte->short->int->long->float->double
char->int->long->float->double
byte和short 同 char能自动转换

2.强制类型转换
如果要把上面的箭头右边的类型往左边转换就要用到强制类型转换,形如(int),在转换的时候要注意如果原来的数字大于目标类型的范围就会导致数据丢失

计算机用补码的形式保存整数,正数的补码和源码相同,负数的补码等于反码加1;反码等于源码除了最高位(符号位)其他位都取反

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值