欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 【Java】类型转换与类型提升

【Java】类型转换与类型提升

2024/10/25 16:17:56 来源:https://blog.csdn.net/qq_51236677/article/details/142858184  浏览:    关键词:【Java】类型转换与类型提升

目录

1.类型转换

1.1自动类型转换(隐式)

1.2强制类型转化(显式)

2.类型提升

3.字符串类型


1.类型转换

Java作为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有教严格的校验.

在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式)和强制类型转换(显式)。

1.1自动类型转换(隐式)

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

1.2强制类型转化(显式)

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

//示例
long a=10;
int b=(int)a;//long->int需要强制转换

注意事项:
1.不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型
2.如果需要把范围大的类型赋值给范围小的,需要强制类型转换,但是可能精度丢失
3.将一个字面值常量进行赋值的时候, Java会自动针对数字范围进行检查
4.强制类型转换不- -定能成功,不相干的类型不能互相转换

 

2.类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。

1. int与long之间: int会被提升为long


2.bytebyte的运算

结论 : byte byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误.
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算
正确的写法:
类型提升小结 :
1. 不同类型的数据混合运算 , 范围小的会提升成范围大的 .
2. 对于 short, byte 这种比 4 个字节小的类型 , 会先提升成 4 个字节的 int , 再运算 .

3.字符串类型

Java 中使用 String 类定义字符串类型,比如:
在有些情况下,需要将字符串和整形数字之间进行转换:
1. int 转成 String
2. String 转成 int

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com