• Java数组和内存控制


    1、数组初始化

    1.1 Java数组是静态的

       Java语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java程序中的数组必须经初始化才可使用。所谓初始化,就是为数组对象的元素分配内存空间,并为每个数组元素指定初始值,一旦初始化完成,该数组长度就不可改变。

      数组初始化有以下两种方式:

    • 静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。
    • 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
    package test;
    import java.lang.reflect.Array;
    import java.util.Arrays;
    
    public class Test{
        
        public static void main(String[] tags){
            //静态初始化方式一
            String[] array1 = {"1","2"};
            Arrays.stream(array1).forEach(e->{System.out.print(e + " ");});
            System.out.println();
            //静态初始化方式二
            String[] array2 = new String[]{
                "1","2","3"
            };
            Arrays.stream(array2).forEach(e->{System.out.print(e+" ");});
            System.out.println();
            //动态初始化(引用类型)
            String[] array3 = new String[5];
            Arrays.stream(array3).forEach(e->{System.out.print(e+" ");});
            System.out.println();
            //动态初始化(基本类型)
            int[] array4 = new int[5];
            Arrays.stream(array4).forEach(e->{System.out.print(e+" ");});
        }
    }

    结果:

    盗用书上的图,虽然跟例子对不上,但是数组为引用类型,存储结构如下:

    1.2 数组一定要初始化吗

      我们学习Java基础的时候一定记得:使用Java数组之前必须先初始化数组,也就是为数组元素分配内存空间,并指定初始值。实际上,如果真正掌握了Java数组在内存中分配的机制,那么完全可以换一个方式来初始化数组。

      始终记住:Java数组变量是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量。

      

    身体是革命的本钱,爱跑步,爱生活!
  • 相关阅读:
    mybatis 入门基础
    spring学习总结
    综合练习:词频统计
    组合数据类型综合练习
    Python基础综合练习
    熟悉常用的Linux操作
    1.大数据概述
    C程序语法(无左递归)
    文法规则
    实验一词法分析报告
  • 原文地址:https://www.cnblogs.com/caozx/p/9458996.html
Copyright © 2020-2023  润新知