【一步一步了解Java系列】:探索Java基本类型转换的秘密

> **当你读到这段文字时,意味着我们都在为梦想而奋斗~**
> 
> **坚持就是胜利,陌生人~**
> 
> ****
> 
> **![](https://pic.it1024doc.com/csdn/202412/1be0a8fd89cd9b19dd76e83814eb3754.jpeg)**
> 
> **个人主页:[Gu Gu Study](https://blog.csdn.net/2302_81249757?type=lately "Gu Gu Study")**
> 
> ****
> 
> **专栏:[一步一步了解Java](https://blog.csdn.net/2302_81249757/category_12656486.html?spm=1001.2014.3001.5482 "一步一步了解Java")**
> 
> **喜欢的一句话:经常回顾自己努力的足迹,因此要为自己的努力留下痕迹。**
> 
> **如果喜欢这篇文章,请点个赞支持一下,非常感谢!**
> 
> **作者:小闭**

##   

Java 中的类型转换

> **在 Java 编程语言中,类型转换是一项基础而重要的操作,它允许我们把一种数据类型转换为另一种数据类型。类型转换主要分为自动类型转换和强制类型转换两种。**


```java
int a = 10;
long b = 100L;
b = a; // 编译通过
a = b; // 编译失败

上面的代码是否引起了你的好奇?接下来的内容将为你揭晓其中的秘密!

一、自动类型转换

自动类型转换是指在不损失信息的前提下,将一种数据类型自动转换为另一种数据类型。这种转换通常发生在较小范围的数据类型向较大范围的数据类型转换时。(代码在编译时,编译器会自动处理,无需手动干预。)

1.1 自动类型转换(隐式)

例如:byte 转换为 int 类型

byte b = 10;
int i = b; // 自动类型转换

由于 byte 的取值范围小于 int,因此可以自动完成类型转换。

public class Test {
    public static void main(String[] args) {
        System.out.println(18); // 整型默认为 int
        System.out.println(18.8); // 浮点型默认为 double

        int a = 100;
        long b = 10L;
        b = a; // a 和 b 都是整型,a 范围小,b 范围大,a 赋值给 b 时,编译器自动提升 a 为 long 类型
        a = b; // 编译报错,long 范围大于 int,可能丢失数据,不安全
        float f = 3.14F;
        double d = 5.12;
        d = f; // 编译器将 f 转换为 double 后赋值
        f = d; // double 范围大于 float,直接赋值给 float 会丢失数据,不安全
        byte b1 = 100; // 编译通过,100 在 byte 范围内,自动转换
        byte b2 = 257; // 编译失败,257 超出 byte 范围,数据丢失
    }
}

【一步一步了解Java系列】:探索Java基本类型转换的秘密

现代编译器功能强大,错误部分会被标红,便于我们快速定位问题。注释中也明确指出了错误原因。

二、强制类型转换

2.1 强制类型转换(显式)

强制类型转换是指通过显式操作将一种数据类型转换为另一种数据类型。这种转换可能会导致信息丢失或数据错误,因此使用时需要格外小心。

如果你需要将范围大的类型转换为范围小的类型,或者反之,强制类型转换是可行的方法。当然,它也可以用于不同范围类型的转换。

强制类型转换的语法为:(目标类型)值。

需要注意的是,在进行强制类型转换时,如果结果超出了目标类型的取值范围,可能会导致数据异常。

```java
public class Test {
public static void main(String[] args) {
int a = 10;
long b = 100L;
b = a; // int-->long,范围由小到大,隐式转换
a = (int)b; // long-->int, 范围由大到小,需要强制转换,否则编译失败
float f = 3.14F;
double d = 5.12;
d = f; // float-->double,范围由小到大,隐式转换

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4510.html

(0)
LomuLomu
上一篇 2024 年 12 月 27 日
下一篇 2024 年 12 月 27 日

相关推荐

  • IntelliJ IDEA 2024.1.3最新激活破解教程(永久激活,亲测有效)

    声明:此教程所包含的 IntelliJ IDEA 破解补丁和激活码均源自网络。请勿将其用于商业目的,仅供个人学习和参考使用。如涉及侵权,请及时通知作者以便删除。如有可能,请优先考虑支持正版软件。 本文内容适用于 JetBrains 系列全部产品,如 IDEA、Pycharm、WebStorm、Phpstorm、Datagrip、RubyMine、CLion、…

    2024 年 6 月 22 日
    1.7K00
  • SQL多表关联:数据整合分析的高效手段

    文章标题: SQL多表关联:数据整合剖析的高效办法 文章内容:## SQL 多表查询:数据整合与分析的有力工具 在关系型数据库当中,数据通常被分布存储在多个表内。这种将表进行分离的做法有助于降低冗余程度,并且能提升数据的管理效能。但在实际运用时,常常需要对多个表中的数据开展整合查询,从而获取更为完整的信息。这时候,多表查询(Join)就显得极为重要。本文将会…

    未分类 2025 年 6 月 18 日
    1.3K00
  • 深入解析Java字节码操作指南

    ✨ 技术背景: 资深技术专家, 文学典籍平台(电脑端访问地址:,移动端可通过微信搜索“ 历代文学 ”小程序)首席架构师,拥有15年一线开发经验,精通Java核心技术,高并发系统设计,Spring生态与微服务架构,熟练运用Linux系统,VMware虚拟化及云原生技术Docker/Kubernetes,持续关注技术前沿发展,致力于将理论转化为落地解决方案。保持…

    2025 年 5 月 13 日
    29600
  • [Java编程圣经《Effective Java》:从优秀到卓越的编码指南]

    《Effective Java》 提升Java代码质量的黄金法则 传奇作者的技术人生 业界公认的编程宝典 专属读者福利 提升Java代码质量的黄金法则 作为Java开发者必读的经典著作,《Effective Java》由资深技术专家Joshua Bloch倾力打造,为程序员提供了提升代码质量的完整方法论。本书以独特的条目式结构,系统性地阐述了Java语言的高…

    2025 年 5 月 19 日
    1.3K00
  • Eclipse开发环境配置指南:从安装到汉化全流程详解

    目录导航Eclipse软件获取1、解压缩操作指南2、启动Eclipse步骤3、设置工作空间路径Java项目创建指南1、新建项目入口2、选择Java项目类型3、命名并完成创建4、切换开发视图5、项目资源管理器Checkstyle代码规范工具配置1、插件启用方法2、参数设置流程3、创建检查规则4、设为默认配置5、测试验证步骤6、问题标记功能7、启用/禁用切换8、…

    2025 年 5 月 12 日
    62700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信