java类型转换代码测试总结
2017-12-02 21:52
295 查看
public class TypeChange{
/*
5这个整数,byte,short,int,long都能够存储这个整数;
基本原则:小转大,自动转;大转小,强制转;
类型检查是在编译期,类型检查不影响转换的结果(类型检查只是为了检查)
编译器优化:
1.int类型的字面值在byte,short和char(0到65535)的数据范围内的时候,可以自动转换
2.字面值得char类型数据,在byte范围内可以自动转换成整数类型
其他:
1.浮点类型转换为整型需要强制转换,并且省略掉小数部分
2.整型转换为浮点类型,自动转
3.类型转换必须是兼容的类型才能转换;比如boolean类型不能跟其他类型作转换
运算符与类型转换:
基本的原则:
1.当参与计算的两个类型相同,结果就为该类型.
2.当参与计算的两个类型一个范围大,一个范围小,那么结果为范围较大的类型
特殊的情况:
1.当范围小于int的整型参与运算的时候,都会先自动转换为int类型再参与运算
2.当浮点类型与整型参与运算的时候,结果为浮点类型
3.当字符类型与整型参与运算结果为整型
拓展:
当整型精度损失的时候,将会出现什么情况
*/
public static void main(String[] args){
byte by = 50;
int i = by;
i = 100;
short sh = (short)i;
System.out.println("i="+i);
System.out.println("sh="+sh);
//byte by1 = 100;
//char ch = 65536;超出范围
System.out.println(Character.MAX_VALUE+0);
System.out.println(Character.MIN_VALUE+0);
by = 'a';
i = 'b';
System.out.println("by="+by);
System.out.println('我'+0);
double dou = 5.0;
i = (int)dou;
i = 5;
dou = i;
float flo = i;
System.out.println("i="+i);
System.out.println("dou="+dou);
System.out.println("flo="+flo);
boolean boo = true;
//i = (int)boo;
//运算符与类型
//by = 500 + 5;
by = 5;
byte by1 = 5;
sh = 6;
long lo = 5;
long by2 = lo + by1;
System.out.println("by2="+by2);
dou = 5.5;
i = 5;
double dou1 = dou + i;
System.out.println("dou="+dou);
i = 6/5;
System.out.println("i="+i);
char ch = 'a';
//by = lo + ch;
System.out.println("i="+i);
//浮点类型运算的时候,最好转换为整型原酸
dou = 6.6;
dou1 = 2.2;
System.out.println("dou+dou1="+(dou+dou1));
System.out.println("dou-dou1="+(dou-dou1));
System.out.println("dou*dou1="+(dou*dou1));
System.out.println("dou/dou1="+(dou/dou1));
//例子,减法运算
dou = ((int)(dou*10)-(int)(dou1*1
4000
0))/10.0;
System.out.println("dou="+dou);
//整型精度损失
by = (byte)130;
System.out.println("by="+by);
}
}
想要查看更多内容,请访问:http://how2j.cn?p=7870
/*
5这个整数,byte,short,int,long都能够存储这个整数;
基本原则:小转大,自动转;大转小,强制转;
类型检查是在编译期,类型检查不影响转换的结果(类型检查只是为了检查)
编译器优化:
1.int类型的字面值在byte,short和char(0到65535)的数据范围内的时候,可以自动转换
2.字面值得char类型数据,在byte范围内可以自动转换成整数类型
其他:
1.浮点类型转换为整型需要强制转换,并且省略掉小数部分
2.整型转换为浮点类型,自动转
3.类型转换必须是兼容的类型才能转换;比如boolean类型不能跟其他类型作转换
运算符与类型转换:
基本的原则:
1.当参与计算的两个类型相同,结果就为该类型.
2.当参与计算的两个类型一个范围大,一个范围小,那么结果为范围较大的类型
特殊的情况:
1.当范围小于int的整型参与运算的时候,都会先自动转换为int类型再参与运算
2.当浮点类型与整型参与运算的时候,结果为浮点类型
3.当字符类型与整型参与运算结果为整型
拓展:
当整型精度损失的时候,将会出现什么情况
*/
public static void main(String[] args){
byte by = 50;
int i = by;
i = 100;
short sh = (short)i;
System.out.println("i="+i);
System.out.println("sh="+sh);
//byte by1 = 100;
//char ch = 65536;超出范围
System.out.println(Character.MAX_VALUE+0);
System.out.println(Character.MIN_VALUE+0);
by = 'a';
i = 'b';
System.out.println("by="+by);
System.out.println('我'+0);
double dou = 5.0;
i = (int)dou;
i = 5;
dou = i;
float flo = i;
System.out.println("i="+i);
System.out.println("dou="+dou);
System.out.println("flo="+flo);
boolean boo = true;
//i = (int)boo;
//运算符与类型
//by = 500 + 5;
by = 5;
byte by1 = 5;
sh = 6;
long lo = 5;
long by2 = lo + by1;
System.out.println("by2="+by2);
dou = 5.5;
i = 5;
double dou1 = dou + i;
System.out.println("dou="+dou);
i = 6/5;
System.out.println("i="+i);
char ch = 'a';
//by = lo + ch;
System.out.println("i="+i);
//浮点类型运算的时候,最好转换为整型原酸
dou = 6.6;
dou1 = 2.2;
System.out.println("dou+dou1="+(dou+dou1));
System.out.println("dou-dou1="+(dou-dou1));
System.out.println("dou*dou1="+(dou*dou1));
System.out.println("dou/dou1="+(dou/dou1));
//例子,减法运算
dou = ((int)(dou*10)-(int)(dou1*1
4000
0))/10.0;
System.out.println("dou="+dou);
//整型精度损失
by = (byte)130;
System.out.println("by="+by);
}
}
想要查看更多内容,请访问:http://how2j.cn?p=7870
相关文章推荐
- java类型转换总结
- 数据类型转换(代码总结)
- Java基本类型转换总结
- Java基本类型转换总结
- 黑马程序员--Java基础加强--03.代码简化 书写规律II_参数化数据类型【重载】【多态】【泛型】【泛型限定】【个人总结】
- java中utf-8编码的byte数组转换成String类型代码
- java类型转换总结
- Java学习总结之数据类型转换
- Java总结篇系列:类型转换/造型
- JNI native层、C++异步回调JAVA代码。JNI数据类型转换
- Java基本类型转换总结
- [编写高质量代码:改善java程序的151个建议]建议65 避开基本类型数组转换列表陷阱
- 提高你的Java代码质量吧:避免基本类型数组转换列表陷阱(Arrays.asList())
- Java 毫秒变换为日期类型、日期转换为毫秒及操作总结
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- java中数据类型转换总结
- 提高你的Java代码质量吧:不要让类型默默转换
- Java中八种基本数据类型占用字节空间总结和数据类型之间的转换
- Java基本类型转换总结