***数组是存储在一个连续内存块中存储相同元素都的集合。***数组主要有:一维数组,二维数组,多维数组等。
三个关键点:
1、开辟一块连续的内存
2、存储相同的元素类型
3、存储元素(多个元素)的集合
int a = 1
int b = 2
int c = 3
↓
int [] arr = {1,2,3,};
System.out.println(“arr”);
此时输出的arr并非里面的元素而是一段地址;所以数组相当于一个容器,用于存储。
如何取元素呢?下文会一一介绍
数组定义的语法格式:
数组类型 [] 数组变量名称 = 数据;
**数组类型 [] 数组变量名称 = new 数据类型[长度];**常用
数组拥有如下特点:
1、数组的元素是按照一定顺序排列的
2、创建数组的对象在内存中开辟一整块的连续空间
3、数组长度一旦确定,就不能更改
4、数组是引用数据类型,数组元素可以是任何数据类型
数组下标:
又称为索引,默认是从0开始,最后一个元素下标是length-1;
System.out.println(arr[0]);//输出数组的第一个元素
长度length
获取数组的长度是通过调用属性**.length**方式,注意要和String类型的length()区分开。
数组元素类型默认值:
整数型(byte、short、int、long) 0
小数型(float、double) 0.0
字符型(char) ‘ ’(空)
布尔(boolean) false
引用类型 null
遍历数组:
这里我们用到的是foreach循环,语法格式:
/* for(数据类型 元素名称 : 数组名称){
* 。。。。。
*/ }
下面给出一道例题
*初始化一个int数组,int[] a = {-1,3,2,10,6,8,2,3,6}。去掉数组中重复的元素*
code:
```
import java.util.Arrays;
public class Arr01 {
public static void main(String[] args) {
int[] arr = {-1,3,2,10,6,8,2,3,6 };
int[] tempArr = new int[arr.length];
int temp = 0;
flag: for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < temp; j++) {
if (arr[i] == tempArr[j]) {
continue flag;
}
}
tempArr[temp] = arr[i];
temp++;
}
int [] result = new int[temp];
for (int a = 0; a < temp; a++) {
result[a]= tempArr[a] ;
}
System.out.println(Arrays.toString(result));
}
}
```
#################################################################################
再来一道例题
*初始化一个int数组,int[] a = {1,1,2,3,4,5,6,7,8},要求把偶数全部排序在最左边,奇数全部排序在最右边(不需要从小到大排序)*
```
public class Test08 {
public static void main(String[] args) {
int[] a={1,2,3,4,5,6,7,8,9,10};
int[] b=new int[a.length];
int i=0;
for(int n=0;n<a.length;n++)
{
if(a[n]%2==0)
{
b[i]=a[n];
System.out.print(b[i]+",");
i++;
}
}
for(int n=0;n<a.length;n++)
{
if(a[n]%2==1)
{
b[i]=a[n];
System.out.print(b[i]+",");
i++;
}
}
}
}
```
在实际开发中,关于数组的一系列操作,我们可以通过查看API进行Arrays工具类运用。