Java浅谈数组

Posted 山河故人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java浅谈数组相关的知识,希望对你有一定的参考价值。

数组:

编程语言中最常见的一种数据结构,数组就是内存中一段连续的存储空间。可以用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素。

1.java数组:

  具有相同的数据类型,长度是固定的,通过索引或者下标来访问数组中的数据。(数组也是一种数据类型,它本身是一种引用类型)

2.定义数组:

语法: type [] arrayName; 或    type  arrayName[];     推荐使用第一种格式,其具有更好的可读性。

注:定义数组是不能指定数组的长度。

3.数组的初始化:

所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。初始值的获取有两种形式:1,由系统自动分配;2,由程序员指定。

静态初始化:初始化时程序员显示指定每个数组元素的初始值,由系统决定数组长度。

  语法:

  arrayName=new type[]{e1,e2,e3,.....};    其中type为数组元素的数据类型。

动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。

  语法:

  arrayName=new type[length];    其中type为数组元素的数据类型。

//写法1
int []array=new int[]{12,14,57,22};
//写法2:简化写法
int []array={12,14,57,22};
//写法3:只指定数组的长度
int array[]=new int[4];

注:不要同时使用静态初始化和动态初始化,也就是说不要在进行数组初始化时,既指定数组的长度也为每个数组元素分配初始值。

注:系统分配数组初始化值规则:

  1基本类型中的整数类型(byte ,int ,short ,long)则数组元素值是0;

  2基本类型中的浮点类型(float ,double)则数组元素的值是0.0;

  3基本类型中的字符类型(char)则数组元素的值是"\u0000";

  4基本类型中的boolean类型则数组元素的值是false;

  5数组元素类型是引用类型(类 ,接口 ,数组)则数组元素的值是null;

4.使用数组 

  1访问数组元素(包括对数组元素进行赋值和取出数组元素的值),使用数组的length属性。

  数组的索引是从0开始的!!!第一个元素的索引值是0,最后一个数组元素的索引值是数组长度减1(length-1)。

注:索引小于0或者大于等于数组的长度,编译程序不会出现任何错误,但运行时会出现异常类型为:ArrayIndexOutOfBoundsException(数组越界异常)

 

int []array={1,2,3,4,5,6,7,8,9};
//输出第1个元素
System.out.println(array[0]);
//为第3个元素赋值
array[2]=9;

  2遍历数组元素(for循环遍历,foreach遍历)

 

//遍历下面的数组
String [] array={“刘德华”,“郭富城”,“张学友”,“黎明”};
//for循环遍历
forint i=0;i<array.length;i++){
   System.out.println(array[i]);                
}
//foreach遍历
for(String arr:array){
   System.out.println(arr);       
}

注:使用foreach循环迭代数组元素时,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。

 

以上是关于Java浅谈数组的主要内容,如果未能解决你的问题,请参考以下文章

Java浅谈数组之内存分析

Java浅谈数组之内存分析

浅谈java 数组内存原理

浅谈Java内存结构

浅谈Java中set.map.List的区别

https://github.com/miaozhongfeng/my-repository.git浅谈数组求和java实验