java基本类型转换

package com.hqyj.javacode.datatype;

/**
* 重点 类型转换
*/
public class TestChange {
public static void main(String[] args) {
//1.自动转换 小转换大
double d=1.25+1;// double +int 结果为double
//2.强制类型转换 int i=1.25; 有误
int i=(int )1.25;// 正确转换
//强制转换的精度丢失和溢出 float 转换double
float a=(float) 0.234353252;
System.out.println(a);//结果为0.23435326 丢失了
// double 转换为 float
int x=128;
byte y=(byte)x;
System.out.println(y);//-128
//4 在多种类型参与的运算 结果会向较大类型转换
//int r=0.25f+1l+0.75; 这个表达式是错误的 改为
int r=(int ) (0.25f+1l+0.75);
double r1=0.25f+1l+0.75;
//5 byet short char int 参与运算时编译时都会转换为int 类型在计算
short m=1;
char n='a';
int s=1;
int s1=s+n+m;//结果为int
/**
* 总结 小转大 自动转换
* 大转小 强制转换
* 强制转换会丢失精度
* 在运算时 byet short char int 参与运算时编译时都会转换为int
*/

}
}
posted @ 2022-03-20 19:31  java小寇  阅读(62)  评论(0)    收藏  举报