关于java基本类型计算时的类型转换
来源:互联网 发布:知乎电脑配件专家 编辑:程序博客网 时间:2024/04/29 04:48
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">java的基本类型在编程时常常面临不同类型变量之间的相加,如:int+char、float+int、int+byte、int+double。</span>
所以为了不同类型的变量能够进行计算,计算时会进行相应的类型转换,这些转换会自动完成。
基本数据类型转换顺序:
char----->int----->long----->float----->double
byte----->short----->int----->long----->float----->double
如果两个数据进行计算后,要变为你想要的类型,则需要使用强制类型的转换。
还有如果给一个float赋予初值时,float f1=0.22会出错,应该使用float f1=0.22f 或者float f1=(float)0.22才正确。
但是在定义double时,double d1=1.334是正确的。在java中,double只能进行科学的计算,如果在商业中则需要用到java.math.decimal的方法进行运算。
例:
import java.math.BigDecimal;public class MyText { public static void main(String arg[]){byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(byte)(b1+b2);//byte类型在运算时都会自动转化为int类型,所以要么用强制转化把b1+b2变成byte //要么把b3的类型改为int型 //下面输出13 System.out.println(b3+b6); float f1=2.0f,f2; int i1=1,i2; f2=f1+i1; //int和float相加会把int转换为float型 //下面输出3.0 System.out.println(f2); //但是如果要把f1加i1的值赋给整型变量i2,则要进行强制类型转换 i2=(int)(i1+f1); //下面输出3 System.out.println(i2); //double和float相加 double d1=9.26,d2; float f3=3.56f,f4; //d1和f3相加,f3会转换为double型,而且算出来的是一个不准确的值,一个非常近似的值。 d2=d1+f3; //下面输出12.81999994277954 System.out.println(d2); //如果要输出的是float型,则要用强制转换 f4=(float)(d1+f3); //下面输出12.82 System.out.println(f4); //如果要进行商业运算,小数相加就要用java.math.BigDecimal类来进行运算。 double d3=2.556,d4=3.778; BigDecimal bi1=new BigDecimal(Double.toString(d3)); BigDecimal bi2=new BigDecimal(Double.toString(d4)); //下面输出6.334 System.out.println(bi1.add(bi2));}}
1 0
- 关于java基本类型计算时的类型转换
- JAVA基本类型的类型转换
- JAVA基本类型的类型转换
- Java基本类型的类型转换
- java基本类型的类型转换
- java基本类型转换
- JAVA基本类型转换
- java基本类型转换
- Java 基本类型转换
- java基本类型转换
- 基本类型的类型转换
- 基本类型的类型转换
- Java基本类型以及基本类型间的自动转换
- java基本数据类型-基本类型的类型转换
- 基本类型的转换
- 基本类型的转换
- Java语言的基本类型的类型转换
- Java中基本类型的转换
- 安全工具(转载)
- 九度考研真题 浙大 2007-2浙大 题目1020:最小长方形 取最大最小值
- datagridview 一个单元格显示文字和图片
- Android 秒杀倒计时 解决listview上下滑动计时改变问题
- android下载apk 断点续传
- 关于java基本类型计算时的类型转换
- pdf文件转换成html格式的实用方法
- 九度考研真题 浙大 2007-3浙大游船出租 结构体
- TIPTOP系統管理--Createdb用法
- VIII.4 ORA-01153: an incompatible media recovery is active
- 关于 Java Web 项目性能提升的一些思路
- 安卓在AndroidManifest.xml文件中设置Android程序的启动界面方法
- poj 3764
- 九度考研真题 浙大 2007-浙大1023:EXCEL排序 排序