number的值为什么要变化??
你在循环之前先给它赋值了
循环跟它又没有关系
你这不是应该把number拉倒下面来吗,赋值之后就没关系了啊
你的意思是循环里array[19]被重新赋值了,但是number却没改变是吗?int number 是方法内的局部变量而且是基础类型,值存储在栈上,当你写int number = array[19]时,这时值就已经确定了,当你修改array[19]时是修改引用类型的值,不会改变number的值。你需要了解一下java的内存分配
你在循环前设置number = arr[19],这时候arr[19]确实是0啊,下面的循环都白写的
你要把number = arr[19]放在循环之后,这时候arr[19]才会因为前面的循环修改了值
或者number也不需要定义,直接return arr[19]就好了
number初始化为0,number未进入循环
因为你定义的number就是0,下面方法的循环没有给number赋值
由于初始的时候arr[19] = 0, 把arr[19]赋值给number后, number = 0。 随后在进行后续的for循环的时候,arr[19]的值会变化,但是number的值不会,一直为0;
把 int number =arr[18]放到for循环下面,当循环操作到arr[19]的话,number的值就会变化了
把int number = arr [19]放for 循环下面,这样子循环接结束后再将arr[19]的值赋值给number就是对的了