数组能很好地解决多组数据的问题
下面说最简单的数组——一维数组的用法
目录
———————————————————————————————————————————
1.一维数组的初始化
数组有两种初始化方式:动态初始化和静态初始化
静态初始化
即在声明时就将数组赋值了,在后面直接调用
方法
数组类型+[]+名称=new 类型{元素}
int [] Array=new int[]{1,2,3}
也可以先声明再初始化
int [] Array1;
Array1=new int[]{1,2,3,4}
动态初始化
先声明,在后面的语句中再逐个赋值
方法
int [] Array2=new int[数组长度]
Array[0]=1;
Array[1]=2;
Array[2]=3;
Array[3]=4;
.......
Array[数组长度-1]=n-1; \\为什么从0开始还有为什么到数组长度-1,我会在2.一维数组的长度里来讲
_____________________________________________________________________________
2.一维数组的长度
数组一旦初始化长度就确定了
静态初始化 int [] Array=new int[]{1,2,3,4} 花括号里有4个元素,所以Array1的长度是4
动态初始化 int [] Array2=new int[数组长度] 如果[]里是4,Array2就有四个元素,其数组长度是4, 其中只有4个元素
3.一维数组的调用
调用数组用下标(角标)来调用
静态
int [] Array1;
Array1=new int[]{1,2,3,4};
System.out.println(Array[1]);
此时输出的是Array1中的第二个元素,即2
为什么明明是Array【1】,中括号里是1调用的却是第二个元素呢? 因为数组的下标是从0开始的 即Array【0】对应的是数组里的第一个元素,Array【1】对应的是第二个,以此类推
动态
动态初始化中第二个中括号里的数是数组长度,
int [] Array2=new int[5] 这样表示Array2的数组长度是5,想调用第五个,下标就得是4
即System.out.println(int[4])
注意
调用的数组元素不能超过数组长度
例
int [] Array2=new int[5] ;
Array[0]=1;
Array[1]=2;
Array[2]=3;
Array[3]=4;
.......
Array[数组长度-1]=n-1;
System.out.println(int[5]);
此时表示的是输出Array2 数组的第六个元素,但Array2的数组长度是5即只有5个元素,所以会报错
4.遍历一维数组
可以用循环语句来实现数组的遍历
for(int i=0;i<=Array2.length;i++){
System.out.println(Array2[i]);
}
\\ i从0开始是因为数组下标是从0开始的、数组的第一个元素下表是0,要把第一个元素包括进去要从0开始循环。
.length方法是数组长度i<=Array2.length 表示的是i的值小于等于Array2的数组长度,在此条件下循环 其实 i<=Array2.length也可以改写成i<=4.因为Array2长度是5,i从0开始到4正好是5个数,对应数组长度
5.实际举例
1.
import java.util.Scanner;
public class telephone {
public static void main(String[] args) {
int[] arr = new int[] { 1, 3, 7, 6, 4, 0 };\\静态初始化
System.out.println(arr[1]); \\输出arr的第二个元素--3
int []arr1=new int [5]; \\动态初始化
Scanner scan = new Scanner(System.in);
System.out.println("请输入:");
for(int i=0;i<a.length;i++) { \\将arr1逐个赋值
a [i]=scan.nextInt();
System.out.println(a[i]); \\将arr1逐个输出
}
}
}