Java类型转换详解

最近有同学问:自动类型转换老是记不住,到底是大转小,还是小转大

其实这个不用死记硬背,很好理解,我们拿 intshort 来举例:

int4 字节,也就是 32 bit,所以 int 的范围在 [-231,231-1] 也就是大概 [-21亿,21亿]

short2 字节,也就是 16 bit,所以 short 的范围在 [-215,215-1] 也就是 [-32768,32767]

所以我们可以很明显的发现一个问题, shortint 是无论如何都不会超出范围的

既然不会超出范围,当然语言就可以自动为我们进行转化

如果 int 转 short 则需要强转,也就是:

public static void main(String[] args) {
  short a = 1;
  int b = 2;
  short c = (short) (a + b);
}

如果 c 是 int 类型的则不需要强转,语言实现了自动转换

public static void main(String[] args) {
  short a = 1;
  int b = 2;
  int c = a + b;
}

放在子类和父类中,这个关系依然成立(自动向上转型)

子类可以 自动向上转为父类,但是父类转为子类的话就需要强转

Original: https://www.cnblogs.com/Fzeng/p/16038587.html
Author: 小冯同学c
Title: Java类型转换详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592989/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java Math类

    java.lang.Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单 常用…

    Java 2023年5月29日
    069
  • 31.使用计时器,分析服务端recv的性能

    服务端: 使用计时器,计时每秒钟调用了多少次recv,收到了多少数据包。recv每次接收1个字节。 客户端:使用计时器,计时每秒钟调用了多少次send函数。 调整客户端的线程数,客…

    Java 2023年5月30日
    055
  • 20220722-Java构造器

    Java构造器知识总结 来源:B站韩顺平老师Java入门教学 代码示例 class Person { int age; String name; public Person(int…

    Java 2023年6月15日
    068
  • No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc

    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-…

    Java 2023年6月14日
    080
  • 木头人の狂想

    我看见太阳,它很热我看见天空,它很蓝我看见湖水,它很清我看见风,它兴高采烈我看见垂柳,它正随风一起跳舞 太阳问,我如此绚烂,为何你却感觉不到温暖?心在黑夜 你未曾照耀 天空问,如此…

    Java 2023年6月5日
    063
  • UCloud 云服务内容审核 Java 版本实现

    前言 最近不少小伙伴反映上传小黄图偶尔性的异常,并且不能上传动态图片,很是苦恼!无她,鉴黄 API还没有这么智能,毕竟是自己训练的,不是那么专业!为了更好的服务广大网友,撸主决定接…

    Java 2023年5月29日
    087
  • Python基本语法学习

    CSN Python学习作业 Python的变量不需要声明,但每个变量在使用前都必须赋值。在Python中,变量就是变量,它没有所谓的”类型”一说 Pyth…

    Java 2023年6月7日
    048
  • JavaWeb详解

    一、基本概念 1.前言 web开发: web,网页的意思 静态web html,css 提供给所有人看的数据始终不会发生变化 动态web 提供给所有人看的数据始终会发生变化,每个人…

    Java 2023年6月13日
    077
  • 一、对象与类

    1 类的三种关系:use, has, is 2 封装:数据域私有,即隐藏数据的实现方式,只提供方法去操作。所有的使用者调用即可而不需要关心实现方法的都可以称为封装。 3 java的…

    Java 2023年6月16日
    0111
  • 下载任务执行器简单设计

    下载任务类设计 /** * 下载任务执行器 * @author Shixy */ @Slf4j public class Downloader implements Runnabl…

    Java 2023年6月8日
    065
  • 【微服务】- 服务调用-OpenFeign

    服务调用 – OpenFeign 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得…

    Java 2023年6月16日
    063
  • 虚拟存储技术与交换覆盖技术的区别

    覆盖技术 将同一个进程划分为多层,每层共享一块内存。对象是同一进程。 交换技术 当内存紧张时,将不常用的进程放入外存。对象是进程。 虚拟存储技术 当内存紧张时,将页(段)换入换出内…

    Java 2023年6月9日
    065
  • Java8Stream流2

    上期对stream流大致总结了一下,后面又做了一些练习,大家可以参考一下。 首先需要建一个 Product的实体类,后面会用到 @Data @AllArgsConstructor …

    Java 2023年6月15日
    048
  • JSP中的JSTL 标签库

    JSTL 标签库 JSTL 标签库的使用步骤 core 核心库使用 JSTL 标签库 JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签…

    Java 2023年6月15日
    068
  • 背景图拉伸,填充,不平铺

    background-image: url(‘~@/static/downbg-big.png’);background-repeat: no-repeat…

    Java 2023年5月29日
    057
  • [推荐]趣味剖析Spring5核心原理

    课程亮点; ●你想了解面试中碰到的spring的各种面试问题及背后的原理吗? ●你想知道如何在繁冗复杂的源码中揭开spring IoC的面纱吗? ●你想知道如何在拗口,晦涩的术语中…

    Java 2023年5月29日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球