public class Test {     public static void main(String[] args) { 
         
        char[] c = {'a','b','c'}; 
        System.out.println(c);     } }
  以上程序定义了一个char型的数组并赋值,但是为什么输出c的结果是abc?即为什么能达到遍历的效果?

解决方案 »

  1.   

    去看这个方法System.out.println的文档
      

  2.   

    但是如果换成这样
    int[] i = {1,2,3};
    System.out.println(i);
    输出的可不是123,也就是说只有char型的特殊...
      

  3.   

    因为println有一个参数为char[]的重载版本,其他数组使用的是参数为Object的版本.
      

  4.   

    对  我知道  我查了API的文档了  呵呵
      

  5.   

    LZ看了这会明白的:
    1----------------------------------------------------------------------------------------------out
    public static final PrintStream out“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。 
    对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:      System.out.println(data)
     请参阅 PrintStream 类中的 println 方法。 
    另请参见:
    PrintStream.println(), PrintStream.println(boolean), PrintStream.println(char), PrintStream.println(char[]), PrintStream.println(double), PrintStream.println(float), PrintStream.println(int), PrintStream.println(long), PrintStream.println(java.lang.Object), PrintStream.println(java.lang.String)2---------------------------------------------------------------------------------------------
    你点这个进去PrintStream.println(char[]),看到
    public void println(char[] x)打印字符数组,然后终止该行。此方法的行为就像先调用 print(char[]) 然后调用 println() 一样。 参数:
    x - 要打印的字符数组。println()可以直接打印字符数组