栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用int直接转换为char的方式为什么不对哪?

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

使用int直接转换为char的方式为什么不对哪?

嗯,要回答这个问题需要弄明白char的本质了

char: The char data type is a single 16-bit Unicode character. It has a minimum value of ‘u0000’ (or 0) and a maximum value of ‘uffff’ (or 65,535 inclusive).

char这种简单的java数据类型特点如下:

1:是java语言中8种基本数据类型中的一种

2:它占两个字节十六位

3:最小值是0,最大值是65535

4:它可以通过单引号包装起来表示,比如:‘1’、‘A’、‘中’,也可以使用065535十进制(其他进制的数也可以)的整数表示,也可以使用‘u0000’’uffff’表示

5:它的默认值是’u0000’(或者0)

6:只能是单个字符,多了,没有都不行(空格也是一种字符)

当使用int类型的数据强转为char类型数据的时候,由于int数据类型是占四个字节的数据,(当int的值不在char类型的范围的时候会失去一定位数)此时char类型的数据值是int类型的值所对应的Unicode编码表中所对应的字符。

五:其他

如下简单代码实例和运行结果,恰好印证了我们以上的观点

public classTestChar4 {public static voidmain(String []args){undefined

System.out.println(‘1’);

System.out.println(‘A’);

System.out.println(‘中’);

System.out.println(’ ‘);//System.out.println(’’);//编译错误,空字面量//System.out.println(‘美国’);//编译错误,字符太多了,对于字符字面量而言

char max = (char)(Character.MAX_VALUE+1);

System.out.println(max);char min = (char)(Character.MIN_VALUE-1);

System.out.println(min);char a = 49;

System.out.println(a);char b = 65535;//char b1 = 65536;//编译不通过,报必须是char类型的却发现为int类型的

System.out.println(b);char c = 0;//char c1 = -1;//编译不通过,报必须是char类型的却发现为int类型的

System.out.println©;char d = ‘1’+1;

System.out.println(d);char e = ‘1’+‘1’;

System.out.println(e);char f = ‘国’+1;

System.out.println(f);

}
原地址
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《int转换为char数组 java_int转换char的正确姿势》, 一起来围观吧 https://blog.csdn.net/weixin_42392438/article/details/114111845?utm_source=app&app_version=4.18.0&code=app_1562916241&ulinkId=usr1mkqgl919blen

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

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

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