`
林奇峰
  • 浏览: 42139 次
  • 性别: 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二维数组静态初始化....

    java数组初始化详解

    在 Java 中,数组的初始化可以分为静态初始化和动态初始化。 静态初始化是指在定义数组时同时初始化数组的值,例如:`int[] a = {1, 2, 3};`。 动态初始化是指在定义数组时不初始化数组的值,而是在后续的代码中...

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

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

    java语法\Java数组声明、创建、初始化

    Java数组的初始化有三种方式:动态初始化、静态初始化和默认初始化。 动态初始化 动态初始化是指数组定义与为数组分配空间和赋值的操作分开进行。例如,`int a[]; a = new int[3];`创建了一个名为`a`的整型数组,...

    Java静态初始化块和对象初始化块

    例如,如果一个类需要在程序运行前设置一个常量数组,静态初始化块就是合适的选择。 ```java public class InitFiledBlockStatic { static int[] staticArray; static { // 静态初始化块中的代码 staticArray ...

    java数组初始化详解修正版.doc

    // 多维数组静态初始化 int[][] a = {{1, 2}, {2, 3}, {3, 4}}; ``` **注意事项**: - **不规则数组**:在 Java 中,多维数组的各个维度大小不必相同。这种特性使得 Java 能够支持不规则数组(也称为“锯齿数组”)...

    java数组的初始化及操作详解

    数组的初始化有两种方式:静态初始化和动态初始化。 1. 静态初始化:在声明数组时赋值,例如:int[] arr = {1, 2, 3, 4, 5}; 2. 动态初始化:声明并开辟数组,例如:int[] arr = new int[5]; 三、数组的访问 数组...

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

    Java中一维二维数组的静态和动态初始化 Java中的数组是一种基本的数据结构,它可以存储多个相同类型的...Java中的数组可以使用静态初始化和动态初始化两种方式进行初始化,一维数组和二维数组的初始化方式都有所不同。

    Java数组与内存控制

    - **静态初始化:** 在声明数组的同时为其指定初始值,例如: ```java int[] arr = {1, 2, 3, 4, 5}; ``` - **动态初始化:** 使用`new`关键字分配内存,但不指定初始值,例如: ```java int[] arr = new int...

    JAVA数组初始化及应用参考.pdf

    `TestS.java`演示了静态初始化数组,包括整型和自定义类型`Time`的数组。 `TestDefault.java`显示了默认初始化数组的情况,数组元素会被自动初始化为0。 ### 5. 总结 Java数组是编程中处理大量数据的有效工具。...

    数组初始化 数组的两种初始化方式

    Java 中数组初始化有两种方式:静态初始化和动态初始化。 静态初始化是指在数组声明时直接赋值的方式,例如:int[] a = {1, 2, 3, 4, 5}; 这种方式可以在数组声明时直接指定数组元素的值。 动态初始化是指在数组...

    Java数组越界问题实例解析

    静态初始化是指在数组声明时同时指定了数组的长度和初始值,而动态初始化则是指在数组声明时只指定了数组的名称和类型,而长度和初始值则是在程序执行时确定的。例如: ```java int[][] array = {{1,2,3},{1,4}}; `...

    Java 数组练习

    数组的初始化有两种方式:静态初始化和动态初始化。 - 静态初始化: ```java int[] myArray = {1, 2, 3, 4, 5}; ``` - 动态初始化: ```java int[] myArray = new int[5]; ``` 在动态初始化时,数组元素...

    java 数组和字符串

    ### Java数组和字符串详解 #### 实验目标与背景 本次实验旨在深化理解Java中的数组与字符串操作,聚焦于`String`类与`StringBuffer`类的掌握,包括它们的常用方法、相等性判断的不同方式、数组的创建及引用机制,...

    Java一维数组的声明初始化和引用-Java教程共2页.p

    这可以通过两种方式完成:静态初始化和动态初始化。 - 静态初始化:在声明数组的同时指定每个元素的初始值。例如: ```java int[] numbers = {1, 2, 3, 4, 5}; ``` - 动态初始化:只声明数组的大小,然后在...

    5-Java数组与方法

    创建数组主要有两种方式:静态初始化和动态初始化。静态初始化是在声明数组时直接赋值,例如: ```java int[] staticArray = {1, 2, 3, 4, 5}; ``` 而动态初始化则只指定数组长度,值在后续操作中赋给数组元素: ```...

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

    Java数组的初始化分为两种方式:动态初始化和静态初始化。动态初始化是指在数组创建之初不指定其内容,而是使用默认值。静态初始化是指在数组创建之初直接指定其内容,例如: 静态初始化int [] score={2,5,6,7,6,7}...

    java数组

    初始化数组有两种方式:静态初始化和动态初始化。 - 静态初始化: ```java int[] numbers = {1, 2, 3, 4, 5}; ``` - 动态初始化: ```java int[] numbers = new int[5]; // 先声明长度 for (int i = 0; i ;...

    Java基础--Java数组的认识(通透!!!)

    数组的初始化有两种:静态初始化和动态初始化。静态初始化是指在声明数组时同时赋值,例如int[] x = {1, 2, 3}; 动态初始化是指先声明数组,然后再赋值,例如int[] x; x = new int[3]; (5)数组元素的访问和应用 ...

Global site tag (gtag.js) - Google Analytics