前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >char与byte的差别

char与byte的差别

作者头像
全栈程序员站长
发布2022-07-14 15:54:54
7980
发布2022-07-14 15:54:54
举报

大家好,又见面了,我是全栈君

非常多刚開始学习的人(包含我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比較,先将结果与大家分享:

byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。

以下用实例来比較一下二者的差别:

1、Char是无符号型的,能够表示一个整数,不能表示负数;而byte是有符号型的,能够表示-128—127 的数;如:

代码语言:javascript
复制
char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别
System.out.println(c);
byte d1 = 1;
byte d2 = -1;
byte d3 = 127; // 假设是byte d3 = 128;会报错
byte d4 = -128; // 假设是byte d4 = -129;会报错
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);

结果为:

? 1 -1 127 -128

2、char能够表中文字符,byte不能够,如:

代码语言:javascript
复制
char e1 = '中', e2 = '国';
byte f= (byte) '中';	//必须强制转换否则报错
System.out.println(e1);
System.out.println(e2);
System.out.println(f);

结果为:

中 国 45

3、char、byte、int对于英文字符,能够相互转化,如:

代码语言:javascript
复制
byte g = 'b';	//b相应ASCII是98
char h = (char) g;
char i = 85;	//U相应ASCII是85
int j = 'h';	//h相应ASCII是104
System.out.println(g);
System.out.println(h);
System.out.println(i);
System.out.println(j);

结果为: 98 b U 104

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117968.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档