摘要:静态初始化初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。使用数组数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。
理解数组:数组也是一种类型
Java的数组要求所有数组元素具有相同的数据类型.
一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变.如:
public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = new int[2]; arr[0] = 0; arr[1] = 1; arr[2] = 2; for(int i = 0;i < arr.length;i++){ System.out.println(arr[i]); } }
上述代码在运行的时候会报错---Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
定义数组Java语言支持两种语法格式来定义数组:
type[] arrayName;
type arrayName[];
对于这两种语法格式而言,通常推荐使用第一种格式。因为第一种格式不仅具有更好的语意,而且具有更好的可读性。
数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才可以使用。
所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。
数组的初始化有如下两种方式。
静态初始化: 初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。
动态初始化: 初始化时程序员只指定数组长度,有系统为数组元素分配初始值。
使用数组数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。Java语言的数组索引值为数组长度减1.如果访问数组元素时指定的索引值小于0,或者大于等于数组的长度,编译程序不会出现任何错误,但运行时出现异常: java.lang.ArrayIndexOutOfBoundsException.
foreach循环String[] names = {"zuckjet", "zuckberg"}; for (String name: names) { System.out.println(name); }
使用foreach循环迭代变量数组元素时,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。
探究数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存中是分开存放的。
与所有引用变量相同的是,引用变量是访问真实对象的根本方式。也就是说,如果希望在程序中访问数组对象本身,则只能通过这个引用变量访问它。实际的数组对象被存储在堆内存中。
如果内存中数组不再有任何引用变量指向自己,则这个数组将成为垃圾,该数组所占的内存将会被系统的垃圾回收机制回收。因此,为了让垃圾回收机制回收一个数组所占的内存空间,可以将该数组变量赋为null.
int[] a = {1, 3, 5}; int[] b = {2, 4, 6, 8}; b = a; System.out.println(b.length) //3
a变量和b变量都引用了第一个数组。此时第二个数组失去了引用,变成了垃圾,只有等待垃圾回收机制来回收它。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67388.html
摘要:是完全面向对象的语言,对象具有状态行为和标识。类一一是具有共同特征和行为的一类事物的统称。受保护的,对同一包内的类和所有子类可见。一种通用的内存池,用于存放所有对象。类级变量又称全局级变量或静态变量,需要使用关键字修饰。 java语言的基本特点 java语言是面向对象的高级程序设计语言,它是编译型的语言,Java语言不使用指针,并提供了自动的垃圾回收机制,使得程序员不必为内存管理而担...
摘要:单线程集合本部分将重点介绍非线程安全集合。非线程安全集合框架的最新成员是自起推出的。这是标准的单线程阵营中唯一的有序集合。该功能能有效防止运行时造型。检查个集合之间不存在共同的元素。基于自然排序或找出集合中的最大或最小元素。 【编者按】本文作者为拥有十年金融软件开发经验的 Mikhail Vorontsov,文章主要概览了所有标准 Java 集合类型。文章系国内 ITOM 管理平台 O...
阅读 2994·2021-11-24 10:21
阅读 1567·2021-10-11 10:57
阅读 2766·2021-09-22 15:24
阅读 2618·2021-09-22 14:58
阅读 2306·2019-08-30 13:16
阅读 3468·2019-08-29 13:05
阅读 3395·2019-08-29 12:14
阅读 3366·2019-08-27 10:55