java变量的类型转换基本知识_java基础知识-基本数据类型、数据类型转换

一、基本数据类型

基本的数据类型一共有四类八种

1、整型

byte:  1字节  取值范围  -128~127

short: 2字节    取值范围  -32768~32767

int:     4字节  取值范围  负2的31次方到正的2的31次方减1

long:   8字节  取值范围  负2的63次方到正的2的63次方减1   长整型必须要有后缀L  例 400000L

取值范围计算方法

问:1个字节占8位,为什么byte类型取值范围是2的7次方而不是2的8次方?

答: 因为正负符号占了一位所以只剩下7位。(符号位占的是从左往右数第一位,也就是最高位)

问:为什么正数范围要减去1

答:因为第一位是从零开始算起的。

2、浮点型

float   (单精度):   4字节  取值范围  爱多少多少    必须接后缀F才能表示它是float类型     例:3.14F

double(双精度):   8字节    取值范围  爱多少多少    后缀D或者没后缀

3、逻辑型

boolean: 只有个两个值 ture和false

4、字符型

char:     2字节 取值范围是0-65535 没有负数  存储Unicode码,用单引号赋值。

(与C语言char的区别:C语言的char应用的是ASCII码 1个字节 范围0-127 )

程序中尽量避免使用char类型(java核心技术 卷1)

引申:这四类八种基本数据类型的数据都存放在栈内存空间,占一块内存。

二、数据类型转换

分为自动转换和强制转换

自动转换(隐式转换)

当把一个优先级低的类型赋值给优先级高的类型时就会进行自动转换

低---------------------------------------------高

byte,short,char

int、long、float、double按照取值范围大小排序

而前三个数据类型需要强制转换?????????????

顺序记不住? 网上有人这么记: 办事处in理发店。

强制转换(显示转换)

把取值范围大的类型转成取值范围小的类型需要进行强制转换。

用 ( )来进行数据的强制转换

例:

inta;double x=3.3;short y=3;

a=(int)x+(int)3.5;

a=(int)x+y;//y优先级低于a所以不需要转换

等号的右边完成强制后再赋值给左边。

注意:等号右边每一项(由加号连接的数字或变量)的优先级都必须小于等于等号左边变量的优先级,否则编译期间会报错。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值