【java基本数据类型】byte与char的区别?


这是我把1的各种数据类型打印出来的截图,你看,同样都是1,不同类型的1也是有它的区别的。

我们就当int类型的1是正常的1。然后来分析其他数据类型的1。

所以说int类型的1的存储应该是这样:

0 0000000 00000000 00000000 00000001
那byte类型的1呢?

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。

在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。

关于取值范围[-128, 127]的由来:

所以byte类型的1的存储方式是:

0 0000001
那接下来就是char类型了,我们从最开始打印出来的截图可以看出,char类型的1打出来的是个符号。

从打印出的结果可以看出,每一个10进制值会对应一个字符或一个汉字,相当于所有的符号,汉字都对应于一个十进制值。

所以说char类型的1的存储是:

00000000 00000001
然后对应的1会对应一个Unicode编码,为。

然后是short类型和long类型。

然后是浮点数类型float和double.

然后boolean类型就两个值,true||false。

import java.nio.charset.StandardCharsets;
 
public class TestString<i> {
    public static void main(String[] args) {
        //char
        for(int i=0;i<=65535;i++){
            char j= (char) i;
            System.out.println(j);
        }
        System.out.println("======================");
        //byte
        for(int i=-128;i<=127;i++){
            byte b=(byte)i;
            System.out.println(b);
        }
        byte bi= (byte) 128;
        System.out.println(bi);
 
        //byte类型的1和char类型的1和int类型的1和。。。有什么区别?
        int i=1;
        byte biti= (byte) i;
        char chari= (char) i;
        short shorti= (short) i;
        long longi=i;
        float floati=i;
        double doublei=i;
        boolean booleani=true;
        boolean booleanl=false;
 
        System.out.println("i"+i+":int--is"+i+",bit--is"+biti+",char--is"+chari
        +",short--is"+shorti+",long--is"+longi+",float--is"+floati+",double--is"+doublei+",boolean--true");
 
 
 
 
        System.out.println((char)1);
    }
 
 
 
}
有点乱,总之就是不同类型的1它的存储方式,它的显示,它的值还是有区别的,定义的时候要想好,到底定义为什么类型。突然有疑问String类型的1呢?好像也突然明白了int类型直接转成String类型返回没有什么丢失的感觉。
————————————————
版权声明:本文为CSDN博主「continuebreak」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40726316/article/details/101154889

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值