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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴刚 中级黑马   /  2012-11-12 00:20  /  1338 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴刚 于 2012-11-12 11:55 编辑
  1. public class ArrayDemo {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7. //                int[] ary;
  8. //                ary = new int[]{1,2,3,4,5};
  9. //                int[] ary2 = {1, 2,3,4,5};
  10. //               
  11. //                int[] ary3 = new int[10];
  12. //                System.out.println(ary3[3]);
  13. //               
  14.                 char[] ary4 = new char[5];
  15.                 System.out.println(ary4[2]+',');
  16.                 System.out.println(ary4[2]+",");
  17.                 System.out.println(ary4[2]);
  18.         }

  19. }
复制代码
输出结果:44 口, 口
后面两个输出结果我能理解,第一个,表死凌乱了,谢谢了


评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

5 个回复

倒序浏览
  1. System.out.println((char)44);
复制代码
试试添加一句然后再次输出下。。
结果是 “,”
貌似 Java char 用的Unicode编码表
然后,你大概就知道了吧。
我只是做了下实验。
不敢确定。
如有错误,楼下指正。

再看一会,睡觉。


评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
char[] ary4 = new char[5];
      
       //在这里ary4[2]是char类型的变量,而字符','对应的值是44,
       //ary4[2]由于没有赋初值,所以默认对应的值是0,0+44=44
       System.out.println(ary4[2]+',');

       System.out.println(ary4[2]+",");

       System.out.println(ary4[2]);
回复 使用道具 举报
本帖最后由 葛旭东 于 2012-11-12 09:52 编辑

char是对照ASCII码表的,一个字符对应一个值,输出字符的ASCII码值时要将它强转(char)输出,就得到对应的字符。
回复 使用道具 举报
  char[] ary4 = new char[5];
  System.out.println(ary4[2]+',');
  System.out.println(ary4[2]+",");
  System.out.println(ary4[2]);

代码 声明 了数组,但没有初始化,在成员方法内的局部变量
在未初始化之前使用是不规范的,会产生意想不到的结果,前
面的朋友解释说是将0的ACS2码值表示来赋值,但这种赋初值
好像是成员变量才会很明确的进行操作,所以,有没有高人解
释下,谢谢!
回复 使用道具 举报
谢谢楼上几位。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马