方法功能顺序问题

LLLLLLLLLL888 2017-04-25 03:07:34
自学的人伤不起,纯菜鸟
代码太长 我就用下面的方式表述我的问题吧

public static void main(String []args)第一个是主方法
{

}

第二个方法是选择排序

第三个方法是冒泡排序

第四个方法是用for循环打印以上两个数组的功能 以上用的全部都是void没返回值的

我在选择排序和冒泡排序那个方法里先调用第四个功能,然后在主方法里调用选择排序和冒泡排序的话最后输出是和预想的一样的,数组里的值是从小到大。
第一个问题是,我在主方法里直接调用第四个功能,如果把调用的语句放在主方法的第一行里输出的结果是正常的顺序,要是放再调用其他两个方法的下面那输出的结果也是按顺序的。
第二个问题是,我把选择排序和冒泡排序里调用第四个功能的语句删了,然后在主方法里调用第四个功能,结果还是放在第一行是正常数组的排序结果,放在调用其他两个方法的下面是按顺序输出结果。我的理解是既然选择排序和冒泡排序里已经不调用第四个功能了应该不影响才对。
产生这样的结果是和 方法从头到尾的 书写顺序有关 还是和堆内存引用地址有关或者因为是void的原因不调用也可以返回呢



...全文
150 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
MikeDDT009 2017-04-25
  • 打赏
  • 举报
回复
首先代码的运行顺序从上到下逐行运行。 接着如果你的数组是从一开始就最先定下来,并且一直在后面只使用这个数组的话,那么在第一个方法使用这个数组的时候就按照你的功能执行了,比如排序。那么数组元素位置就已经改变了,然后你第二个方法再使用这个数组的话,就使用的是排序后的数组这样。所以这情况很正常
_jant 2017-04-25
  • 打赏
  • 举报
回复
跟顺序无关。跟敲的代码有关。即使是你的方法是void。你传递的数据进去排序了,返不返回,这个数组也都会被排序。你第4个功能是遍历,得到的数组顺序,看你是在排序后调用的,还是在排序前调用的。 还有修改代码,保存后运行。

62,628

社区成员

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

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