java方法中的参数传递注意事项和随机数的使用技巧![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e7b26c50c1780112b97f5fd897fe2e50.png)
这里的number在test(int number)调用之前和之后的值是不变的。
原理: jvm先将main加载到栈内存中并将int number=100 存起,运行到test(int number)中的时候 将test(int number)存到栈内存中并将 int numer =200 存起。到执行完test(int number)时 该方法在栈内存中释放,test(int number)内的数据一并删除。所以number的值在test(int number)执行前后的值都是100。
java方法中只有值传递没有引用传递。要么是具体的值,要么是地址的值。
如:
1)void test01(int num){} 其中num是基本数据类型 传入的就是调用时传入的值, test(int num)执行时在栈内存中定义了int num=我们传入的值,方法用完数据就会自动清除内存释放。 所以在test01中操作数据不影响外面的数据。
2)void test02(int[] arr){}其中arr是数组(引用数据类型) 传入的就是调用时传入的数组的内存地址, test02(int[] arr) 执行时在栈内存中定义了int num=我们传入的值 。所以在test02中操作数据会影响到外面。
随机数的使用技巧
int j = new Random().nextInt(end-start)+start;
随机数的范围是 start(包括) 到 end (不包括)