基本数据类型之间的转换---学习笔记

基本数据类型转换概述

A 为什么需要数据类型转换?
因为Java是强类型语言,在Java中要求进行"赋值运算"和"算术运算时",参与运算的
数据类型必须保持一致!

B 数据类型转换的方式有哪些?
1)隐式类型转换,无序程序员动手操作,自动转换
2)显示类型转换,需要程序员手动处理

3) 基本数据类型中,哪些类型的数据可以互相转换?
除boolean型外,其他七种类型的数据在计算机内存储的都是数值,所以,除了boolean,
其他七种都可以相互转换

1.隐式类型转换

隐式类型转换原则:从低字节向高字节转换。通俗讲,就是从容量小的数据类型转向
容量大的数据类型
byte–>short–>int–>long–>float–>double
char–>int(char只能和int相互转换)

1.1 在赋值运算中,基本都遵循隐式转换规则,但是有一个特例:

byte num = 125; //基本数据类型中已经说过,所有自然整数都属于整数型固定值
//常量,他们的默认值都是int,那么 125的默认值就是int,但是num是byte型,
//按照隐式类型转换规则,这是不可行的,为什么编译不报错,程序正常运行?

这就是一个特例:把int型常量赋给byte,short和char类型时,属于自动转换的特例
只需要不超过byte、short、char的表数范围即可

总结一下这个特例的两个条件:
a.从int型转为byte、short、char
b.不超出byte、short、或char的表数范围
只要满足以上2个条件,那么它就属于自动转换的特例,不受规则限制

1.2 在算术运算中,全部都遵循隐式转换规则:
如果两个操作数其中一个为double,那么另一个也自动转为double
否则,如果其中一个为float,那么另一个也自动转为float
否则,如果其中一个为long,另一个也转为long
否则,两个数都转为int

2.显示类型转换

显式类型转换即强制类型转换
2.1 什么时候需要强制类型转换?
自动类型无法实现时,那么我们就需要手动进行强制类型转换
2.2 强制类型转换的语法
语法:目标变量类型 变量名|常量名 = (目标变量类型)变量|常量;
2.3 强制类型转换的注意点
1)强制类型转换后的数据的数据类型保持不变

int num1 = 10;
byte num2 = (byte)num1;//此处强转之后num1依旧为int类型

2)如何把一个小数转换为整数?

int num2 = (int)3.14;

3 )使用强制类型转换的时候需要慎重,可能会丢失精度

int num1 = 128;
byte num2 = (byte)num1;//输出:-128
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值