【Java基础笔记】类型转换
目录
- 前言
- 类型转换(基本数据类型)
- 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基础笔记】类型转换相关推荐
- Java基础笔记 – 枚举类型的使用介绍和静态导入
Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...
- Java基础笔记23-集合练习题
Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...
- Java基础笔记(2)——HashMap的源码,实现原理,底层结构是怎么样的
Java基础笔记(2)--HashMap的源码,实现原理,底层结构是怎么样的 HashMap的源码,实现原理,底层结构 1.HashMap: HashMap是基于哈希表的 Map 接口的实现.此实现提 ...
- Java基础笔记(14)—— Java的基础类型和字节大小
Java基础笔记(14)-- Java的基础类型和字节大小 Java基础笔记(14)-- Java的基础类型和字节大小 Java语言提供了八种基本类型.六种数字类型(四个整数型(默认是int 型),两 ...
- Java基础笔记6——File、流、枚举、断言
Java基础笔记6 十一.File 代表文件或目录的类. 所表示的文件或目录在计算机中不一定真实存在. 绝对路径:以盘符或者/开头的路径--不以当前路径为基准,直接跳转到指定的位置 相对路径:不以盘符 ...
- Java基础笔记(4w字长文警告)
Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...
- 【Java基础笔记】数据单位
目录 前言 数据单位 前言 该文章为Java基础自学笔记 其他内容:Java基础学习笔记目录 学习用书: <Java核心技术 卷Ⅰ 基础知识(第10版)> <Java经典编程300例 ...
- 自学java基础笔记
java基础教程 基础字符 public 公共的 class 类 static 静态的 void 无返回类型 main 主要的 String 字符串 args 参数 System 系统的 out 输 ...
- java基础笔记简单回忆
0. 自述 自从大学毕业后开始做java开发有几年了,但是都是用现在比较流行的一些框架蒙头写业务代码,总有一种自己水平不行的感觉故而决定重新开始 在将java基础视频(待我看完后在分享视频网盘 ...
最新文章
- UVA 10700 Camel trading
- java 1.8 rpm_jdk1.8下载 Java Development Kit 8(jdk1.8) 8u131 linux 1586 rpm 官方正式版 下载-脚本之家...
- dell服务器sd卡装系统,DELL服务器通过sd卡安装系统(iDRACUsevFlash).doc
- MarkDown语法-使用博客园的markDown编辑
- P2480 [SDOI2010]古代猪文(数论好题)
- supesite 相关 修改
- [数学][欧拉降幂定理]Exponial
- Linux命令-用户和组管理
- text-align 属性,输入框数字向右靠
- web漏洞扫描器-appscan
- re2020 bt2020_如何在2020年选择最佳博客平台(比较)
- input 文件提交 按钮制作
- 服务器添加打印机显示没有权限,无法连接打印机(没有权限使用网络资源)解决方法和原因...
- 云知声终止IPO:持续亏损7.9亿、毛利率低于行业均值、市场份额被指“造假”
- 基于Sketch Up软件校园建模案例分享
- 如何在信息不完备下进行快速决策?
- adf的主要功能之一是_ADF软件介绍
- 新月,上弦月,满月,下弦月的区别
- 倍福Twincat 3.0软件的EAP通讯(补充)
- 最简单的共享列表服务器KissLists
热门文章
- excel图文教程:常用数值取舍方法汇总
- 连接宽带错误769:无法连接到指定目标
- 很遗憾,该服务器不支持 jmail 组件!,是否支持JMAIL组件,如何使用Jmail发送邮件?...
- 最近在看一本不错的书~推荐给大家
- 图形化界面如何给画笔加粗
- Swing原创Java版QQ26638719:漂亮,时尚,功能丰富,个性张扬,稳定,可移植,含源码和完整配置
- 关于自我认知及自我目标
- SUSCTF2022的两道Java复现
- Day53_ElasticSearch—HTTP篇
- dentry和inode的关系