一维数组(Aarray)
定义:是一种容器,可以存储同种类型的元素的一种容器.(元素的数据类型必须一致)
1.格式:
1)动态初始化:
格式1:数据类型[ ] 数组名称=new 数组名称[ ];(new在堆内存产生一个空间地址)
格式2:数据类型 数组名称[ ]= new 数组名称[ ];
eg:
int[] arr=new arr[4];//数组动态初始化
//int表示数组的数据类型必须整形
//arr表示数组的对象名称
//[]表示一维数组
//new在堆内存申请一个内存空间(产生空间地址)
//4表示数组长度;
2)静态初始化:
数据类型[ ] 数组名称=new 数组名称[ ]{元素1,元素2…};
简写:数据类型[ ] 数组名称={元素1,元素2…};
eg:
int[] arr=new arr[]{1,2,3};
int[] arr={1,2,3};//简写
2.出现的异常:(Throwable类)
RuntimeException:运行时期异常
1.ArrayIndexOutOfBoundsException-----数组角标越界
解决:改变角标范围
2.NullPointerException-------空指针异常
解决:加入一个逻辑判断(非空判断);
3.遍历
下列主代码(*要在主函数main()中调用) *
定义:将数组中的元素一一打印出来
主代码
3.1 简单遍历
public static void printArray(int[] array){//方法的形式参数:传递的是一个引用类型:数组
for(int x = 0 ; x < array.length ; x ++){
System.out.println(array[x]) ;
}
}
3.2 完整遍历
//最终版代码:遍历数组方法
public static void printArray2(int[] array){
//拼接左中括号
System.out.print("[") ;
//遍历array数组
for(int x = 0 ; x < array.length; x ++){//x角标
//获取到每一个元素
//判断:如果x取到最大索引值,---->取到最后一个元素了
if(x==array.length-1){
//最后一个元素,输出元素内容以及右中括号
System.out.println(array[x]+"]") ;
}else{
//不是取到最大索引值,将中间的元素按照按照格式输出(元素+逗号+空格)
System.out.print(array[x]+", ") ;
}
}
}
需要在main()中调用Array(数组名称);方法
4.逆序
定义:将数组中的元素i与元素arr.length-1-i交换(注意:要保证数组长度为length/2)
public static void Array(int[] arr){
for(int i=0;int<arr.length/2;i++){
int temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
}
5.求数组中的最大值
class ArrayTest2{
public static void main(String[] args){
//1)定义数组,静态初始化
int[] arr1 = {57,69,80,13,22} ;
GetMax(arr1); //调用GetMax方法
System.out.println(GetMax(arr1));
}
//实现求最大值功能
public static int GetMax(int[] arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
}
6.冒泡排序
定义:将元素按顺序排列
public static void GetMao(int[] arr){
for(int i=0;i<arr.length-1;i++){//循环次数
for(int y=0;y<arr.length-1-i;y++)//元素排序
{
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
7.数组的基本查找法
public static int getIndex2(int[] arr,int key){
//假设元素找不到
//定义一个变量
int index = -1 ;//index是数组的角标
//遍历数组arr
for(int x = 0 ; x < arr.length ; x ++){
//获取到每一个元素
if(arr[x] == key){
//将index的值更改掉
index = x ;
break ;
}
}
return index ;
}