1. 数组
2. 定义:程序中相同类型的数据放到一起,用到的就是数组
3. 表示:Int a[] 或者int[]a
ii. 2. 数组概述
i. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
b) 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
2. 数组的声明
iii. 声明数组时不能指定其长度,例如:int a[5]; //非法
iv. 数组初始化
v. 动态初始化:数组定义与为数组元素分配空间和赋值的操作分开进行
vi. 如:
public class Test {
a) public static void main(String args[]) {
i. int a[];
ii. a = new int[3];
iii. a[0] = 3; a[1] = 9; a[2] = 8;
b) }
vii. }
viii. 静态初始化:在定义数组的同时就为数组元素分配空间并赋值
1. 如:public class Test {
2. publicstatic void main(String args[]) {
i. inta[] = new int[]{ 3, 9, 8 };
3. }
ix. }
a) 数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化
x. 常见错误
xi. Java.lang ArrayIndexOfBoundsException(数组下标越界异常)
a) Int [] score2;
b) Scoer2 = {1,2,3,4};这样分开写会出现编译出错,创建数组并赋值的方式必须在一条语句中完成
xii. 数组中常用到的
xiii. 升序排序:Arrays.sort(数组名);
xiv. 数组输出:Arrays.tostring(数组名);
xv. 扩展数组:int[] b= Arrays.copy of(a,a.length),a指前一个数组,a.length指数组的长度
xvi. 数组拷贝: 如
a) Int[]a = {1,2,3,4,5};
xvii. int [] b = new int[a.length];
a) System.arraycopy(a, 0, b, 0, a.length);
xviii. 0就是下标从a数组开始,b,0就是下标从b数组开始
xix. Alt+shift+j:添加注释文档
xx. Alt+?:补全
xxi. Ctrl+shift+/:加多行注释
xxii. Ctrl+shift+\:取消注释
xxiii. Ctrl+shift+f:格式化
xxiv. Ctrl+鼠标左键
xxv. 数组常用排序方法:冒泡法(2个for循环,1个if),二分法
xxvi. 引用类型与整形的区别
xxvii. 引用类型指得是指向对象本身首地址
xxviii. 整数类型指自身
xxix. 二维数组
xxx. 定义:int[] [] str = new int [2][1],可以一次性定义长度,但是初始化只能是高维到低维。
a) intt1[][] = new int[][4]; //非法
b) 静态初始化:
1. intintA[][] = {{1,2},{2,3},{3,4,5}};
2. intintB[3][2] = {{1,2},{2,3},{4,5}};//非法
c) 动态初始化:
d) inta[][] = new int[3][5];
1. intb[][] = new int[3][]
2. b[0]= new int[2];
3. b[1]= new int[3];
4. b[2]= new int[5];