一维数组(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 ;
 }