学习目标
1:数组
学习内容
1:数组的概念
2:数组的特点
3:数组的初始化
一:数组的概念
数组是储存多个相同类型的元素,虽然数组中的元素均为基本元素,但是Java中使用了类似对象的处理方式处理数组。在数组的初始化中使用new进行初始化,可以理解为它也是一种容器 可以同时存放 同种数据类型的多个数据。
二:数组的的特点
1:数组是一个对象,是一种引用数据类型。可以表示一组数据的集合。
2:数组只能保存一种类型的数据。
3:数组可以使用 new 关键字 进行初始化。
4:数组有一个属性:长度的属性,表示数组中元素的个数 该属性是 int 类 型。 通过 数组名.length 来访问该属性。
5:创建数组对象会在内存中开辟一整块连续的空间。
6:数组中元素的下标的取值范围是:[0~length-1]。
7:数组的长度一旦确定,就不能更改了。数组是定长的。
8: [ ]代表的是 数组这种类型。
9:数组的长度可以是 0,但是不能是 负数。
三:数组的初始化
数组的初始化分为静态初始化和动态初始化两种。
动态初始化
动态初始化中只需给定一个数组长度,系统会默认给当前数组中的元素提供一个默认值。默认值随数组类型给出。
静态初始化
静态初始化中需要给定数组中的元素的值,由系统计算数组的长度,静态初始化中可以省略new,两种方式效果一样。
例如:
package demo01;
/**
* 数组的初始化
* 动态初始化
* 静态初始化
*
* 动态初始化
* C语言的定义:
* int temp[10];
* Java中的动态初始化
* 类型 对象名=new 类型
* 数据类型[] 数组名称 =new 数据类型[数组长度]
* **/
public class Demo01Array {
public static void main (String[] args) {
//数组动态初始化
int[] arrayA = new int [55];
double [] arrayB=new double[55];
String [] arrayC=new String[55];
//数组静态初始化
int[] arrayD = new int [] {1,2,3,4,5};
String [] arrayE=new String[] {"颜敏","程琪","hellow"};
}
}
例二:
直接打印数组名,直接得当对应数组的内存地址的哈希值
package demo01;
public class Demo01ArrayUse {
public static void main (String[] args) {
int[] array={10,20,30,40,50};
System.out.println(array);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
System.out.println("===============");
int num=array[3];
System.out.println(num);
}
}
例三:
调用数组中的指定位置的元素
package demo01;
public class Demo03Array {
public static void main (String[] args) {
int[] arrayA = new int [5];
System.out.println(arrayA);
System.out.println(arrayA[0]);
System.out.println(arrayA[2]);
System.out.println(arrayA[3]);
System.out.println(arrayA[4]);
double[] arrayB = new double [5];
System.out.println(arrayB);
System.out.println(arrayB[0]);
System.out.println(arrayB[2]);
System.out.println(arrayB[3]);
System.out.println(arrayB[4]);
System.out.println("===============");
String[] arrayC = new String [5];
System.out.println(arrayC);
System.out.println(arrayC[0]);
System.out.println(arrayC[2]);
System.out.println(arrayC[3]);
System.out.println(arrayC[4]);
System.out.println("==================");
arrayC[2]="中国女足";
System.out.println(arrayC[0]);
System.out.println(arrayC[2]);
System.out.println(arrayC[3]);
System.out.println(arrayC[4]);
}
}
例四:
数组的编号从零开始,到数组-1结束。在调用数组指定位置时容易出现数组越界的问题、空指针问题。
package demo01;
public class Demo04ArrayIndex {
public static void main (String[] args) {
int[] array = {10,20,30};
System.out.println(array[0]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
//错误写法,数组越界异常
System.out.println("===============");
//System.out.println(array[3]);
int[] arrayA = null;
//arrayA= new int[3];
System.out.println(arrayA[0]);
}
}
例五:
获取数组的长度,遍历每一个元素
package demo01;
public class Demo05Array {
public static void main(String[] args) {
int[] arrayA=new int[3];
int[] arrayB= {1,2,3,4,5,6,1,2,3,4,5,6};
int len=arrayB.length;
System.out.println(arrayB.length);
//数组的长度不能更改
int[] arrayC=new int[3];
System.out.println(arrayC.length);
arrayC=new int[3];
System.out.println(arrayC.length);
System.out.println("===================");
for(int i=0;i<arrayB.length;i++)
{
System.out.println(arrayB[i]);
}
}
}
上述代码运行结果
2020080605041