java--基本数据类型的转换(强制转换)
程序员文章站
2023-08-18 18:41:28
强制类型的转换 规则: 1、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等等。 就是用强制类型来实现。 3、强制类型转换语法 :当大容量的变量向小的变量的类型去转换时需要强制转换 。 (目标类型) 值; 当我的int类型转 ......
强制类型的转换
规则:
1、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等等。
就是用强制类型来实现。
3、强制类型转换语法 :当大容量的变量向小的变量的类型去转换时需要强制转换 。 (目标类型) 值;
1 package pkg1; 2 3 public class test1{ 4 public static void main(string args[]){ 5 6 int i = 10; 7 8 byte b = i ; 9 system.out.println(b); 10 11 } 12 }
当我的int类型转换成byte类型时,编译是报错的
我们应该强制类型转换一下 在赋值是写上你需要强制的目标类型
例如:
1 package pkg1; 2 3 public class test1{ 4 public static void main(string args[]){ 5 6 int i = 10; 7 8 byte b = (byte) i ; 9 system.out.println(b); 10 11 } 12 }
定义一个long类型 我要转换成int类型 语法上是一样的
1 package pkg1; 2 3 public class test1{ 4 public static void main(string args[]){ 5 //long类型转换成int类型 6 long l = 10000; 7 int j = (int)l; 8 system.out.println(j); 9 10 } 11 }
运行效果:
小数类型的强制
package pkg1; public class test1{ public static void main(string args[]){ //小数类型转换成int float f= 3.4f; int i = (int)f; system.out.println(i); } }
运行结果:
可以看到小数类型转换成整数,小数点后面的数就没有了。
double类型转换float类型
1 package pkg1; 2 3 public class test1{ 4 public static void main(string args[]){ 5 //double类型向float类型转换 6 double d = 33.45; 7 float f = (float)d; 8 9 system.out.println(f); 10 } 11 }
运行结果:
都是可以成功转换的。
在看字符的转换
package pkg1; public class test1{ public static void main(string args[]){ //字符转换 char c ='a'; int x = c; system.out.println(x); int y = 98; char c1 = (char)y; system.out.println(c1); } }
在上个随笔中有说到char类型的自动转换int类型是显示ascii码,同时我也可以强制类型转换成ascii码。
运行结果:
98是ascii的b,所以int类型可以强制成char类型。
总结:
1,数值类型的转换前提要保证精度不会损失的情况下才可以强制转换
2,小数转换成整数,就是把小数点后面的数给去掉。
3,boolean类型的数据不能转换为其他任何基本数据类型。
上一篇: 亲爱的你太幽默了