public static void main(String[] args) {
int missing;
int[] nums = new int[]{0,1,3,4,5,6,7};
int sum1=0;
int sum2=0;
for (int i = 0; i < nums.length+1; i++) {
sum1+=i;
}
for (int i = 0; i < nums.length; i++) {
sum2+=nums[i];
}
System.out.println(sum1-sum2);
}
上午上课时看到一道热榜题,作为小白的我,把代码粘过来却报错需要数组,于是花了些时间去网上看了点数组的相关知识,简单总结一下,防止日后忘记了。
为什么需要数组?当我们定义一个变量时可以使用一个变量名表示,但是如果出现很多的变量我们分别起变量名代替表示存储就比较麻烦了,为了解决这样的问题我们采用数组的形式表示存储,使用下标表示每个变量。
数组(array),是多个相同类型数据按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理。存储同一种数据类型的多个元素的容器。
1.数组的特点:顺序排列、长度一但确定不可修改
数组的分类:
1、按照维数:一维数组、二维数组。。。
2、按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
堆:heap,存放new出来的结构(对象、数组)。初始化地址值可以与局部变量相关联,当关联取消,垃圾回收机制会不定时清除。
2.数组初始化:
A:所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
B:我们有两种方式可以实现数组的初始化
a:动态初始化 只给出长度,由系统给出初始化值(指定长度)
b:静态初始化 给出初始化值,由系统决定长度(指定内容)
//动态初始化:定义一个长度为3的数组的三种方式
//数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[数组长度];
int[] arr = new int[3];
//数组存储的数据类型 数组名字[ ] = new 数组存储的数据类型[数组长度];
int arr[] = new int[3];
// 可以拆分
int[] arr;
arr = new int[3];
//静态初始化
//数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};
int[] arr = new int[]{1,2,3,4,5};
// 可以拆分
int[] arr;
arr = new int[]{1,2,3,4,5};
//静态初始化省略格式(不能拆分)
//数据类型[] 数组名 = {元素1,元素2,元素3…};
int[] arr = {1,2,3,4,5};
.数组元素的默认初始化值
数组元素是整型,默认0
数组元素是浮点型,默认0.0
char,默认0或‘\u0000’,而非‘0’
boolean,默认false
数据元素是引用数据类型时,null
3.如何获取数组的长度
length属性
int k = arr.length;
4.输出数组名
// System.out.println("arr:"+arr);
5.如何遍历数组
可通过for循环,依次通过数组的角标遍历。
6.编号,从0开始,这个自动编号称为数组索引 (index)
7.使用数组常见错误:数组越界,语法错误。