Random随机数
我们想产生1~100(包含1和100)的随机数该怎么办呢? 我们不需要自己去写算法,因为Java已经为我们提供好了产生随机数的类---Random:
作用:
–用于产生一个随机数
•使用步骤(和Scanner类似)
–导包
•import java.util.Random;
–创建对象
•Random r = new Random();
–获取随机数
•int number = r.nextInt(10);
•产生的数据在0到10之间,包括0,不包括10。
•括号里面的10是可以变化的,如果是100,就是0-100之间的数据
import java.util.Random;
/*
* Random:用于产生随机数
*
* 使用步骤:
* A:导包
* import java.util.Random
* B:创建对象
* Random r = new Random();
* C:获取随机数
* int number = r.nextInt(10);
* 获取的是0-10之间的随机数,包括0,不包括10
*
* 需求:如何获取到一个1-100之间的随机数呢?
*/
public class RandomDemo {
public static void main(String[] args) {
// 创建对象
Random r = new Random();
for (int x = 0; x < 10; x++) {
// 获取随机数
int number = r.nextInt(10);
// 输出随机数
System.out.println("number:" + number);
}
System.out.println("--------------------");
// 如何获取到一个1-100之间的随机数呢?
int i = r.nextInt(100) + 1;
System.out.println("i:" + i);
}
}
数组
初始化一个!Int型(可变)!数组,100个格子 没有给他赋值,它的所有格子的初始值都为0
创建数组的写法有两种一种是:数据类型 变量名 [] = new 数据类型【数组长度】
另一种是:数据类型【】变量名={1,2,3,4,5}
Int a []=new int[];当我int a[]的时候 相当于在栈里面创建一个空间,然后当我new的时候就是在堆里面创建一个空间然后指向a,相当于a就是开启这个房门的钥匙,而new出来的就相当于是只有a这把钥匙能够打开的房(空间)。
System.gc();//手动回收无效资源
1.Int a []=new int[5];
2.a[0] = 5;
3.Int b []=a;
4.b[0]=10;
5.System.out.println(a);
这个时候的a为10,其实在3的时候就相当于把a的钥匙复制了一把给了b,a和b都在栈内存空间当中,但是他们都是 同一间房子的钥匙(堆内存中的空间)都是指向的一样的房子,不管是通过a去修改还是通过b去修改都是在修改这个房子中的某一个数据,而基本数据类型只是在栈内存中去操作,所以出现以上情况a还是会为5。