Java 数据类型转换
来源:互联网 发布:linux查看jdk版本 编辑:程序博客网 时间:2024/06/06 02:25
自动类型转换
自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
int i=3;
double d=i;
float f=i;
double d2=f;
在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。
特例
可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表示范围;
short b=12;//合法
short b=1234567;//非法
强制类型转换
强制类型转换又被称为造型,用于显示的转换一个数值的类型,在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
double x=3.14;
int a1=(int)x;
print输出:3
当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,无意义的值。
int x2=-100;
char a2=(char)x2;
print输出:?
表达式中的类型提升问题
int a=4;
long b=5;
int c=a+b;//这时a+b的值是long类型
int c=(int)(a+b);
所有的二元运算符(+-*/%)都会有类型提升的问题!超类型时需要强制转型。
long类型强转使用大写L并且运算时尽量写在第一个值的后面例如:long times=70L*60*24*365*70;//会先提升数据类型
int money=1000000000;//10亿
int years=20;
long total=(long)(money*years);//错误。因为money*years已经运算完,在提成long输出的结果和没有long的数值是一样的
long total=(long)money*years;//正确。先提升后计算
- JAVA基本数据类型、数据类型转换
- java数据类型转换默认转换
- Java基本数据类型转换
- java数据类型转换详解
- 简要JAVA数据类型转换
- java中的数据类型转换
- 简要JAVA数据类型转换
- java基本数据类型转换
- JAVA数据类型转换整理
- java数据类型转换
- JAVA数据类型转换
- [收藏]java数据类型转换
- java数据类型转换
- 数据类型转换(java)
- JAVA数据类型转换
- java数据类型转换
- java数据类型转换
- 简要JAVA数据类型转换
- 计算几何-离散化
- How to install compiz
- python 3 中的time模块使用(待完善)
- Harris 角点检测
- 解决mac上matplotlib(plot)无法显示中文的问题 (Python)
- Java 数据类型转换
- java基础三:Arraylist和LinkList区别
- 先后出现Requested setting DEFAULT_INDEX_TABLESPACE和No module named
- Fence Repair POJ
- Programming Clojure.pdf 英文原版 免费下载
- 647. Palindromic Substrings
- centos7安装mariadb 笔记
- ⚔疯狂输出⚔ java 中的 多态 快速理解
- 103. Binary Tree Zigzag Level Order Traversal(BFS)