`
林奇峰
  • 浏览: 40956 次
  • 性别: Icon_minigender_1
  • 来自: 濮阳
社区版块
存档分类
最新评论

Java 数组的静态初始化和动态初始化

    博客分类:
  • j2se
阅读更多

 java语言是典型的静态语言,因此java的数组是静态的,即数组初始化之后长度就不可变了。

java程序数组必须被初始化后才可使用,所谓初始化就是为数组每一个元素分配内存空间,并为每个元素指定初始值。

 

必须申明,java数组是对象类型,如:int [ ] a = new int[3]; a是数组对象(a是一个对象引用)

对象数组和数组对象:

这个数组的每个元素都是对象类型---对象数组;

java所有数组都是数组对象,因为java数组本身就是类类型。

 

还有一点必须申明:java二维数组其实是一维数组其中的每个元素都是一个一维数组

 

静态初始化是指由程序员自己为数组对象的每个元素赋值,由系统自动计算出数组的长度;

例如:String[] a=new String[]{"Hello","World","Yes"};

动态初始化是指由程序员自己指定数组对象的长度,由系统先自动为其赋值。程序中程序员可以为元素重新赋值;

例如:String[] b=new String[4];

     for(int i=0;i<b.length;i++){
    b[i]=i+"hello ";
     }

通常基本整数类型byte,short,int,long,初始值为0;

浮点型float,double,初始值为0.0;

boolean类型,初始值为false;

引用类型:类、String、数组等均为null;

 

在使用数组的时候,我们通常有两个步骤:

首先,声明数组引用变量,即String[] a,此时的a并不是一个数组对象,而只是一个相当于指针的变量;

然后,当我们执行new String[]{"Hello","World","Yes"}以后才真正创建了一个数组对象,此时变量a 才指向了堆内存里面的数组对象。下面我们可以看个实例:

 

我们先创建一个数组a,并完成初始化赋值,然后建立一个数组b,并不显现为它赋值,而是让b等于a,从而建立起b到a指向的对象的引用

public class Test
{
public static void main(String[] args) 
{
String[] a=new String[]{"Hello","World","Yes"};
String[] b;
b=a;
for(String temp:b){
System.out.println(temp);
}
}
}

分享到:
评论

相关推荐

    44.java数组静态初始化.zip

    44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...

    52.java二维数组静态初始化.zip

    52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化....

    数组动态初始化与静态初始化的区别

    动态初始化: 手动输入数组的长度,由系统给出默认初始值.(只明确元素的个数,不明确具体的值) ...数组静态初始化: 数据类型[] 数组名=new 数据类型[]{元素1,元素2...} eg: int [] arry=new int[]={11,22,33}

    Java中一维二维数组的静态和动态初始化

    今天通过本文给大家分享Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化问题,感兴趣的朋友一起看看吧

    5-Java数组与方法

    本章主要介绍数组的概念及定义,并简单介绍了数组的引用传递,及数组的动态、静态初始化及二维数组的定义和使用。

    Java数组讲解

    //在定义数组时,如果确定数组的各个元素,可以进行静态初始化 ,在创建数组时,给数组元素赋初值 int [] data2 = new int[] {34,56,765,78}; //注意静态初始化时,不需要指定数组的长度 //通过foreach循环遍历, 增强的...

    Java数组的定义、初始化、及二维数组用法分析

    主要介绍了Java数组的定义、初始化、及二维数组用法,结合具体实例形式分析了java数组概念、功能、数组定义、静态数组、动态数组、二维数组等相关使用技巧,需要的朋友可以参考下

    38-数组(静态初始化-常见问题).avi

    价值上万的Java精品网课教程\第04天(数组)

    数组学习心得

    4. Java Array 1) 数组变量的声明 int[] ary; 声明了数组变量 ary, 数组... 3) 数组对象的静态初始化, 只能用在声明数组变量时候同时初始化 * 不能用于赋值语句 int[] ary = {1,2,3}; ary = {3,4,5,6};//编译错误

    Java数组及其内存管理

     · 静态初始化:初始化是指定数组的元素的值,由系统决定其长度。  String[] datas = new String[]{"java","C++","html"};  · 动态初始化:指定长度,由系统为数组元素分配初始值。  String[] datas = ...

    java学习笔记-java思维导图流程图表格整理

    静态初始化 26 动态初始化 26 默认初始化 26 数组的四个基本特点 27 二维数组 27 Arrays类 28 稀疏数组 29 面向对象编程 32 值传递和引用传递 33 创建和初始化对象 34 封装 34 继承 37 super 37 方法重写 39 多态 39...

    Java基础[02-Java基础语法2].ppt

    本章节主要涉及的范围包含:数组的定义、数组的初始化(动态初始化)、数组元素访问、数组内存分配、数组的初始化(静态初始化)、数组中的操作、方法的概述、方法的定义、方法的特点、方法的应用、方法的重载

    java顺序表的基本操作.docx

    在Java中,顺序表(Sequential List)是一种常见的线性数据结构,它以连续的...可以选择使用数组的静态初始化或动态初始化来创建顺序表。 可以定义一个变量来记录顺序表的大小,也可以直接使用数组的长度。 插入元素:

    实验二 方法的定义、重载;数组的应用 定义一个数组,将序列{0,1,2,3,4}赋值给数组,并写一个方法用来访问数据的每一个元素

    1)定义一个数组,在初始化数组时有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。可以在定义数组时将序列{0,1,2,3,4}赋值给数组2)定义一个方法printArr()输出数组的元素,可以用for循环...

    javacore:java核心 运算符,控制语句,函数,异常,集合,线程,数组,IO流,网路编程,设计模式,java8,面试相关

    静态初始化 数组的特点 面向对象 对象的创建 成员变量和局部变量 匿名对象 面向对象的三大特征 构造函数 代码块 代码块的说明 this关键字 static关键字 使用static关键字统计类的创建次数 面向对象 main函数 设计...

    【03-流程控制与数组】

    •静态初始化:初始化时由程序员显式指定每个数组的初始值,由系统决定需要的数组长度。 •动态初始化:初始化时程序员指定数组长度,由系统为数组元素分配初始值 动态初始化 •arrayName = new type[ ...

    Java中如何存储数据的(2)—数组

    (a)静态初始化 int [] array = {1,2,3,4}; 注意:大括号后面是有分号的 (b)动态初始化  int [] array = new int[5];//这里的5表示数组的元素个数,初始化一个5个长度的int类型数组,每一个元素默认值0 ...

    Thinking in java4(中文高清版)-java的'圣经'

    显式的静态初始化 5.7.4. 非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常...

    Java 基础核心总结 +经典算法大全.rar

    类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 ...

    Java入门教程(微学苑)-part1

    2.8 Java数组的定义和使用 31 2.9 数组的定义和内存分配 31 2.10 数组的初始化 31 2.11 数组引用 32 2.12 数组的遍历 32 2.13 二维数组 33 2.14 Java字符串(String) 35 2.15 字符串操作 35 2.15.1.1 1) length() ...

Global site tag (gtag.js) - Google Analytics