java语言基础(一维数组):一维数组概述和定义格式说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

	    /*
	    	数组:存储同一种数据类型的多个元素的容器。
	    	
	    	定义格式:
	    		A:数据类型[] 数组名;
	    		B:数据类型 数组名[];
	    		
	    	举例:
	    		A:int[] a; 定义一个int类型的数组a变量
	    		B:int a[]; 定义一个int类型的a数组变量
	    		
	    	注意:效果可以认为是一样的,都是定义一个int数组,但是念法上有些小区别。推荐使用第一种。
	    	
	    	如何对数组进行初始化呢?
	    		A:何谓初始化呢? 就是为数组开辟内存空间,并为每个数组元素赋予值
	    		B:有几种方式呢?
	    			a:动态初始化 只指定长度,由系统给出初始化值
	    			b:静态初始化 给出初始化值,由系统决定长度
	    			
	    	动态初始化的格式:
	    		数据类型[] 数组名 = new 数据类型[数组长度];
	    		
	    		举例:
	    		int[] arr = new int[3];	
	    		
	    	如何获取数组中的元素呢?
	    		通过:
	    			数组名[索引]
	    			索引其实就是每个元素的编号,从0开始,最大索引是数组的长度-1。
	    */
	    class ArrayDemo {
	    	public static void main(String[] args) {
	    		//定义一个数组
	    		//int[] a;
	    		//可能尚未初始化变量a
	    		//System.out.println(a);
	    		
	    		int[] arr = new int[3];
	    		/*
	    			左边:
	    				int:说明数组中的元素的数据类型是int类型
	    				[]:说明这是一个数组
	    				arr:是数组的名称
	    				
	    			右边:
	    				new:为数组分配内存空间。
	    				int:说明数组中的元素的数据类型是int类型
	    				[]:说明这是一个数组
	    				3:数组长度,其实也就是数组中元素的个数
	    		*/
	    		
	    		System.out.println(arr); //[I@175078b 地址值。
	    		//我要地址值没有意义啊,我就要数据值,怎么办呢?
	    		//不用担心,java为你考虑到了。
	    		//其实数组中的每个元素都是有编号的,并且是从0开始。最大编号是数组的长度-1。
	    		//用数组名和编号的配合就可以获取数组中的指定编号的元素。这个编号的专业叫法:索引
	    		//通过数组名访问数据的格式是:数组名[索引];
	    		System.out.println(arr[0]);
	    		System.out.println(arr[1]);
	    		System.out.println(arr[2]);
	    	}
	    }

在这里插入图片描述


		    /*
		    	数组的静态初始化:
		    		格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
		    		简化格式:
		    			数据类型[] 数组名 = {元素1,元素2,…};
		    		
		    		举例:
		    			int[] arr = new int[]{1,2,3};
		    			
		    			简化后:
		    			
		    			int[] arr = {1,2,3};
		    			
		    	注意事项:
		    		不要同时动态和静态进行。
		    		如下格式:
		    			int[] arr = new int[3]{1,2,3}; //错误
		    */
		    class ArrayDemo5 {
		    	public static void main(String[] args) {
		    		//定义数组
		    		int[] arr = {1,2,3};
		    		
		    		System.out.println(arr);
		    		System.out.println(arr[0]);
		    		System.out.println(arr[1]);
		    		System.out.println(arr[2]);
		    	}
		    }

在这里插入图片描述

在这里插入图片描述

		    /*
		    	数组操作的两个常见小问题:
		    		ArrayIndexOutOfBoundsException:数组索引越界异常
		    			原因:你访问了不存在的索引。
		    		
		    		NullPointerException:空指针异常
		    			原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
		    			
		    		作用:请自己把所有的场景Exception结尾的问题总结一下。以后遇到就记录下来。
		    			  现象,原因,解决方案。
		    */
		    class ArrayDemo6 {
		    	public static void main(String[] args) {
		    		//定义数组
		    		int[] arr = {1,2,3};
		    		
		    		//System.out.println(arr[3]);
		    	
		    		//引用类型的常量:空常量 null
		    		arr = null;
		    		System.out.println(arr[0]);
		    	}
		    }

一个数组的动态初始化及内存图
在这里插入图片描述
两个数组的动态初始化及内存图
在这里插入图片描述
三个数组的动态初始化及内存图
在这里插入图片描述

数组的静态初始化及内存图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lixue_yang/article/details/89059280