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

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

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

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

  1. char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别
  2. System.out.println(c);
  3. byte d1 = 1;
  4. byte d2 = -1;
  5. byte d3 = 127; // 如果是byte d3 = 128;会报错
  6. byte d4 = -128; // 如果是byte d4 = -129;会报错
  7. System.out.println(d1);
  8. System.out.println(d2);
  9. System.out.println(d3);
  10. System.out.println(d4);

结果为:

?
1
-1
127
-128

2、char可以表中文字符,byte不可以,如:

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

结果为:



45

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

  1. byte g = 'b';   //b对应ASCII是98
  2. char h = (char) g;
  3. char i = 85;    //U对应ASCII是85
  4. int j = 'h';    //h对应ASCII是104
  5. System.out.println(g);
  6. System.out.println(h);
  7. System.out.println(i);
  8. System.out.println(j);

结果为:
98
b
U
104

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

char与byte的区别的更多相关文章

  1. Java入门:char与byte的区别

    byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128—127 .char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ):大小范围 是0—65535 :char是 ...

  2. char和byte的区别

    char的字符数据类型,是无符号型的,占2个字节:大小范围是0-65535: byte是字节数据类型,是有符号型的,占1个字节:大小范围为-128-127: 1, char c1=3; char c= ...

  3. java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别

    在平常工作中使用到char和byte的场景不多,但是如果项目中使用到IO流操作时,则必定会涉及到这两个类型,下面让我们一起来回顾一下这两个类型吧. char和byte的对比 byte byte 字节, ...

  4. Byte,TBytes,array of Byte, array[0..9] of byte的区别

    Byte前面已经说是存放bit的单元,是电脑内存的基本单位,byte表示0-255中的256个数字 下面为Byte的用法: var B: Byte; // 表示0-255的数字 begin B := ...

  5. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  6. 面试现场:说说char 和 varchar的区别你了解多少?

    Hi,大家好!我是白日梦!本文是MySQL专题的第 26 篇. 下文还是白日梦以自导自演的方式,围绕"说说char 和 varchar的区别你了解多少?"展开本话题.看看你能抗到第 ...

  7. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...

  8. C# byte[]与char[]、string与char[]、byte[] 与 string 互转

    1. byte array -> char array Byte[] b=new byte[5]{0x01,0x02,0x03,0x04,0x05};  Char[] c=Encoding.AS ...

  9. char与byte的差别

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

随机推荐

  1. CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第八节

    原文链接 第八节:利用CUDA函数库 Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进 ...

  2. SQL Server中Table字典数据的查询SQL示例代码

    SQL Server中Table字典数据的查询SQL示例代码 前言 在数据库系统原理与设计(第3版)教科书中这样写道: 数据库包含4类数据: 1.用户数据 2.元数据 3.索引 4.应用元数据 其中, ...

  3. SQL数据库从高版本导入低版本

    1. 打开高版本数据库右键–>任务–>生成脚本–>高级–>选择脚本兼容的版本(也就是低版本)–>拉倒最下面选择架构和数据 2. 在低版本里面,先新建一个数据库,名称要和脚 ...

  4. Java,集合按自定义规则排序

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...

  5. 五、Shell 基本运算符

    Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令 ...

  6. ngin负载均衡集群(一)

    一.nginx负载均衡集群介绍: 1.反向代理与负载均衡概念简介严格地说, nginx仅仅是作为 Nginx Proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之 ...

  7. 懒人的mysql管理脚本

    最近常用到的命令,太懒不想打太多 1,mysql启动,重启,停止脚本 echo '/usr/local/mysql5/support-files/mysql.server $1'>>/us ...

  8. js字符串去掉所有空格

    字符串去掉所有空格 "abc 123 def".replace(/\s/g, "") 字符串去掉左右两端空格 " abc 123 def " ...

  9. .NET 与MVC的区别

    .NET MVC与三层架构 二者都是架构模式,并且也有一定的共存度,在实际开发中,严格区分意义不大. 基于最近涉及到这部分知识就在复习下,编程过程中,基础概念更重要,而不是技术. 1.三层架构:即UI ...

  10. BFS:HDU-1242-Rescue(带守卫的迷宫问题)(优先队列)

    解题心得: 1.读清楚题意,本题的题意是有多个'r'(起点),多个r多个bfs比较最短的时间即可,但是hdoj的数据比较水,直接一个起点就行了,迷宫里有多个守卫,如果在路途中遇到守卫会多花费一个时间点 ...