zoukankan      html  css  js  c++  java
  • java数组与内存控制

    1.1数组的初始化

    数组是大多数编程语言都提供一种的复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组。
    java语言的数组变量时引用类型的变量,因此具有java独有的特性。


    java数组是静态的

    Java语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。
    java中的数组必须经过初始化才可以使用。
    所谓初始化,就是为数组对象的元素分配内存空间,并为每个数组元素指定初始值。
    数组的初始化有以下2种:
    静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。

    //采用静态初始化方式初始化第1个数组
    String[] books = new String[]{"猪八戒","孙悟空","沙悟净"}; 
    //采用静态初始化的简化形式初始化第2个数组
    String[] names = {"猪八戒","孙悟空","沙悟净"};
            
    //采用动态初始化的语法初始化第3个数组
    String[] strArr = new String[5];
            
    //访问3个数组的长度
    System.out.println("第1个数组长度为:"+books.length);
    System.out.println("第2个数组长度为:"+names.length);
    System.out.println("第3个数组长度为:"+strArr.length);
            

    引用存在栈区,数组存在堆区。

    java数组是静态的,一旦为数组初始化完成,数组元素的内存空间分配即结束,程序只能改变数组元素的值,而无法改变数组的长度。

     
  • 相关阅读:
    ASP.NET MVC 学习之路由(URL Routing)
    Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
    linux解压zip文件
    /bin/sh^M:解释器错误:没有那个文件或目录
    mysql查看连接情况
    linux编译qt
    没有可用的软件包 xxx,但是它被其它的软件包引用了
    什么是人月
    qt linux 打包
    linux里安装使用svn
  • 原文地址:https://www.cnblogs.com/haiwei_sun/p/3614237.html
Copyright © 2011-2022 走看看