Java知识点复习(六)数组

  1. 1. 1.数组
    1. 1.1. 1.1、数组概述
    2. 1.2. 1.2、数组的使用
      1. 1.2.1. 1.2.1、使用方式1—动态初始化
      2. 1.2.2. 1.2.2、使用方式2—动态初始化
      3. 1.2.3. 1.2.3、使用方式3—静态初始化
    3. 1.3. 1.3、数组使用注意事项
    4. 1.4. 1.4、数组应用案例

1.数组

1.1、数组概述

  • 数组:可以存放同一类型的数据。数组也是一种数据,是引用类型。

    即:数(数据)组(一组)就是一组数据。

1.2、数组的使用

1.2.1、使用方式1—动态初始化

  • 数组的定义:

    数组类型 数据名[ ] = new 数据类型 [大小]

    int a [ ] = new int [5]; //创建了一个数组,名字a ,存放5个int

  • 数组的引用 (使用/访问/获取数组元素) :

    数组名 [下标/索引/index]

    数组的下标是从 0 开始编号的

    通过 a[下标] 来访问其中的元素。

    比如:a [2] 表示使用a数组的第三个数

    通过 a.length(数据名.length),这种写法可以得到数组中元素的长度。

1.2.2、使用方式2—动态初始化

  • 先声明数组:

    语法: 数据类型 数组名[]; 或者 数据类型[] 数组名;

    int a[]; 或者 int[] a;

  • 创建数组:

    语法: 数组名=new 数据类型[大小];

    a=new int[10];

例:
double scores[]; //声明数组,这时scores是 null
scores = new double[5]; //分配内存空间,可以存放数据

1.2.3、使用方式3—静态初始化

  • 初始化数组:

    语法: 数据类型 数据名[] = {元素值,元素值...}

    例:int a[] = {2,5,6,7,8,20,30,40} 如果知道数组有多少元素,具体值

    上面的写法相当于:int a[] = new int[9];

    a[0]=2; a[1]=5; a[2]=6; a[3]=7; 以此类推……

1.3、数组使用注意事项

  1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理

  2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。

  1. 数组创建后,如果没有赋值,有默认值。
    int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
  1. 使用数组的步骤 ①声明数组并开辟空间 ②给数组各个元素赋值 ③使用数组

  2. 数组的下标是从 0 开始的。

  3. 数组下标必须在指定范围内使用,否则报:下标越界异常,

比如int[] arr=new int[6]; 则有效下标为 0-5

  1. 数组属引用类型,数组型数据是对象(object)
//部分注意事项理解
public class ArrayDetail {

public static void main(String[] args) {
//1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理

//int[] arr1 = {1, 2, 3, 60,"hello"};//String ->int
double[] arr2 = {1.1, 2.2, 3.3, 60.6, 100};//int ->double

//2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用
String[] arr3 = {"北京","jack","milan"};

//6. 数组下标必须在指定范围内使用,否则报:下标越界异常,比如
//int [] arr=new int[6]; 则有效下标为 0-5
//即数组的下标/索引 最小 0 最大 数组长度-1(5)
int [] arr = new int[6];
//System.out.println(arr[6]);//数组越界

}
}

1.4、数组应用案例

案例:创建一个char类型的26个元素的数组,分别 放置’A’-‘Z’。
使用for循环访问所有元素并打印出来。
提示:char类型数据运算 ‘A’+1 -> ‘B’

代码实现:

public class ArrayEx01 {

public static void main(String[] args) {

/*
思路分析
1. 定义一个 数组 char[] chars = new char[26]
2. 因为 'A' + 1 = 'B' 类推,所以老师使用for来赋值
3. 使用for循环访问所有元素
*/

char[] chars = new char[26];

for(int i=0;i<chars.length;i++){ //循环26次
chars[i]=(char)('A'+i); //'A' + i 是int , 需要强制转换
}
//循环输出
System.out.println("==chars数组==");
for(int i=0;i<chars.length;i++){
System.out.print(chars[i]+" ");
}
}
}

运行结果: