JavaSE笔记05 一维数组
文章目录
一.数组的概述:
1.数组的概述:
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型,注意数组必须将进行初始化,初始化之后才能使用。所谓的初始化就是在内存中为数组开辟一块空间,并为数组的元素赋其默认值
一个数组的举例:
int [] arr={10,30,50,70,90} ;
对于上面的数组代码:
数组arr为整型数组,即数组arr中只能存放整型的数组元素
其次在arr数组中该数组的第一个元素是arr[0],其值是10,最后一个元素是arr[4],其值是90
数组arr的长度是5
2.数组的特点:
数组的特点说明 |
---|
数组的长度一旦确定就不能修改 |
创建数组对象会在内存中开辟一整块连续的空间。而数组名中引用的是这块连续空间的首地址 |
遍历数组和获取某个元素的速度快,因为可以通过数组名+下标,直接定位到任意一个元素 |
数组既可以存储基本数据类型,也可以存储引用数据类型 |
//数组存储基本数据类型:
int[] a = {
80,90,100,110,120};
a数组的类型是:int[]
元素的类型是int
//数组存储引用数据类型:
String[] strings = {
“hello”,”java”};
strings数组的类型是:String[]
元素的类型是String
3.数组的分类:
数组的分类 | 分类的结果 |
---|---|
按照维度 | 一维数组、二维数组、多维数组 |
按照元素的数据类型 | 基本数据类型元素的数据,引用数据类型元素的数组 |
二.一维数组的初始化:
Java中的数组必须先初始化,然后才能使用,所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
对于一维数组的初始化有动态初始化和静态初始化两种方法,对于这两种方法,各有特点:
- 动态初始化: 只指定长度,由系统给出初始化值
- 静态初始化: 给出初始化值,由系统决定长度
注意事项: 这两种方式,只能使用一种,不能进行动静结合
1.动态初始化数组:
具体定义格式:
数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数
举例: int[] arr = new int[3]; 定义了一个int类型的数组arr,这个数组可以存放3个int类型的值。
对于上面的具体格式有两种表现格式:
格式1: 数据类型[] 数组名;
格式2: 数据类型 数组名[];
两种格式中实际上更推荐使用第一种定义方式,比较清晰便捷
接下来的数组动初始化实例将结合java程序在计算机内存进行说明,请先跳转至“三.Java中的内存分配以及堆栈的理解”进行阅读
下面是关于动态初始化的代码实例:
[1] 关于一个一维数组的动态初始化:
class ArrayTest{
public static void main(String[] args) {
int[] arr=new int[3];
System.out.println(arr); //打印数组的地址值
arr[0]=10;
arr[1]=20;
arr[2]=30;
System.out.println(arr[0]);
}
}
[2] 关于两个一维数组的动态初始化:
class ArrayTest2 {
public static void main(String[] args) {
int[] arr=new int[3];
arr[0]=10;
arr[1]=20;
arr[2]=30;
int[] arr2=new int[2];
arr2[0]=100;
arr2[1]=200;
//输出数组的地址值
System.out.println(arr);
System.out.println(arr2);
//输出数组中的元素
System.out.println(arr[2]);
System.out.println(arr2[0]);
}
}
[3] 关于三个一维数组的动态初始化:(其中包含数组的引用)
class ArrayTest3{