JavaSE——day5数组

数组的概述

(1)数组是存储多个变量(元素)的东西(容器)
(2)数组中的多个变量的数据类型要一致
定义数组要么动态初始化,指定长度,要么静态初始化指定数组元素!

数组的初始化

1)动态初始化:  给数组指定长度,数组中的元素值由系统默认给定
2)静态初始化:  给定数组中元素的值,数组的长度由系统给定;

静态初始化

原始格式:
    数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ;
    简写方式:
    数据类型[] 数组名称= {元素1,元素2,元素3..} ;

动态初始化

数据类型[] 数组名 = new 数据类型[数组长度] ;

举例:
   int[] arr = new int[3] ;

数组中的异常

 数组中经常会出现的异常:
 
   ArrayIndexOutOfBoundsException:数组角标越界异常
   出现的原因:访问了数组中不存在的索引值;
   解决方案:观察数组中到底有索引值到多少;  数组长度-1
   NullPointerException:空指针异常 (在实际开发中该异常是最多的)
   出现的原因:对象为null,而开发者还要去使用对象,就会出现问题
   解决方案:给某个对象进行非空判断,防止程序程序空指针异常

一些常用的数组操作:

遍历数组:

	public static void printArray2(int[] arr) {
		//左中括号
		System.out.print("[");
		for(int x = 0 ; x < arr.length ; x ++) {
			//判断当前x是否是最后一个索引
			if(x==arr.length-1) {//如果是最后一个索引的对应的元素
				System.out.println(arr[x]+"]");
			}else {
				System.out.print(arr[x]+", ");
			}
		}
	}

求最大值:

 public static int max(int[] arr) {
  //定义参照物
  int max = arr[0] ;
  
  //遍历其他元素
  for(int x = 1 ; x < arr.length ; x ++) {
   //获取到每一个元素,分别和参照物进行比较,如果大了,就作为最大值进行继续比较
   if(arr[x] > max) {
    max = arr[x] ;
   }
  }
  return max ;
 }

元素逆序:

	public static void reverse(int[] arr) {
		for(int start = 0,end = arr.length-1 ; start<=end ;start++,end --) {
			//temp中间变量
			int temp = arr[start] ;
			arr[start] = arr[end] ;
			arr[end] = temp ;
		}
	}

元素索引:(假设法)

	public static int getIndex(int[] arr,int value) {
		//如果没有找到这个元素,假设找不到
		int index = -1 ;
		//遍历数组
		for(int x = 0 ;  x < arr.length ; x ++) {
			//获取到每一个元素,如果找打,修改索引值
			if(arr[x] == value) {
				//修改
				index = x ;
				break ;
			}
		}
		return index ;
	}

总结:数组操作其实和c语言大同小异,我们在java入门的时候更应该注意的是 java中在数组操作时候堆内存、栈内存的非配使用。

猜你喜欢

转载自blog.csdn.net/weixin_38930706/article/details/79903081