一维数组:
1:/*数组:1. 数组是一种引用类型2. 数组是一种简单的数据结构,线性的机构3. 数组是一个容器,可以用来存储其他元素,4. 数组也是可以存储任意数据类型的元素5. 数组分为:一维数组,二维数组,三维数组,多维数组6. 数组中的存储的元素类型 是统一的7. 数组的长度是不可变的,数组一旦创建长度就是不可变的,固定的声明数组语法:<1>. 数组元素的类型[] 变量名称<2>. 数组元素的类型 变量名称[]*/public class ArrayTest01{public static void main(String[] args){// 声明一个一维数组,用来存储int类型int[] i = {1,2,3,4,5}; // 这种方式称之为“静态初始化的一维数组”// boolean 类型的数组boolean[] j = {true,false,true,false};// String类型数组String[] strs = {"中山学院","农业学院","我就是吃西葫芦"};// byte数组byte[] k = {1,2,3};// char数组char[] m = {'a','b','c'};// Object数组Object o1 = new Object();Object o2 = new Object();Object o3 = new Object();Object[] bojs = {o1,o2,o3};}}2:/*第一种:使用 new 操作符来创建数组格式为:new 数组元素的数据类型 [数组元素的个数]*/public class ArrayTest02{public static void main(String[] args){// 声明一个int类型的数组,长度为 5// 数组中的元素,必须为int类型int[] data = new int[5];// 给数组中的元素赋值,如果不赋值默认为 该类型的默认值 如果是int类型就为 0;// 赋值: 变量名[下标] 下标从0开始data[0] = 16;data[1] = 17;data[2] = 10;data[3] = 90;data[4] = 50;// 输出数组中的元素,变量名[下标]System.out.println(data[0]);System.out.println(data[1]);System.out.println(data[2]);System.out.println(data[3]);System.out.println(data[4]);System.out.println("--------------------------------------");System.out.println("数组的长度为:"+data.length);for(int i = 0; i < data.length; i ++){System.out.println("下标为:"+ i +" 的值:" + data[i]); }// 输出数组中的指定的值System.out.println("data[2] = " + data[2]);// 报错:ArrayIndexOutOfBoundsException// 数组的下标越界System.out.println("data[6] = " + data[6]);// 不能赋值成功,数组中的类型必须是 一种类型data[1] = "aaaa";}}/*修正 空指针异常*/3:public class ArrayTest04{public static void main(String[] args){// 声明引用类型的数组Student[] student = new Student[2];// 方式一:// 初始化数组元素为 Student对象 student[0] = new Student();student[0].id = 100;student[0].name = "ming";student[1] = new Student();student[1].id = 200;student[1].name = "keke"; System.out.println("id[0] = "+student[0].id + " name[0] = " + student[0].name);System.out.println("id[1] = "+student[1].id + " name[1] = " + student[1].name);// 方式二:// 可以采用另外的方式来赋值 Student arry = new Student();arry.id = 1111;arry.name = "ming";student[0] = arry;Student keke = new Student();keke.id = 2222;keke.name = "Keke";student[1] = keke; System.out.println("----------------------------------------------");for(int i = 0; i < student.length; i ++){System.out.println("id = " + student[i].id + " name = " + student[i].name);}}}class Student{int id;String name;}
二维数组:
1:/*二维数组特点:1. 二维数组 是一个特殊的一维数组2. 特殊的一维数组,特殊在这个一维数组中每一个元素都是“一维数组”*/public class ArrayTest01{public static void main(String[] args){// 声明一个二维数组int[][] m = new int[2][3];// 对二维数组赋值m[0][0] = 1;m[0][1] = 2;m[0][2] = 3;m[1][0] = 4;m[1][1] = 5;m[1][2] = 6;System.out.println(m[0].length);// 输出二维码// 纵向循环在外for(int i = 0; i < m.length; i++){// 对一维数组m[i]进行遍历for(int j = 0; j < m[i].length; j++){System.out.println(m[i][j]); }}/*当 i = 0, i < 2 满足条件,j = 0, j < 3 满足条件 输出:m[0][0] 最终输出:1; j++j = 1, j < 3 满足条件 输出:m[0][1] 最终输出:2; j++j = 2, j < 3 满足条件 输出:m[0][2] 最终输出:3; j++j = 3, j < 3 不满足条件,跳出循环 break; i++当 i = 1, i < 2 满足条件,j = 0, j < 3 满足条件 输出:m[1][0] 最终输出:4; j++j = 1, j < 3 满足条件 输出:m[1][1] 最终输出:5; j++j = 2, j < 3 满足条件 输出:m[1][2] 最终输出:6; j++ j = 3, j < 3 不满足条件,跳出循环 break; i++当 i = 2, i < 2 不满足条件,跳出外层循环 break; 结束Over !*/}}2:
/*多维数组: 当数组元素的类型是数组时就成了多维数*/public class ArrayTest03{public static void main(String[] args){int[][] a = new int[][]{{1,2,3},{5,6,7},{7,8,9}};m(a); }// 遍历public static void m(int[][] a){for(int i = 0; i < a.length; i++){for(int j = 0; j < a[i].length; j++){System.out.println(a[i][j]);}System.out.print("\n");} }}
/*冒泡排序算法:int 类型的数组 : 3 1 6 2 5*/public class BubbleSort{public static void main(String[] args){int[] a = {3,1,6,2,5};//System.out.println("数组的长度:"+a.length); m(a);/*// 开始排序for(int i = a.length-1; i > 0; i--){for(int j = 0; j < i; j++){if(a[j] > a[j+1]){// 交换位置int temp;temp = a[j];a[j] = a[j+1];a[j+1] = temp;} }}// 遍历for(int i = 0; i < a.length; i++){System.out.println(a[i]); }*/}public static void m(int[] a){for(int i = a.length-1; i > 0; i--){for(int j = 0; j < i; j++){if(a[j] > a[j+1]){// 交换位置int temp;temp = a[j];a[j] = a[j+1];a[j+1] = temp;} }}// 遍历for(int i = 0; i < a.length; i++){System.out.println(a[i]); }}}