栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从int到char和ASCII值的类型转换

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从int到char和ASCII值的类型转换

好的,您在那里有几个非常不同的问题。

我认为第一个问题是:

为什么会看到?当您输出
ch2
ch3

因为您输出的是无效字符。Java字符代表UTF-16代码点,而不是实际字符。UTF-16中的某些Unipre字符需要
两个 Java

char
来存储。有关Unipre FAQ的
UTF-16的更多信息,请参见。在UTF-16,这个值
0xFFFF
(这是你的东西
ch2
,并
ch3
包含)不是作为一个独立的值有效;
即使存在,也没有Unipre U +
FFFF字符。

输入以下内容

ch22
:您看到一个小方框的原因是您正在输出字符
0
(结果
(char)65536
0
,请参见下文),这是一个“控制字符”(所有低于32的字符-
正常空格字符-是各种控制字符)。字符
0
是“空”字符,我不知道它没有公认的标志符号。

为什么这样做时没有错误
int a11 = 65536; char ch22 = (char) a11;

因为这就是Java
缩小的原始转换的定义方式。没有抛出任何错误;而是仅使用相关的位:

将有符号整数缩小为整数类型T会简单地丢弃除n个最低阶位以外的所有位,其中n是用于表示类型T的位的数量。除了可能丢失有关数值幅度的信息外,
,这可能导致结果值的符号与输入值的符号不同。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号