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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈虹旭 于 2012-7-26 19:45 编辑
  1. class ArrayTest2
  2. {
  3. public static void main(String[] args)
  4. {
  5. int[] arr = new int[]{5,1,6,4,2,8,9};
  6. printArray(arr); <FONT color=red>//毕老师说void类型的语句是不可以用于打印的,我自己也试过了确实不行,但是谁能告诉我为什么不行?
  7. </FONT>selectSort(arr);
  8. printArray(arr);

  9. }
  10. public static void selectSort(int[] arr)
  11. {
  12. for (int x=0; x<arr.length-1; x++)
  13. {
  14. for (int y=x+1; y<arr.length; y++)
  15. {
  16. if(arr[x]>arr[y])
  17. {
  18. int temp = arr[x]; <FONT color=red>//这里,为什么可以用int类型的变量来接收数组里的元素?如果我想用一个变量来接收整个数组的话,该定义一个什么类型的变量呢?
  19. </FONT>arr[x] = arr[y];
  20. arr[y] = temp;
  21. }
  22. }
  23. }
  24. }

  25. public static void printArray(int[] arr)
  26. {
  27. System.out.print("[");
  28. for (int x=0; x<arr.length; x++)
  29. {
  30. if(x!=arr.length-1)
  31. System.out.print(arr[x]+",");
  32. else
  33. System.out.println(arr[x]+"]");
  34. }
  35. }
复制代码

void类型的语句为什么不可以直接用来打印?
        为什么可以用int类型的变量来接收数组里的元素?如果我想用一个变量来接收整个数组的话,该定义一个什么类型的变量呢?
         

9 个回复

正序浏览
王渠 中级黑马 2012-7-26 19:49:16
9#
陈虹旭 发表于 2012-7-26 19:41
哦 对哈  我怎么就没想到呢 !

{:3_57:}一起勉励吧!
回复 使用道具 举报
谢谢各位大虾的帮助了 可以关闭了!
回复 使用道具 举报
王楠 发表于 2012-7-26 19:36
void是空的意思,就是没有返回值,所以空的是打印不出的。
int是因为你定义的数组是int类型的,你可以定义 ...

嗯  看来我还是理解的不够深刻啊
回复 使用道具 举报
王渠 发表于 2012-7-26 19:28
我来给你解答为什么void类型的东西不能直接拿来输出吧,当你用了一个方法后。如果返回值是void
其实有一句 ...

哦 对哈  我怎么就没想到呢 !
回复 使用道具 举报
陶锋 发表于 2012-7-26 19:24
你是想问为什么不能直接打印void类型的方法吧?void类型的方法没有返回值,那打印什么呢?
因为你的数组里 ...

理解  学习了!
回复 使用道具 举报
void是空的意思,就是没有返回值,所以空的是打印不出的。
int是因为你定义的数组是int类型的,你可以定义变量去接数组里面的任意一个元素,可以通过for循环遍历每个元素。
定义的是什么类型的数组。就要用什么类型的变量去接里面的元素

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我来给你解答为什么void类型的东西不能直接拿来输出吧,当你用了一个方法后。如果返回值是void
其实有一句隐式的语句哦
是return;
相当于返回了一个神马都木有。
什么都没有自然也不能拿来输出了吧。
回复 使用道具 举报
等了半天了,为什么还是没有人来回答这个问题?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马