2016 - 2024

感恩一路有你

java强制类型转换规则 java中为什么int转char要强制类型转换?

浏览量:2073 时间:2021-03-13 04:17:16 作者:admin

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将整数强制转换为字符型

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。