java数组的问题(二维)。

borningKill 2010-08-07 04:50:21
是这样的,对于两个二维数组,int[][] number={{22,11},{33,44}};
char[][] ch={{'a','c'},{'h','e','l','l'}} ,对于输出结果 System.out.println(number[1])
System.out.println(ch[1]); 为什么前面一个是地址,而后面一个是 "ac",是否是底层实现的方式不一样而引起的,有知道内情的人指点一下。谢谢了先
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
borningKill 2010-08-08
  • 打赏
  • 举报
回复
谢谢一楼,学习了
goldyellow34 2010-08-08
  • 打赏
  • 举报
回复
不理解为什么JAVA这么设置
goers 2010-08-08
  • 打赏
  • 举报
回复
学习了...
greenteanet 2010-08-07
  • 打赏
  • 举报
回复
二楼正解,可参考函数底层实现了解
茫茫大海 2010-08-07
  • 打赏
  • 举报
回复
楼上的说的对,System.out.println()可以打印一个字符数组,所以第二个打印出内容,但是没有打印一个整形数组的方法,所以就打印不出整形数组。
whb3118 2010-08-07
  • 打赏
  • 举报
回复
原文地址:http://greentiro.javaeye.com/blog/311167

System.out.println()

关于System.out.println()函数的应用问题:
1. 这个方法究竟可以直接输出什么类型的数据?
2. 不可以输出哪些数据类型?
3. 与print方法有什么不同?

基本数据类型()都可以直接输出;
对于数组元素的打印,可以采用循环方法将其输出,
为什么不直接用System.out.println()打印出来呢?

自己试试,结果 int[] bb = {1,2,3,4,5};
  System.out.println (bb);
  在一个main方法中实现这两条语句后得到的结果是:
  [I@1fb8ee3

问题出在哪里呢?

我看了API的帮助文档中关于System类的介绍,其中有:
  System
  static PrintStream out
  “标准”输出流。
  以下是关于System.out的详细介绍:
  out
  public static final PrintStream out“标准”输出流。此流已打开并准备接受输出数据。提示此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
  对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:
  System.out.println(data)
  请参阅 PrintStream 类中的 println 方法。
  于是又找到文档中关于PrintStream 的介绍,其中有这么一句
  void println(Object x)
  打印 Object,然后终止该行。
  详细介绍是:
  println
  public void println(Object x)打印 Object,然后终止该行。此方法的行为就像先调用 print(Object) 然后调用 println() 一样。
  参数:
  x - 要打印的 Object。
  看来System.out.println()是可以直接打印对象类型的,但是自己在打印int[] bb时得到的却不是数组的元素呢........
  记得老师还说过一个toString()方法,可以返回对象的字符串表示形式,在Object类的介绍中又看到这样一条:
  toString
  public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂。建议所有子类都重写此方法。
  Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
  getClass().getName() + '@' + Integer.toHexString(hashCode())
  返回:
  该对象的字符串表示形式。
  难道将一个对象作为System.out.println()的参数时输出
  的结果就是跟这个方法有关?
  另外在类 PrintStream中还看到这样一个方法:
  void println(char[] x)
  打印字符数组,然后终止该行。
  System.out.println()可以直接打印字符数组?
  char[] charArray={'a','b','c','d','e'};
  System.out.println (charArray);
  试了一下果然可以直接输出!

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧