@
目录一. 生成随机数:
import java.util.Random;
Random ran = new Random();
int genericNum = ran.nextInt(101); //生成的随机数对于101取余,随机数控制在1~100之间
二. 数组
在Java中,数组本身也是一种引用数据类型,数组中更可以保存多个值。与变量的区别是,变量在内存中开辟一个空间,只能存一个值,而数组则开辟多个空间,可以存放多个值,这些值既可以是基本数据类型的值,也可以是引用数据类型的值,这些空间,我们称之为“元素”,而找到一个元素的位置的编号,称之为“下标”。
1. 定义一个数组
(1)数组的定义
数据类型[] 变量名;
这种方式在Java开发中是非常推荐的。数据类型 变量名[];
这样的声明格式,是从C/C++借鉴过来的,也是方便C/C++开发人员可以快速上手Java。
(2)数组的实例化
数组的定义,相当于对于一个变量进行了声明,但是数组和变量有所不同,变量一旦声明了之后就可以直接进行使用,而数组要进行“实例化”,所谓实例化,就是在内存中开辟数组和其每个元素的存储空间。
数组变量名 = new 数据类型[元素个数];
直接声明这个数组一共可以存储多少个值,即使还没有吧值放到数组元素中去。数组变量名 = new 数据类型[]{值1,值2,值3};
直接将值给到数组中,给多少值,数组就有多少元素。数据类型[] 变量名 = {值1,值2,值3}
这种实例化是在声明的时候实例化,他要求声明之后就进行实例化中间用等号连接。如果要让声明和实例化位于不同的行,请使用第二种实例化方法。
2. 数组中元素的表示方法
(1)使用数组元素下标
数组是多个值的集合,我们如果需要拿到数组中某一个值,就需要知道这个值保存在数组中的第几个位置,这个用来表示数据保存于数组中位置的编号,称为数组元素下标。
数组元素下标从0开始计数,即arr[0]
表示数组arr
中的第一个元素。
3. 数组的存储
我们去声明一个数组变量,计算机在内存中的栈区开辟一个存数组地址的空间,我们可以通过数组名来访问这块空间,如果我们不去初始化,则这块空间将不可用,所以如果不打算实例化,至少初始化为null
。
当我们实例化的时候,计算机在内存中的堆区开辟连续的满足需求的多块空间,然后将这多块连续空间的首地址保存于栈区的数组变量名对应的空间中去。
所以我们要使用一个数组中某个元素时,实际上是先通过数组名去访问栈区的某块空间拿到对应的堆区中连续多块空间的首地址,再根据数组元素下标偏移得到数组中这个元素在堆区中的地址,然后通过该地址得到这块内存中保存的数据。
4. 数组默认值
- 整数类型数组:元素默认值为
0
- 浮点类型数组:元素默认值为
0.0
- 引用类型数组:元素默认值为
null
- 字符类型数组:元素默认值为
' '
- 布尔类型数组:元素默认值为
false
5. 多维数组
数组的每个元素又是一个数组,例如int[][] arr = new int[3][2]
表示有三个元素,每个元素都是int[5]
类型的一个数组。
那么要使用第二个数组中的第三个元素应该这样写:arr[1][2]
6. 常见错误:数组下标越界
数组下标越界:当尝试对于一个数组中并不存在的位置进行赋值或者取值的时候,会导致的一种必然性的异常。比如int[] arr = new int[3];
当使用arr[3]
的时候就产生了数组下标越界。
如何解决:避免这样操作。
7. 数组有关方法
- 获取数组长度
arr.length
获取数组arr的长度。
三. 高级for循环
介绍一种常用于数组中的for循环:
语法:
for(int 临时变量 : 数组或者集合) {
//循环体
}
功能:他会将数组中的每一个元素都拿出来赋值给临时变量,供循环体中的代码使用,数组有多少个元素,就循环几次。
示例:输出数组中每一个元素。
int[] arr = new int[]{1,2,3,4,5};
for(int i : arr) {
System.out.println(i);
}
标签:arr,Java,随机数,int,元素,实例,数组,each,下标 From: https://www.cnblogs.com/fau152/p/17218621.html