Java程序的变量大体可分为成员变量和局部变量。
1.局部变量
局部变量的作用时间很短暂,它们都被存储在方法的栈内存中。局部变量可分为如下3类:
形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。
方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化。这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。
代码块内的局部变量:在代码块内定...
6年前 (2018-11-01) 1788℃
0喜欢
当数组引用变量指向一个有效的数组对象之后,程序就可通过该数组引用变量来访问数组对象。Java 语言不允许直接访问堆内存中的数据,因此无法直接访问堆内存中的数组对象,程序将通过数组引用变量来访问数组。Java 语言避免直接访问堆内存中的数据可以保证程序更加健壮,如果程序直接访问并修改堆内存中数据,可能破坏内存中的数据完整性,从而导致程序Crash。
只要在已有数据类型之后增加方括号,就会产生一个新的...
6年前 (2018-11-01) 1527℃
0喜欢
引用类型数组的数组元素依然是引用类型的,因此数组元素里存储的还是引用,它指向另一块内存,这块内存里存储了该引用变量所引用的对象(包括数组和Java 对象)。
为了说明引用类型数组的运行过程,下面程序先定义一个 Person 类,然后定义了一个Person[]数组,并动态初始化了该 Person[]数组,再显式为数组的不同数组元素指定值。该程序代码如下。
public class Person
...
6年前 (2018-11-01) 1585℃
0喜欢
对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此基本类型数组的初始化比较简单:程序直接先为数组分配内存空间,再将数组元素的值存入对应内存里。
下面程序采用静态初始化的方式初始化了一个基本类型的数组对象。
public class PrimitiveArrayTest
{
public static void main(String[] args)
...
6年前 (2018-10-31) 1613℃
0喜欢
Java SE中规定:使用Java数组之前必须先初始化数组,也就是为数组元素分配内存空间,并指定初始值。实际上,如果真正掌握了Java数组在内存中分配机制,那么完全可以换一个方式来初始化数组,或者说,数组无需经过初始化。
始终记住:Java 的数组变量是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量。示例如下。
public class Array...
6年前 (2018-10-31) 1553℃
0喜欢
Java 语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java 程序中的数组必须经初始化才可使用。所谓初始化,就是为数组对象的元素分配内存空间,并为每个数组元素指定初始值。
数组的初始化有以下两种方式。
静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配...
6年前 (2018-10-30) 1261℃
0喜欢