Java基础之数组
1.数组概念
- 数组是存储数据长度固定的容器,在同一个数组内要保证数据类型的一致.
- 数组是一种容器,将多个数据存储在一起
2.数组的定义
格式
数组存储数据类型[] 数组名称 = new 数组存储数据类型[长度]; int[] arr = new int[10];
数组格式详解
- 数组存储数据类型:明确声明了这是一个什么样的数组,即数组的数据类型,是一个什么样的数组
- []:声明这是一个数组
- 数组名称:给数组起个名字
- new:声明对象的关键字
- 数组存储数据类型[长度]:明确声明了这个数组存储了多少个元素
数组长度一旦确定,便不可更改
数组定义格式2
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...}; int[] arr = new int[]{1,2,3,4,5};
数组定义格式3
数据类型[] 数组名 = {元素1,元素2,元素3...}; int[] arr = {1,2,3,4,5};
3.数组的访问
数组可以通过索引去访问数组中的元素
索引:每一个存储到数组的元素,都会自动拥有一个编号,从0开始,直到数组元素结束。这个编号就成为索引(index)
数组的长度属性:每个数组都有长度,而且固定。获取数组长度,可以通过语法:
数组名.length
获得,获得的结果是int类型的数字,也就是数组的长度。
*数组长度与索引的关系:数字长度-1=索引最大值*
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
//数组长度
int n = arr.length;
System.out.println("数组长度为:"+n);
}
通过数组的索引访问数组元素
- 为数组中的值赋值 数组名[索引编号] = 数值
- 获取数组中的元素 变量名 = 数组名[索引值]
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
//通过索引给数组元素赋值
arr[0] = 10;
//获取数组元素
int i = arr[0];
System.out.println(arr[0]);
System.out.println("i="+i);
}
4.数组遍历
数组遍历:就是将数组中的各个元素全部输出
public static void main(String[] args) { int[] arr = new int[]{1,2,3,4,5}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } }
获取数组中的最大值
思路:取数组中的一个元素,用该元素与其他元素比较,将最大的值保存在这个元素中,输出这个元素
实现:
public static void main(String[] args) { int[] arr = new int[]{34,23,56,21,19}; int max = arr[0]; for (int i = 0; i < arr.length; i++) { if (max<=arr[i]){ max=arr[i]; } } System.out.println("最大值"+max); }
数组反转
- 实现思想
- 将数组两端的元素交换位置
- 定义两个变量,保存数组的最大索引和最小索引
- 交换两个索引的位置
- 最小的索引++,最大的–,然后交换位置
- 比较两个索引,最小的超过最大的,结束
public static void main(String[] args) { int[] arr = new int[]{34, 23, 56, 21, 19,68,10}; System.out.print("反转前:"); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } for (int minIndex = 0, maxIndex= arr.length-1;minIndex<maxIndex;minIndex++,maxIndex--) { int temp = arr[minIndex]; arr[minIndex]=arr[maxIndex]; arr[maxIndex]=temp; } System.out.println(" "); System.out.print("反转后: "); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } }