编程语言
首页 > 编程语言> > 跟着狂神学Java:数组(上)

跟着狂神学Java:数组(上)

作者:互联网

一、数组的声明和创建

package com.shao.Arrays;

public class arrayDemo01 {
    public static void main(String[] args) {
        int[] nums;//数组的声明
        nums = new int[5];//数组的创建,分配内存
        nums[0]=0;
        nums[1]=1;
        nums[2]=2;
        nums[3]=3;
        nums[4]=4;

        //计算所有元素之和
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum+=nums[i];
        }
        System.out.println(sum);
    }
}

二、3种初始化以及内存分析

三种初始化:

  1. 静态初始化

  2. 动态初始化

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

package com.shao.Arrays;

public class ArrayDemo02 {
    public static void main(String[] args) {
        //静态初始化,创建+赋值
        int[] a = {1,2,3,4,5};
        System.out.println(a[4]);
        //动态初始化,包含默认初始化
        int[] b =new int[10];
        System.out.println(b[4]);
    }
}

Java内存:

  1. 堆:存放new的对象和数组

    可以被所有线程共享,不会存放别的对象引用

  2. 栈:存放基本变量类型(会包含这个基本类型的具体数值)

    引用对象的变量(会存放这个引用在堆里面的具体地址)

  3. 方法区:可以被所有线程共享

    包含了所有的class和static变量

三、数组边界

  1. 数组下标的合法区间:[0,length-1],如果越界就会报错

  2. 数组是相同数据类型(可以为任意一种类型)的有序集合

  3. 数组也是对象,数组元素相当于对象的成员变量

  4. 数组长度是确定的,不可变的,如果越界,则报异常:ArrayIndexOutOfBoundsException

标签:初始化,Java,变量,nums,int,数组,public,神学
来源: https://blog.csdn.net/m0_59405551/article/details/122354853