A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐志海 中级黑马   /  2013-11-23 18:50  /  2052 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 唐志海 于 2013-11-24 00:50 编辑

大家帮我看下为什么输出的字节数组是那样的
  1. public class StringDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String sss="sfjdsljhhssl";
  6.                 byte[] byt=sss.getBytes();
  7.                 for(int x=0;x<byt.length;x++)
  8.                 {
  9.                         System.out.println(byt[x]);
  10.                 }
  11.         }
  12. }
复制代码

QQ图片20131123184939.jpg (28.87 KB, 下载次数: 9)

QQ图片20131123184939.jpg

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

6 个回复

倒序浏览
输出的是数字  无疑!{:soso_e141:}
回复 使用道具 举报
因为字节数组里输出的每个元素就是这个字符的ASCII码.
回复 使用道具 举报
调用它的toString()方法
回复 使用道具 举报
你把字符数组抓换为字节数组,然后打印出来,当然是字节的形式的啊,内存中的字节都是以asii形式存在的,估计你是想打印为字母,那么将输出语句改为
  1. System.out.printf((char)byt[x]);
复制代码
进行强制转换类型为字符类型输出
回复 使用道具 举报
强制类型转换(char)97=a ;
说明a的ASCCI码是97

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 鼓励新同学

查看全部评分

回复 使用道具 举报
FFF 金牌黑马 2013-11-24 00:29:16
7#
如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马