是这样的,对于两个二维数组,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",是否是底层实现的方式不一样而引起的,有知道内情的人指点一下。谢谢了先
char[][] ch={{'a','c'},{'h','e','l','l'}} ,对于输出结果 System.out.println(number[1])
System.out.println(ch[1]); 为什么前面一个是地址,而后面一个是 "ac",是否是底层实现的方式不一样而引起的,有知道内情的人指点一下。谢谢了先
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);
试了一下果然可以直接输出!