概念
- 数组是为了解决同类数据整合摆放而提出的,可以理解为一组具有相同名称的变量的集合,它的每个元素具有相同的数据类型
- 在内存中连续存放
- 数组分为一维数组和多维数组,可以用一个统一的数组名和下标来唯一地确定其中的元素。
语法
<data_type>[]<array_name>;
或
<data_type> <array_name>[];
例如:
float [] scores;
float scores[];
int [] age;
String [] name;
注意
数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的
数组名的书写规则应符合标识符的书写规定
数组名不能与其它变量名相同
在数组声明中包含数组长度永远是不合法的!
以下类型定义不可取!!!
int [5] score;
String [10] name;
{1,2.1,‘A’,“hello”}
数组初始化(定义数组)
数组初始化有两种方式: 静态初始化 和 动态初始化
静态初始化
- 静态初始化的方式是在声明数组变量的同时进行的。
- 这种方式不仅定义了数组当中包含的元素的数量,而且指定了每个元素的值
float [] scores = {93.5f , 83 ,61,80 };
int [] arr = {0,1,2,3,4,5};
String[] names = {"Tom", "Toraji","Jack", "John"};
动态初始化
- 静态初始化的方式在声明数组时就必须定义数组的大小,以及每个元素的初始值。
- 如果要定义的数组长度或数组数据只有在运行才能决定,就要使用动态初始化
- 声明与初始化语句分开写时,两条语句中的数组名、类型标识符必须一致
记住一定要new!!! 记住一定要new!!! 记住一定要new!!!
int[] arr;
arr = new int[10];
char [] c = new char[100];
int [] arr = new int[]{1,2,3,4};
int[] arr;
int length = 10;
arr = new int[length];
数组的使用
直接输出数组例如sout(arr)会输出一个地址 也就是我们创建的指针地址
输出数组的几种方式:
第一种:利用Array类中的toString方法
调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开
System.out.print(Arrays.toString(nums) + "\n");
第二种:for each循环
for(int a:nums)
{
System.out.println(a);
}
第三种:传统的for循环方式
for(int i=0;i<nums.length;i++)
{
System.out.println(nums[i]);
}