Java语言基础------数组(一)

数组

  1. 数组:用于存储类型一致的一组数据

    1. 数组在内存中是连续存储的。
    2. 数组是连续数据存储结构, 用于简便管理一组数据。
      1. 也就是用一个变量代表一组数据
    3. 在软件中数据类型相同的相关数据采用数组存储
    4. 很多数据结构的底层都是数组
      1. 字符串底层是数组
      2. 集合底层是数组
  2. 数组的初始化

    1. 使用长度初始化数组

      1. 原理:

      2. 案例代码:

        	public static void main(String[] args) {
        		/*
        		 * 数组的基本语法
        		 * 使用长度声明数组
        		 */
        		int[] arr = new int[10];
        		int arr2[] = new int[10];//不推荐
        		System.out.println(arr[1]);//0
        		System.out.println(arr[5]);//0
        		System.out.println(arr[8]);//0
        		System.out.println(arr[9]);//0
        		//System.out.println(arr[10]);//越界"异常"
        		
        		char[] chs = new char[5];
        		//编号为0的字符是控制字符,输出没结果
        		System.out.println(chs[1]); 
        		System.out.println((int)chs[1]);
        	}
        
    2. 使用元素初始化数组

      1. 原理:
        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjHzTpi3-1569736051121)(https://i.imgur.com/sREmxpr.png)]
      2. 案例:
        	public static void main(String[] args) {
        		/*
        		 * 使用元素初始化数组 
        		 */
        		int[] arr = {2,3,5,7};
        		int[] arr2 = new int[] {2,3,5,7};
        		System.out.println(arr[1]);//3
        		System.out.println(arr2[1]);//3
        		
        		int[] arr3;
        		//arr3 = {2,3,4,5}; //编译错误 
        		//{元素,元素} 只能用在声明变量并且同时初始化
        		arr3 = new int[] {3,4,5,6};//不能省略new int[] 
        		System.out.println(arr3[2]);//5
        		
        	}
        
    3. 以上两种数组初始化差别:

      1. 当数组元素数量非常多,或者数组元素是未知的时候,应该采用 长度初始化数组。
      2. 当数组元素数量不多并且已经知道每个元素的值的时候,则应该采用元素初始化数组。
  3. 访问数组元素

    1. 使用数组下标读写数组元素
    2. 案例:
      	public static void main(String[] args) {
      		/*
      		 * 修改数组中的值
      		 * 读写方式:数组变量名[下标] 读写数组中元素
      		 */
      		int[] arr = {2,3,5,7};
      		//           0 1 2 3
      		//获取数组的元素数据
      		int n = arr[1]; //n=3
      		System.out.println(n); //3
      		//修改数组中的元素数据
      		arr[1] = 8;
      		n = arr[1];//n=8
      		System.out.println(n);//8
      		//直接读写 数组中元素数据
      		arr[2]++;//5->6
      		System.out.println(arr[2]);//6
      	}		
      
  4. length 属性

    1. length 属性用于动态检查一个数组的长度

    2. length 经常用于数组遍历算法

    3. 案例1:

      	public static void main(String[] args) {
      		/* 
      		 * 动态检查一个数组的长度
      		 * 
      		 * Java中数组创建以后,其长度不可更改
      		 * length 属性只能读取不能更改。
      		 */
      		int[] arr = {3,1,4,5};
      		int n = arr.length; 
      		//.length 属性可以获取数组的长度
      		System.out.println(n); //4
      		//.length 是只读属性,不能修改值
      		//arr.length = 9; //编译错误
      		
      		/*
      		 * 数组长度的用途:遍历数组的每个元素
      		 * 遍历:Iterate 的翻译,意义为:重复处理每个元素
      		 */
      		//计算一个数组中所有元素数值的平均值
      		int[] arr2 = {2,1,5,7,2,4,9}; //length=7
      		//            0 1 2 3 4 5 6
      		//分析:             i    i++    <length
      		int sum=0;
      		for(int i=0; i<arr2.length; i++) {
      			//i = 0 1 2 3 4 5 6
      			sum += arr2[i];//代表数组中每个元素
      		}
      		double avg = (double)sum/arr2.length;
      		System.out.println(avg); 
      						
      		//利用数组遍历算法计算数组元素的平均值
      	} 
      
    4. 案例2:

      1. 原理:
      2. 代码:
        	public static void main(String[] args) {
        		/* 
        		 * 查找数组中最大值
        		 */
        		int[] arr = {3,1,3,10,19,2,1,3};
        		int max = arr[0];
        		for(int i=1; i<arr.length; i++) {
        			if(max<arr[i]) {
        				max = arr[i];
        			}
        		}
        		System.out.println(max);
        	}
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值