/*
自动转换
1.显式:代码不需要处理,直接完成转换
规则:数据范围从小到大
*/
public class demo05{
public static void main(String[] args){
System.out.println(30);
//直接输出一个整数,默认是Int类型
System.out.println(3.12);
//直接输出一个小数,默认是double类型
long nume1=100;
//整数之间的数据转换
//(1)左边是long类型,右边默认是int类型
//(2)等号赋值,右边赋值给左边
//(3)int——>long ,满足左大右小的数据范围
//(4)这一行代码发生了自动转换
System .out.println(nume1);
//100
double nume2=3.14159267F;
//浮点数之间的数据转换
//(1)左边是double,右边是float;
//(2)从double->float;
满足左大右小的数据范围,也发生了自动类型转换
System.out.println(nume2);
float nume3 =30L;
//(1)从long->float,范围float大于long,满足左大右小的数据范围
//(2)这一行代码发生了自动转换
System.out.println(nume3);
}
}
文章图片
【讲义|数据转换(自动转换+强制转换)】
/*强制转换
1.特点:代码需要特殊格式的处理,不能自动完成
2.格式:范围小的类型+范围小的变量名=(范围小的类型)+原本范围大的数据
注意事项:
1强制转换一般不推荐使用,因为可能会出现数据溢出,精度丢失。
2.byte/short/char这三种类型可以进行数学运算
3.byte/short/char这三种类型在进行运算的时候,都会被首先提成为int类型,然后在计算
4.boolen类型不能发生任何数据类型的转换
*/
public class demo06{
public static void main(String[] args){
//左边是int类型,右边是long
//long->int,不是从小到大,不能完后曾自动转换
//格式;范围小的数据类型+范围小的变量名=(范围小的数据类型)+原本范围大的数据
int nume1=(int)100L;
System.out.println(nume1);
/*
//long->int(强制转换)
int nume2=6000000000;
System.out.println(nume2);
//1705032704溢出
*/
文章图片
文章图片
//double->int (强制转换)
int nume2=(int)3.99;
System.out.println(nume2);
//3(这里并不是四舍五入,而是舍掉小数位)精度丢失
文章图片
char nuem3='A';
//这是一个字符变量'A'
System.out.println(nume3+1);
//66也就是大写字母A被当成了65来进行处理
//计算机的底层会用一个数字(二进制)来代表字符‘A’,也就是65
//一旦char进行了数学运算,那么字符会按照一定的规则被翻译成一个数字
/*
byte nume4=40;
//右侧的数值大小不能超过左侧的数值范围
byte nume5=50;
byte result1=nume4+nume5;
//(都会被首先提成为int类型)int+int->int
System.out.println(result1);
*/
/*
这里会报错
*/
//正确的写法如下:
byte nume4=40;
//右侧的数值大小不能超过左侧的数值范围
byte nume5=50;
int result1=nume4+nume5;
//byte+bute->int+int->int
System.out.println(result1);
//90
short nume6=40;
//byte+short->int+int->int
//int 强制转换为short
//必须保证逻辑上的真是大小本来就没有超过short范围i,不然会出现数据溢出
//最小数据类型+最小数据变量=(最小数据类型)+(原来范围大的数据)
shiort result2=(short)(nume5+nume6);
//90
}
}
文章图片
推荐阅读
- java|JDK1.8安装和环境搭建步骤
- kotlin|kotlin顶部导航栏(TabLayout+viewpager)、底部导航栏(谷歌官方)
- LeetCode|Java实现 LeetCode 704 二分查找(二分法)
- LeetCode|Java实现 LeetCode 378 有序矩阵中第K小的元素
- 面试|腾讯三面终拿Offer,关于redis,高并发,分布式,微服务一键领取
- Linux|再见 Xshell~ 这款开源的终端工具逼格更高
- 数据库|redis
- 数据库|Oracle12cWindows安装、介绍及简单使用(图文)
- linux|答应我不要再用Xshell了 这个新开源的终端工具酷炫又好用