数组基本内容
1.定义
相同类型数据的有序集合,按照一定的先后次序排列组合而成
2.声明创建
-
格式一:数据类型 [ ] 数组名
-
格式二:数据类型 数组名[ ]
3.数组的初始化
初始化:在内存中为数组容器开辟空间,并将数据存入容器中的过程
1.静态初始化
-
完整格式:数据类型[] 数组名 = new 数据类型[] {元素1, 元素2,元素3...};
-
简化格式:数据类型[] 数组名 = {元素1,元素2,元素3...};
拓展
public class array {
public static void main(String[] args) {
//double[] array1 = new double[]{1.93,1.75,1.73,1.81};
double[] array2 = {1.93,1.75,1.73,1.81};
System.out.println(array2);
}
}结果:[D@7ef20235 ------地址值(习惯上整体叫做地址值)
-
[ : 表示当前是一个数组
-
D :表示当前数组里面的元素都是double类型
-
@ :表示一个间隔符 (固定格式)
-
7ef20235 :数组真正的地址值(十六进制)
2.动态初始化
格式:数据类型[] 数组名 = new 数据类型[数组长度];
4.数组索引
从0开始,逐个+1增长,连续不间断
[0,length-1]
5.数组遍历
将数组中所有的元素取出来,可以用来打印、求和、判断...
6.数组常见问题
-
索引越界异常(下标越界)
-
所有的引用类型变量,都可以赋值为一个null值,代表数组里什么都没有
-
数组的索引编号都是从0开始的,一直到“数组的长度—1”为止
-
定义数组时,数组长度要用常量或常量表达式,不能用变量
-
数组下标必须是整形,不能是浮点型
7.数组使用
-
增强for循环
-
数组做方法入参
-
数组作返回值
Random函数
1、random.random() 随机生成(0,1)之间的浮点数
2、random.randint(上限,下限) 随机生成在范围之内的整数,两个参数分别表示上限和下限
3、random.randrange( , , ) 在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限
4、random.choice(list) 从序列中随机抽选一个数
5、random.shuffle(list) 随机排序 注:list元素为数值型
random.seed(0)设置初始化随机数种子
public static void main(String[] args) {
int []arr = {1,2,3,4,5};
//遍历数组,打乱数组中元素顺序
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
int randomIndex = random.nextInt(arr.length);
//拿随机索引的数组元素跟i指向的元素进行交换
int temp = arr[i];
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
//输出打乱顺序的数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
} -
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异