java笔记5

来源:互联网 发布:怎么看自己windows版本 编辑:程序博客网 时间:2024/06/06 01:44

 随机数的问题:

1、 随机整数

2、 随机实数

所谓随机数,就是局限在某个范围内的不定数据;

0-max内的整数:

Math类的random()方法用来产生一个[0,1)内的随机实数;

min-max之间的随机整数:

min+(int)Math.Random()*(max-min)  [min,max)范围的随机整数


static void modify(int x) {

System.out.println("start x: " + x);

x = 100;

System.out.println("after assigned x: " + x);

}

调用代码:

int key = -10;

modify(key);

System.out.println("after method called key: " + key);

在上面定义的方法modify中,参数x为形参变量,简称“形参”,它的生命周期只在方法体内有效,它只有在方法被调用时才会分配内存并使用;

当调用方法modify时,主方法中的局部变量key作为实际参数,简称“实参”,它的生命周期在整个主方法中可见。

当方法调用时,将实参key的值复制给形参x时,x得到了key的值;在方法体中进行各种运算,但这与实参就没有任何关系了。如果在方法体中对形参进行了修改,并不会对实参产生影响。所以方法调用之后,重新输出实参key的值,并没有变化。

再来看修改双精度数组的方法apply

static double[] apply(double[] dd, double multiply) {

if (dd == null) {

return dd;

}

for (int i = 0; i < dd.length; i++) {

dd[i] *= multiply;

}

return dd;

}

当参数为对象时,对于对象所在内存的操纵是通过指向它的引用来完成的,当实参值(指针,实际上是地址值)传递给形参时,是将地址值复制给了形参,此时形参和实参同时指向一份内存。所以在方法体内对形参进行修改时,相当于对实参也进行了修改;




0 0
原创粉丝点击