是不是byte中只能存放数据?

解决方案 »

  1.   

    byte只能存放数字.byte就是字节,一个字节是8个2进制数.因为2进制最高为是符号为所以byte的范围是【-128,127 】
      

  2.   

    byte只能存放数字.byte就是字节,一个字节是8个2进制数.因为2进制最高为是符号所以byte的范围是【-128,127 】
      

  3.   

    可以的,为ASCII码值。
    但是单引号里是中文字符就不行了,猜测是因为中文无法用ASCII表示的原因。
      

  4.   

    错。Java里的char是两个字节的,跟C++里的不一样
      

  5.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~
      

  6.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~

    我意思是,byte a = 'A';也是不行的
      

  7.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~

    我意思是,byte a = 'A';也是不行的
            byte a = 'A';
            System.out.println(a);
    运行结果:65
      

  8.   

    应该是这样,65/A在byte表示范围之内,所以...
    而在C++中char是一个字节,在java中只是对其进行扩充了一下,变成了两个字节。
      

  9.   

    应该是这样,65/A在byte表示范围之内,所以...
    而在C++中char是一个字节,在java中只是对其进行扩充了一下,变成了两个字节。char是两个字节 赋给byte型变量的时候 高位被截断? 但因为值比较小 所以无影响?
      

  10.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~

    我意思是,byte a = 'A';也是不行的
            byte a = 'A';
            System.out.println(a);
    运行结果:65
    三观毁了,居然可以
      

  11.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~

    我意思是,byte a = 'A';也是不行的
            byte a = 'A';
            System.out.println(a);
    运行结果:65
    三观毁了,居然可以
      

  12.   

    错。Java里的char是两个字节的,跟C++里的不一样
    我知道char支持中文的。
    兄台可以把LZ标题里的A替换成中文试试嘛~

    我意思是,byte a = 'A';也是不行的
            byte a = 'A';
            System.out.println(a);
    运行结果:65
    三观毁了,居然可以

    其实也很简单  java中字符'A'是可以自动转换成int数字的.而且'A'转换成数字的值在-128和127之间所有是正确的.如果转换出来的数字在-128和127之外就错了..   这个就能解释为什么是这样了.三观完好
      

  13.   

    正解,这种写法没错,byte,short,int,long都可以这样赋值,字符都可转成ASCII码,都有一个数字,只要转成的ASCII码在该类型的承受范围内都可以.
      

  14.   

    java中的char类型其实就是int的一种类型。只要范围足够,精度不缺失就可以向上转型。
      

  15.   

    byte是存放的字节,但范围是-127~128之间,‘A’的ascii码是65,java在编译过程过运用隐式类型转换,所有这样写是没错的
      

  16.   

    对的,因为byte范围在-128~127内,可以正确转码,结果为65.但一般不那么干,都用char,显得自然。楼主这种问题可以自己亲自试一试就可以了,简单编译就可以知道答案。
      

  17.   

    byte a=(byte)"A" 可以这样写
      

  18.   

    'A'表示的是一个字符,在表达式中如有多个类型的数据,数据是会放生自动转换,字符类型会自动转换为int类型,所以用byte接收可能会损失精度,所以应该用比byte类型大的数据类型接收,如char int 等
      

  19.   

    可以的,只是输出的时候会出问题,我记得一般用byte的时候是在学习IO的时候。
    看图。
      

  20.   

    byte 是整形的其中之一,赋值 只能是数字,整型 byte short int long 共四种,所以 你用单引号引起来 java 编译器是不会报错的 也是允许的不过 你要赋值的是数字 而不是其他。建议去我的博客网站www.taomaipin.com去看看java的四类八种基础数据类型
      

  21.   

    单引号的字母可以,只要其ascii值不超127。byte允许范围是-128-127.
      

  22.   

    回28L,对带双引号的,也就是字符串,你可以查看byte.parseByte源代码,发现会调用Integer.parseInt转换该字符串,如果是在范围-128-127内,返回值,否则抛异常。