java强制类型转换规则 java中为什么int转char要强制类型转换?
java中为什么int转char要强制类型转换?
1. 将整数强制类型转换为字符类型,JVM将把数字当作字符的ASCII编码。
例如,字符“()的ASCII编码为40,因此将整数40强制类型转换为字符类型将导致字符“()。
Int a=40
char c=(char)a
输出:(
2)String.valueOf值()到字符串类型;
然后toCharArray街()到字符类型。
int a=4
字符串str=String.valueOf值(a)
字符[]数组=toCharArray街()
对于(int i=0 i<数组长度我)
{系统打印(数组[i])]}
3。加48,因为ASCII码48到57是字符“
int a=4
char b=(char)(a) 它们之间的主要区别如下:
01。内存中的字节数不同
单精度浮点数占用内存4字节
双精度浮点数占用内存8字节
02。有效位数不同
单精度浮点数占8位
双精度浮点数占16位
03取值范围
单精度浮点数范围:-3.40e38~3.40e38
双精度浮点数范围:-1.79e308~-1.79e38308
04. 程序的处理速度是不同的
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数的速度快
如果不声明,默认的十进制数是double类型,所以如果要使用float,必须强制它
例如:float a=1.3将编译并报告一个错误,正确的书写是float a=(float)1.3或float a=1.3f(f或f可以不区分大小写)
注意:float是8位有效数字,第7位将被舍入
面试问题:
1。3*0.1==0.3在Java中返回什么?对还是错?
False,因为浮点数不能精确表示,它将失去精度。
2. float f=3.4在Java中是否正确?
不正确。3.4是一个双数。将double赋值给float是向下的转换,会导致精度损失。因此,您需要强制转换float f=(float)3.4或写入float f=3.4f。
java强制类型转换规则 java泛型 java将整数强制转换为字符型
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。