目录

  • 前言
  • 类型转换(基本数据类型)
    • 1.自动类型转换
    • 2.强制类型转换

前言

  • 该文章为Java基础自学笔记
  • 其他内容:Java基础学习笔记目录
  • 学习用书:
    《Java核心技术 卷Ⅰ 基础知识(第10版)》
    《Java经典编程300例》
  • 学习视频:https://www.bilibili.com/video/BV1Cv411372m

类型转换(基本数据类型)

引用数据类型的类型转换 --> 多态下引用数据类型的类型转换

  • 不同类型的变量赋值给其他类型的变量

1.自动类型转换

  • 类型范围小的变量,可以直接赋值类型范围大的变量
  • 自动类型转换的底层原理:
 byte a = 12;int b = a; // a=12

  • 自动类型转换的其他形式:

  • 表达式的自动类型转换:

    • 在表达式中,小范围类型的变量会自动转换成当前最大范围的类型再运算
  • 注意事项:

  • 表达式的最终结果类型由表达式中的最高类型决定
 int i = 10;long l = 100L;long rs = i + l; // int + long结果为long,由最高类型long决定
  • 在表达式中,byte、short、char直接转换成int类型参与运算的
 byte b = 1;short s = 2;int rs = b + s; // byte + short = int,在表达式中,byte、short、char直接转换成int类型参与运算

2.强制类型转换

  • 类型范围大的数据或者变量,不能直接赋值类型范围小的变量
  • 可以强行将类型范围大的变量、数据赋值给类型范围小的变量:
数据类型 变量2 = (数据类型)变量1、数据
  • 强制类型转换底层原理:
 int a =  20;byte b = (byte)a; // b=20

  • 注意事项
  • 强制类型转换可能造成数据(丢失)溢出
 int i = 1500;byte j = (byte)i; // j=-36

  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回
 double d = 1.95;int i = (int)d; // i=1

浮点数舍入运算: 使用Math.round()方法(round方法返回值为long类型)
int i = (int) Math.round(9.997); 结果为i=10

boolean类型强转为int类型: boolean ? 1 : 0

【Java基础笔记】类型转换相关推荐

  1. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  2. Java基础笔记23-集合练习题

    Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...

  3. Java基础笔记(2)——HashMap的源码,实现原理,底层结构是怎么样的

    Java基础笔记(2)--HashMap的源码,实现原理,底层结构是怎么样的 HashMap的源码,实现原理,底层结构 1.HashMap: HashMap是基于哈希表的 Map 接口的实现.此实现提 ...

  4. Java基础笔记(14)—— Java的基础类型和字节大小

    Java基础笔记(14)-- Java的基础类型和字节大小 Java基础笔记(14)-- Java的基础类型和字节大小 Java语言提供了八种基本类型.六种数字类型(四个整数型(默认是int 型),两 ...

  5. Java基础笔记6——File、流、枚举、断言

    Java基础笔记6 十一.File 代表文件或目录的类. 所表示的文件或目录在计算机中不一定真实存在. 绝对路径:以盘符或者/开头的路径--不以当前路径为基准,直接跳转到指定的位置 相对路径:不以盘符 ...

  6. Java基础笔记(4w字长文警告)

    Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...

  7. 【Java基础笔记】数据单位

    目录 前言 数据单位 前言 该文章为Java基础自学笔记 其他内容:Java基础学习笔记目录 学习用书: <Java核心技术 卷Ⅰ 基础知识(第10版)> <Java经典编程300例 ...

  8. 自学java基础笔记

    java基础教程 基础字符 public  公共的 class 类 static 静态的 void 无返回类型 main 主要的 String 字符串 args 参数 System 系统的 out 输 ...

  9. java基础笔记简单回忆

    0. 自述     自从大学毕业后开始做java开发有几年了,但是都是用现在比较流行的一些框架蒙头写业务代码,总有一种自己水平不行的感觉故而决定重新开始 在将java基础视频(待我看完后在分享视频网盘 ...

最新文章

  1. UVA 10700 Camel trading
  2. java 1.8 rpm_jdk1.8下载 Java Development Kit 8(jdk1.8) 8u131 linux 1586 rpm 官方正式版 下载-脚本之家...
  3. dell服务器sd卡装系统,DELL服务器通过sd卡安装系统(iDRACUsevFlash).doc
  4. MarkDown语法-使用博客园的markDown编辑
  5. P2480 [SDOI2010]古代猪文(数论好题)
  6. supesite 相关 修改
  7. [数学][欧拉降幂定理]Exponial
  8. Linux命令-用户和组管理
  9. text-align 属性,输入框数字向右靠
  10. web漏洞扫描器-appscan
  11. re2020 bt2020_如何在2020年选择最佳博客平台(比较)
  12. input 文件提交 按钮制作
  13. 服务器添加打印机显示没有权限,无法连接打印机(没有权限使用网络资源)解决方法和原因...
  14. 云知声终止IPO:持续亏损7.9亿、毛利率低于行业均值、市场份额被指“造假”
  15. 基于Sketch Up软件校园建模案例分享
  16. 如何在信息不完备下进行快速决策?
  17. adf的主要功能之一是_ADF软件介绍
  18. 新月,上弦月,满月,下弦月的区别
  19. 倍福Twincat 3.0软件的EAP通讯(补充)
  20. 最简单的共享列表服务器KissLists

热门文章

  1. excel图文教程:常用数值取舍方法汇总
  2. 连接宽带错误769:无法连接到指定目标
  3. 很遗憾,该服务器不支持 jmail 组件!,是否支持JMAIL组件,如何使用Jmail发送邮件?...
  4. 最近在看一本不错的书~推荐给大家
  5. 图形化界面如何给画笔加粗
  6. Swing原创Java版QQ26638719:漂亮,时尚,功能丰富,个性张扬,稳定,可移植,含源码和完整配置
  7. 关于自我认知及自我目标
  8. SUSCTF2022的两道Java复现
  9. Day53_ElasticSearch—HTTP篇
  10. dentry和inode的关系