java数组

数组

1.数组

数组是一种用来存储多个相同类型数据的存储模型。

定义格式:数据类型[] 变量名—>定义了一个为xxx类型的数组,数组名称为XXX;数据类型 变量名[]—>定义了一个为xxx类型的变量,变量名为XXX;

2.数组初始化

Java中的数组必须先初始化然后才能使用,所谓初始化就是为数组中的数组元素分配内存空间,并为每个数组元素进行赋值。

动态初始化就是在初始化的时候只指定数组长度,由系统位数组分配初始值。数据类型[] 变量名=new 数据类型[数组长度];

静态初始化就是在初始化时指定每个数组元素的初始值,有系统决定数组的长度。数据类型[] 变量名=new 数据类型[]{数据1,数据2,数据3,……} 简化格式如下:数据类型[] 变量名={数据1,数据2,数据3,……}

3.数组元素访问

数组变量访问方式 :数组名

数组内部保存的数据的访问方式:数组名[索引]

ps:索引用来访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名

4.内存分配

栈内存:存储局部变量

堆内存:存储new出来的内容,数组在初始化时,会为存储空间添加默认值。每一个new出来的东西都有一个地址值,使用完毕之后会在垃圾回收器空闲时被回收。

数组在初始化时,会为存储空间添加默认值。整数默认为0,浮点数默认为0.0,布尔值默认为false,字符默认为空字符,引用数据类型默认为null。

5.数组操作中常见问题

  • 索引越界:访问数组中不存在的索引对应的元素,造成索引越界。

  • 空指针异常:访问的数组已经不再只想堆内存中的数据,造成空指针异常。

public class test{
    public static void main(String[] args){
        int[] arr=new int[3];
        System.out.println(arr[3]);//索引越界
        arr=null;
        System.out.println(arr[2]);//空指针异常
        //ps:null指的是空值,引用数据类型的默认值,表示不知想任何有效数据
    }
}

6.数组常见操作

1.遍历:获取数组中的元素。
public class test{
public static void main(String[] args){
	int[] arr={11,22,33,44};
	//1.通用的遍历方式
	for(int i=0;i<arr.length;i++)
		System.out.println(arr[i]);
	}
}
2.获取最值:获取数组中的最大值
public class test{
public static void main(String[] args){
	int[] arr={150,165,143,167,180};
	//2。获取数组最值
	int max=arr[0];
    for(int i=1;i<arr.length;i++){
        if(arr[i]>max){
        	max=arr[i];
            }
        }
        System.out.println("max:"+max);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值