黑马程序员技术交流社区

标题: 你们多长时间复习一次原来的内容?? [打印本页]

作者: 欧德林    时间: 2012-4-9 10:31
标题: 你们多长时间复习一次原来的内容??


今天碰到一个问题呢 。我要打印一数组组 char [] arr ={"a","c","d","e"} //要这样的结果 [a,c,d,e]
我就直接来 System.out.println(arr);发现结果不对,她输出了一个地址。


可能是因为我是零基础吧,对于很多知识都很陌生。要多少时间复习一次哦?
学了半个月了,一半还没看完。学了后面忘记前面,这怎么搞?
作者: 欧阳才志    时间: 2012-4-9 10:39
本帖最后由 欧阳才志 于 2012-4-9 10:51 编辑

记住:打印数组要用for语句先遍历数组,然后一个个按照脚标打印
可以这样写一个方法
public static void printArr(char [] ch)
{
  for(int i=0;i<ch.length.i++)
     {
         System.out.print(ch);
     }
}
如果是二维数组的话,还要双层嵌套。
你现在直接打印数组名称,肯定打印的是地址啊,因为这个数组在栈空间里存放的就只有一个地址,只有要用的时候才到堆里一个个取出来。
作者: 黑马老兵    时间: 2012-4-9 10:41
慢慢来呗,我是又不会的了先记着。或者上论坛问下。回去复习的话等问题积累多了,再找一天时间回头好好的复习。
作者: 邓海涛    时间: 2012-4-9 10:50
你直接用System.out.println(arr) ;肯定就是一个地址啊,因为你打印的是arr在堆内存中的首地址,你必须用for循环来遍历打印,楼上的哥们说的就是正解,加油吧,我也是零基础啊,基础差,才学了几个月,不过只要肯努力我相信应该没问题的,相信直接吧
作者: newlaw2013    时间: 2012-4-9 11:19
我也是零基础开始学的,也曾经有过和楼主一样的疑惑,这里给出自己的一点小小经验:
我们想看一下程序的输出结果,一般都会用到System.out.println()这个语句,首先要明白的是,并不是任何东西丢到println()的括号中,都能顺利得到你想象的结果。这个在初学时尤其如此。
对于不同的对象,需要用不同的方式将其“打印”出来,如上面学友说的打印一个数组元素用遍历的方式。
另外你现在应该有toString()这个方法的概念了,Object 是java所有类的超类,打印输出时,一般需要用到这个。例如我们定义一个Student类,如何定义一个类呢,这个是有规则的,按照这个规则一步一步写即可。首先我们要写一个类,先写成员属性,然后写成员方法,然后还有构造方法等。
        为了得到我们想要的输出格式,还要写toString方法覆盖它默认的那个toString()。这些都要完成才算定义一个类。当然你最好多看视频,练习用自己的话复述视频中的内容、多敲代码,可以加深你对java的理解。希望这些话能帮到你...
作者: 岳民喜    时间: 2012-4-9 14:27
努力,一起加油!
作者: 孙利川    时间: 2012-4-9 14:39
char[] arr = {'a','b','c','d','e'};
System.out.println(arr);
//对于char类型的数组,它打印的不是地址吧,这里打印的是abcde.
作者: 翟友伟    时间: 2012-4-9 14:40
欧阳才志 发表于 2012-4-9 10:39
记住:打印数组要用for语句先遍历数组,然后一个个按照脚标打印
可以这样写一个方法
public static void pri ...
  1. System.out.print(ch[i]);
复制代码

作者: 翟友伟    时间: 2012-4-9 14:42
直接打印 System.out.println(arr);
打出的 是   arr的数组class名+@+hashcode       内存里的地址      
要显示出   要逐个遍历
作者: pray    时间: 2014-4-26 07:23
让人翻译成36种不同外语流传国内外世界各地的好帖
作者: 1413157303    时间: 2017-1-12 23:48
晚修时多翻翻自己做的笔记,对笔记进行增删。加深理解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2