数组:三种初始化及内存分析 、下标越界及小结、数组的使用 2021-11-23

本文探讨了Java中数组的三种初始化方式——静态初始化、动态初始化和默认初始化,并详细分析了数组在内存中的分布,特别是堆、栈和方法区的角色。同时,文章强调了数组的四个基本特点,包括长度固定、元素同类型、可包含任何数组类型以及数组变量为引用类型。还提到了数组下标越界的错误以及如何避免。最后,简单介绍了数组的使用,包括下标合法区间和数组在实际编程中的应用。
摘要由CSDN通过智能技术生成

Day19

数组

三种初始化及内存分析

java内存分析:
堆:存放new的对象和数组,可以被所有线程共享,不会存放别的对象引用
栈:存放基本变量类型,引用对象的变量(会存放这个引用在堆里面的具体地址)
方法区:可以被所有的线程共享、包含了所有的class和static变量
在这里插入图片描述

package com.wuxin.array;

public class ArrayDemo01 {
//变量的类型 变量的名字 =变量的值;
public static void main(String[] args) {
int[] nums; //声明一个数组

    //int nums2[];  //不推荐使用
    nums = new int[10];   //创建一个数组

    //3。给数组元素中赋值
    nums[0] = 1;
    nums[1] = 2;
    nums[2] = 3;
    nums[3] = 4;
    nums[4] = 5;
    nums[5] = 6;
    nums[6] = 7;
    nums[7] = 8;
    nums[8] = 9;
    nums[9] = 10;

    System.out.println(nums[10]);
}

}

数组下表越界:
ArrayIndexOutOfBoundsException

在这里插入图片描述

数组的三种初始化状态

静态初始化

int[] a = {
   1,2,3};

动态初始化

int[] a = new int[2];
a[0] = 1;
a[1] = 2;

数组默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

package com.wuxin.array;

public class ArrayDemo02 {
   
    public static void main(String[] args) {
   
        //静态初始化:创建+赋值
        int[] a = {
   1,2,3,4,5,6,7,8};
        System.out.println(a[0]);

        //动态初始化:包含默认初始化
        int[] b = new int[10];
        b[0] = 10;
        System.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值