定义
第一种方法
int[] x = new int[100];
第二种方法
int[] x;
x = new int[100];
静态初始化:由我们指定数组元素的值,由系统根据元素的个数决定数组的长度
格式:
数据类型[] 数组名=new 数据类型[]{元素1,元素2,...};
还有一种简化格式:
数据类型[] 数组名={元素1,元素2,...};
但是
数据类型[] 数组名=new 数据类型[2]{元素1,元素2,...};
这种格式是不可以的,不能同时存在静态初始化和动态初始化
长度
数组最小的索引是0,最大的索引是“数组的长度-1”
arr.length//访问数组元素的个数
arr[0].length//求0元素的值
操作
1、遍历
2、最大值
3、最小值
4、根据下标查元素
5、输入数查出现的位置
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
int value=arr.length;
traverse(arr,value);//数组的遍历
max(arr,value);//最大值
min(arr,value);//最小值
index(arr,value);//查表--根据下标
location(arr,value);//查表--查第一次出现的位置
}
/*
* 数组的遍历
*/
static void traverse(int[] arr,int value) {
for(int i=1;i<=value;i++) {
System.out.println("第"+i+"个元素:"+arr[i-1]);
}
}
/*
* 最大值
*/
static void max(int[] arr,int value) {
int max=arr[0];
for(int i=1;i<=value;i++) {
if(arr[i]>max)
max=arr[i];
}
System.out.println("最大值为"+max);
}
/*
* 最小值
*/
static void min(int[] arr,int value) {
int min=arr[0];
for(int i=1;i<=value;i++) {
if(arr[i]<min)
min=arr[i];
}
System.out.println("最小值为"+min);
}
/*
* 查表--根据下标
*/
static void index(int[] arr,int value) {
System.out.println("请输入你想要查找的下标");
Scanner sc=new Scanner(System.in);
if(sc.nextInt()<value&&sc.nextInt()>0) {
System.out.println("第"+sc.nextInt()+"个元素:"+arr[sc.nextInt()-1]);
}
else
System.out.println("下标有误");
}
/*
* 查表--查第一次出现的位置
*/
static void location(int[] arr,int value) {
System.out.println("请输入你想要查找的数");
Scanner sc=new Scanner(System.in);
int flag=0;
for(int i=1;i<=value;i++) {
if(sc.nextInt()==arr[i-1]) {
System.out.println(sc.nextInt()+"是第"+i+"个元素");
break;
}
else
flag++;
}
if(flag==value)
System.out.println("你想要查找的数不在数组内");
}
}
多维数组
定义
int[][] arr = new int[3][4];//第一种定义方法
int[][] arr = new int[3][];//第二种定义方法
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};//第三种定义方法
数据类型[m][n]
m表示这个二维数组有多少个一维数组
n表示每一个一维数组有多少个元素
注意!!!
二维数组如果手动指定了里面的元素值的情况下,不能指定数组长度