Java数据类型转换

来源:互联网 发布:淘宝黑搜20单五天必爆 编辑:程序博客网 时间:2024/06/07 06:05
package com.hisoft.java.Bean;/** * 这个类是进行类型转换演示的类 * @author jh *在java中基本数据类型的转换和基本数据类型的大小是有关系的 *在内存小的转换为内存大的数据类型是会自动进行类型转换,这种叫隐式类型转换。 *在内存大的转化为内存小的数据类型时,必须进行声明这种叫强制类型转换,也叫显示类型转换 *强制类型转换需要注意的地方 *一。强制类型转换可能会丢失数据的准确性 *二。强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float) *表达式的数据类型自动提升所有的byte型、short型和char的值将被提升到int型如果一个操作数是long型,计算结果就是long型如果一个操作数是float型,计算结果就是float型如果一个操作数是double型,计算结果就是double型如果一个操作数是String型,计算结果就是String型 */public class TypeConvert {public static void main(String[] args) {// 在int类型转byte类型时,如果int类型的值超过byte类型的最大值,则超过部分从byte的最小值开始进行计算,// 超过多少在最小值的基础上加多少,如果所得结果大于还是大于最大值,重新从最小值开始,直到最后所得之在byte值范围内。// 同样道理在整形的其他类型也是一样。// int i=381;// byte b=(byte)i;// System.out.println(b);// 二。强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float)// double d = 10.0/3;// System.out.println(d);// float f = (float)d;// System.out.println(f);// d=f;// System.out.println(d);// 浮点类型和整数类型的转换// 浮点类型转为整数类型必须进行强制类型转换// 浮点类型转为整数类型只会保留整数部分// 整数类型转为浮点类型会在整数后面加上.0;// double d=12.84;// float f = 11.2f;// int i=(int) d;// System.out.println(i);// i=(int)f;// System.out.println(i);// f=i; //将整数类型转换为浮点类型// System.out.println(f);// d=i;// //在long类型转化为浮点类型,然后再将对应的浮点值转化为long类型时,数据准确度没有丢失// long maxlong = Long.MAX_VALUE;// System.out.println(maxlong);// d= maxlong;// System.out.println(d);// long l = (long)d;//精度高的类型转精度低类型时需要进行强制类型转换// System.out.println(l);// 所有的byte型、short型和char的值将被提升到int型byte b=12,b1=10;// byte b2 = b+b1;//这行代码会出错,两个byte类型的数据进行运算的时候,会将结果自动提升为int类型byte b2 =(byte) (b+b1);//如果两个byte类型运算结果一定要是byte,就必须进行强制类型转换// int b2=b+b1;// 同上// short s=100,s1=120;// short s2 = s+s1;// char类型的数值在进行数学运算时如果是英文字符,会根据计算机底层ascii码表进行数值转换,转换为10进制的数// 如果是汉字或者其他非英文字符,则按照unicode编码表进行转换// char c = 'a',c1='b';// int c2 = c+c1;// System.out.println(c2);// char c3='刱';// int c4 = c3;// System.out.println(c4);}}

原创粉丝点击