char与byte的区别

原创 2012年07月21日 16:18:02

很多初学者(包括我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享:


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


        下面用实例来比较一下二者的区别:

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

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不可以,如:

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

结果为:



45


3、char、byteint对于英文字符,可以相互转化,如:

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



欢迎加入"Java梦之队" 学习群:226159645




版权声明:本文为博主原创文章,未经博主允许不得用于任何商业用途,转载请注明出处。

字节、字、bit、byte的关系

字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = bit)   一个字的字长为16 ...
  • wanlixingzhe
  • wanlixingzhe
  • 2011年12月28日 10:02
  • 316884

Bit,Byte,WORD,DWORD区别和联系

Bit,Byte,WORD,DWORD区别和联系 1人收藏此文章, 收藏此文章 发表于4个月前 , 已有86次阅读 共0个评论 1人收藏此文章 基本概念: 位(Bit...
  • Hugohut
  • Hugohut
  • 2011年12月05日 22:53
  • 10320

js byte[] 和string 相互转换 UTF-8

function stringToByte(str) { var bytes = new Array(); var len, c; len = str.length; for(...
  • u013022210
  • u013022210
  • 2017年02月14日 16:42
  • 8884

python中struct.unpack的用法

python中struct.unpack的用法4/25/2009 12:18:21 PMPython中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的。1. 设置fom...
  • gracioushe
  • gracioushe
  • 2010年09月30日 10:48
  • 12491

java中不常见的关键字:strictfp,transient

1.strictfp, 即 strict float point (精确浮点)。   strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的fl...
  • basenet855x
  • basenet855x
  • 2011年08月16日 11:09
  • 19372

byte[]数组和int之间的转换

这里简单记录下两种转换方式: 第一种: 1、int与byte[]之间的转换(类似的byte short,long型) /** * 将int数值转换为占四个字节的byte数组,本...
  • Sunnyfans
  • Sunnyfans
  • 2012年12月12日 15:40
  • 133917

java中的byte运算

java中会用到byte来表示协议中的各个值,注释的比较详细
  • shjniu3000
  • shjniu3000
  • 2016年07月27日 15:01
  • 6242

Java byte与char的区别

一、 byte是字节数据类型、有符号型的、占1个字节、大小范围为-128——127 char是字符数据类型、无符号型的、占2个字节(unicode码)、大小范围为0-65535...
  • xu758142858
  • xu758142858
  • 2015年07月24日 11:05
  • 2888

字符char、字节byte傻傻分不清(2015年10月13日)

字符char 字节byte 一直都有个概念性的错误: 说char能存放两个字节,中文汉字一般占两个字节,一个字母占一个字节,所以有 char a = 'bc'; 但事实这样会报错。 因为:因为Java...
  • a281246240
  • a281246240
  • 2015年10月13日 16:04
  • 1053

Unicode,以及byte和char的关系

#基础# Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode...
  • dddaac
  • dddaac
  • 2016年10月26日 08:55
  • 1084
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:char与byte的区别
举报原因:
原因补充:

(最多只允许输入30个字)