
JavaSunMicrotytemJava语法基础---数组浙江科技学院
1 Java语法基础 –-数组 浙江科技学院

3.2数组和字符串JAVA数组是一组同类型的变量或对象的集合数组的类型可以是基本类型,或类和接口数组中每个元素的类型相同引用数组元素通过数组名[下标]数组下标(数组的索引)从0开始数组是一种特殊的对象(Object)定义类型 (声明)创建数组(分配内存空间): new释放(Java虚拟机完成)一维数组、多维数组
2 3.2 数组和字符串 ◼ 数组是一组同类型的变量或对象的集合 ◼ 数组的类型可以是基本类型,或类和接口 ◼ 数组中每个元素的类型相同 ◼ 引用数组元素通过数组名[下标] ◼ 数组下标(数组的索引)从0开始 ◼ 数组是一种特殊的对象(Object) ◼ 定义类型 (声明) ◼ 创建数组 (分配内存空间) : new ◼ 释放 (Java虚拟机完成) ◼ 一维数组、多维数组

3.2.1 一维数组JAVA一维数组的元素只有一个下标变量例: A[1], c[3]double[] d;System.out.println(d[O]);c[];variable d might not have been initializedSystem.out.println(d[O]);c;Λ1 error数组名是一个标识符数组声明后不能被访问,因未为数组元素分配内存空间3
3 3.2.1 一维数组 ◼ 一维数组的元素只有一个下标变量 ◼ 例: A[1], c[3] ◼ 一维数组的声明 ◼ 方法1: 类型 数组名[]; ◼ String args[]; int a[]; double amount[]; char c[]; ◼ 方法2: 类型[] 数组名; ◼ String[] args; int[] a; double[] amount; char[] c; ◼ 注意 ◼ 类型是数组中元素的数据类型(基本和构造类型) ◼ 数组名是一个标识符 ◼ 数组声明后不能被访问,因未为数组元素分配内存 空间 variable d might not have been initialized System.out.println(d[0]); ^ 1 error double[] d; System.out.println(d[0]);

3.2.1一维数组(续)JAVA数组的创建用new来创建数组为数组元素分配内存空间,并对数组元素进行初始化格式: 数组名 = new 类型[数组长度]例: a = new int[3];声明和创建的联用: int[]a = new int[3]默认赋初值整型>初值为0int[] i= new int[3]实型>初值为0.0float[] f = new float[3]布尔型>初值为false boolean[] b= new boolean[3];字符型一初值为\u0000(不可见) char[] c = new char[3]4
4 3.2.1 一维数组 (续) ◼ 数组的创建 ◼ 用new来创建数组 ◼ 为数组元素分配内存空间,并对数组元素进行初始化 ◼ 格式: 数组名 = new 类型[数组长度] ◼ 例: a = new int[3]; ◼ 声明和创建的联用: int[] a = new int[3]; ◼ 默认赋初值 ◼ 整型→初值为0 int[] i = new int[3]; ◼ 实型→初值为0.0 float[] f = new float[3]; ◼ 布尔型→初值为false boolean[] b = new boolean[3]; ◼ 字符型→初值为\u0000(不可见) char[] c = new char[3];

3.2.1一维数组 (续)TJAVAC:|>java Testclass Test (0public static void main(String args[)) 0int[] i = new int[3];0float[] f = new float[3];boolean[] b = new boolean[3];0.0char[] c = new char[3];0.0for (int j = O; j < i.length; j++)0.0System.out.println(ilij);falsefor (int j = O; j < f.length; j++)falseSystem.out.println(flil);falsefor (int j = O; j < b.length; j++)System.out.println(b[il);for (int j = O; j < c.length; j++)System.out.println(c[il);1C:I15
5 3.2.1 一维数组 (续) class Test { public static void main(String args[]) { int[] i = new int[3]; float[] f = new float[3]; boolean[] b = new boolean[3]; char[] c = new char[3]; for (int j = 0; j java Test 0 0 0 0.0 0.0 0.0 false false false C:\ T

3.2.1一维数组(续)JAVA一维数组的初始化为数组元素指定初始值方式一: 声明和创建数组后对数组初始化class Test (public static void main(String args[J) int a[] = new int[5];System.out.println(t输出一维数组a:")a.lengthfor (int i = 0; i< 5; i++) (a[i] = i +1;System.out.println("\ta["+i+"]="+a[i]];7716
6 3.2.1 一维数组 (续) ◼ 一维数组的初始化 ◼ 为数组元素指定初始值 ◼ 方式一: 声明和创建数组后对数组初始化 class Test { public static void main(String args[]) { int a[] = new int[5]; System.out.println(“\t输出一维数组a: ”); for (int i = 0; i < 5; i++) { a[i] = i +1; System.out.println(“\ta[”+i+“]=”+a[i]); } } } a.length

3.2.1 一维数组(续)JAVA一维数组的初始化方式二:在声明数组的同时对数组初始化格式类型数组名[] = [元素1[,元素2....]int a[]= [1, 2, 3, 4, 5]:class Test {public static void main(String args[J) int a[] = {1,2,3,4,5];System.out.println(t输出一维数组a:");for (int i = O; i < 5; i++)System.out.println("\ta["+i+"]="+a[i])人77
7 3.2.1 一维数组 (续) ◼ 一维数组的初始化 ◼ 方式二: 在声明数组的同时对数组初始化 ◼ 格式: 类型 数组名[] = {元素1[, 元素2 .]}; ◼ int a[] = {1, 2, 3, 4, 5}; class Test { public static void main(String args[]) { int a[] = {1,2,3,4,5}; System.out.println(“\t输出一维数组a: ”); for (int i = 0; i < 5; i++) System.out.println(“\ta[”+i+“]=”+a[i]); } }

3.2.1一维数组(续)JAVA数组的赋值数组的整体赋值用 java.lang.System类的方法进行数组复制8
8 3.2.1 一维数组 (续) ◼ 数组的赋值 ◼ 数组的整体赋值 ◼ 用java.lang.System类的方法进行数组复制

3.2.1 一维数组 (续)2JAVA数组整体赋值dlass Test {public static void main(String args[l) [int a[] = {2, 4, 6, 8];int b[]; int[] c = (1, 3, 5, 7];C:|>java Testb =a;c= a;2468for (int j = O; j for (int j = O; j < b.length; j++)System.out.print(b[i] + "") ;System.out.println();for (int j = O; j < c.length; j++)System.out.print(ci);179
9 3.2.1 一维数组 (续) ◼ 数组整体赋值 class Test { public static void main(String args[]) { int a[] = {2, 4, 6, 8}; int b[]; int[] c = {1, 3, 5, 7}; b = a; c = a; for (int j = 0; j java Test 2 4 6 8 2 4 6 8 2 4 6 8 C:\> T

3.2.1 一维数组(续)JAVA一维数组的数组复制java.lang.System类的方法public static void arraycopy(Object src,int srcIndex,srcIndexObject dest,83A1025697110int destIndex,int length)LengthdestIndexdest10
10 3.2.1 一维数组 (续) ◼ 一维数组的数组复制 ◼ java.lang.System类的方法 ◼ public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int length)