很多人刚开始学习(包含I,我已经学会了一年多java该)肯会char和byte怀疑这两个数据类型,相互混淆。今天,大量的信息专门搜索,至byte和char两个数据类型进行了总结和比较。第一批成果与大家分享:

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

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

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、byte、int对于英文字符。能够相互转化。如:

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

转载于:https://www.cnblogs.com/zfyouxi/p/4568430.html

char与byte差异相关推荐

  1. char和byte的区别

    cannot convert parameter 1 from 'unsigned char [1024]' to 'const char *' byte 是字节数据类型 ,是有符号型的,可以表示-1 ...

  2. C# 中的char 和 byte

    在C#中,char代表一个Unicode的字符,占用的内存不是一个byte.而byte还是一个字节. 那么在char和byte之间copy操作时,可能结果不是我们想要的. 示例: static voi ...

  3. java的char 转byte

    java中的char类型即可以存储英文字母也可以存储汉字,汉字在java中使用Unicode编码占两个字节.char转byte数组的方法如下: public static byte[] charToB ...

  4. char与byte的区别

    http://blog.csdn.net/luoweifu/article/details/7770588 byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128-127 .cha ...

  5. Java最佳实践– Char到Byte和Byte到Char的转换

    在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论String性能调优. 特别是,我们将重点介绍使用默认编码时如何有效地处理字符到字节和字节到字符的转换. 本文总结了两种提 ...

  6. 基本数据类型char、byte、short、integer、long、double、float范围

    文章目录 基本数据类型范围 存在i+1 基本数据类型范围 char:占2个字节,采用Unicode编码[Unicode编码的前128字节编码与ASCII兼容],字符的存储范围在\u0000~\uFFF ...

  7. 利用RedisTemplate报错redis Invalid UTF-32 character 0x6a607661 (above 0x0010ffff) at char #8, byte #35)

    1)可能是redis中存在缓存就会产生相应的冲突,导致请求报错. 解决方法:清除redis中的缓存就可以了 2)在放入里面去加入时间的单位,可能解决问题.

  8. JDK9为何要将String的底层实现由char[]改成了byte[]?

    欢迎关注方志朋的博客,回复"666"获面试宝典 如果你不是 Java8 的钉子户,你应该早就发现了:String 类的源码已经由 char[] 优化为了 byte[] 来存储字符串 ...

  9. java short to byte_java笔记 Java中byte数组与int,long,short,char间的转换

    package com.util; public class ByteUtil { /** * 转换short为byte * * @param b * @param s * 需要转换的short * ...

  10. c# byte char string转换

    c# byte char string转换 在在做一些互操作的时候往往需要一些类型的相互转换,比如用c#访问 win32api的时候往往需要向api中传入DWORD参数 即:uint参数这些数值所表示 ...

最新文章

  1. Notes客户端重新配置批处理
  2. 交换两个数不引入第三个变量
  3. Attribute class invalid for tag present according to TLD
  4. 模型 标签数据 神经网络_大型神经网络和小数据的模型选择
  5. threadlocal_了解ThreadLocal背后的概念
  6. 像孩童一样欣喜的看着自己的成长
  7. STM32中的位带(bit-band)操作
  8. 元组的创建、元组的特性(索引、切片、重复、连接、成员操作符、迭代)
  9. Rayeager PX2开发板 评测系列之初见
  10. LeetCode 98 验证二叉搜索树
  11. java循环while之等差数列均值_java基础_while 循环语句的定义及用法
  12. c语言连接mysql_0基础掌握Django框架(14)MySQL相关软件
  13. exe反编译为py文件
  14. 提醒:本周欢乐时光和美丽杀变种病毒发作(转)
  15. 华为语音解锁设置_华为手机语音唤醒解锁 华为语音助手解锁屏幕
  16. 分享两款雪花特效代码
  17. y2002音乐源码php,解析MP3等媒体文件的超强php类-getid3
  18. python 实现日期计算器
  19. 扫雷小游戏(可选择简单、一般、困难三种模式、可展开,可标记)
  20. IE6 PNG 图片问题分析

热门文章

  1. 首个任务型对话系统中生成模块资源库Awesome-TOD-NLG-Survey开源!
  2. COLING 2020 | 字符感知预训练模型CharBERT
  3. 【文末福利】聊天机器人的几种主要架构实现
  4. 【干货】12场比赛实战经验分享给你!
  5. Pandas读取数据内存优化
  6. 10分钟就能搭建远程开发环境?你早点怎么不出现(#`n´)!
  7. 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm...
  8. 从例图中学习思维导图的基本概念
  9. 盛大“传奇”的网游启示录
  10. 敏捷无敌(11)之兵不厌诈