• 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数组变量是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量。

      

    身体是革命的本钱,爱跑步,爱生活!
  • 相关阅读:
    java 数组的基本概念
    java 简单类
    python3 爬虫教学之爬取链家二手房(最下面源码) //以更新源码
    python3 爬虫之爬取安居客二手房资讯(第一版)
    python3 怎么统计英文文档常用词?(附解释)
    python3 怎么爬取新闻网站?
    ASP.NET 线程详解
    EF6 对于实体字段类型转换扩展
    mysql之调优概论
    mysql8之与标准sql的区别
  • 原文地址:https://www.cnblogs.com/caozx/p/9458996.html
Copyright © 2020-2023  润新知