java数组定义格式,数组初始化,数组元素访问,内存分配,数组操作的两个常见问题,数组常见操作

数组是一种存储多个相同类型数据的模型。在Java中,数组必须先初始化再使用,可以动态或静态初始化。数组元素通过索引访问,索引从0开始且连续。数组存储在堆内存中,局部变量存储在栈内存。常见的数组操作问题包括索引越界和空指针异常。可以通过length属性获取数组元素数量,遍历数组并找到最大值或最小值。
摘要由CSDN通过智能技术生成

一.数组定义格式
1.什么是数组
      数组(array)是一种用于存储多个相同类型数据的存储模型
2.数组的定义格式
      格式一:数据类型[] 变量名 
      例如:int[]arr
      定义了一个int类型的数组,数组名是arr
      格式二:数据类型 变量名
      例如:int  arr[]
      定义了一个int类型的变量,变量名是arr数组
      推荐使用格式一
二.数组初始化
1.数组初始化概述
      java中的数组必须先初始化,然后才能使用
      初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
2.数组初始化方式
      ①动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
      格式:数据类型[]变量名=new 数据类型[数组长度];
      例如:int[]arr=new int[3];
      ②静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
      格式:数组类型[]变量名=new 数据类型[]{数据1,数据2,数据3...};
      例如:int[] arr = new int[]{1,2,3};
      简化格式:数据类型[]变量名={数据1,数据2,数据3....};
      例如:int[] arr={1,2,3};
三.数组元素访问
      数组变量访问方式
      格式:数组名
      数组内部保存的数据的访问方式
      格式:数组名[索引]
      索引是数组中数据的编导方式
      作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
      特征①:索引从0开始
      特征②:索引是连续的
      特征③:索引逐一增加,每次加一
四.内存分配
      1.栈内存:存储局部变量
        定义在方法中的变量,例如:arr
        使用完毕,立即消失
      2.堆内存:存储new出来的内容(实体,对象)数组在初始化时,会为存储空间添加默认值
               整数:0
               浮点数:0.0
               布尔:false
               字符:空字符
               引用数据类型:null
      每个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收
五.数组操作的两个常见问题
      索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
      空指针异常:访问的数组已经不在指向堆内存的数据,造成空指针异常
      null:空值,引用数据类型的默认值,表示不指向任何有效对象
六.数组常见操作
1.获取数组元素数量
      格式:数组名.length
      范例:arr.length
      遍历通用格式:


                 int[] arr = {....};
                 for(int x=0;x<arr.length;x++){
                      arr[x];
                 }


2.获取最值


      int[] arr = {12,45,98,73,60};


      思路:
      ①定义一个变量,用于保存最大值(或最大值)


      int max;


      ②取数据中第一个数据作为变量的初始值


      int max = arr[0];


      ③与数组中剩余的数据逐个比对,每次比对将最大值保存到变量中 


      for(int x=1;x<arr.length;x++){
           if(arr[x]>max){
              max=arr[x];
           }
      }


      ④循环结束后打印变量的值


      System.out.println(“max:”+max);      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值