数组使用

数组的基本概念:

如果说现在要定义100个整形变量,那么按照传统的做法,实现如:int i1,i2,i3,...

这种方式可以定义,但在维护时考虑到一组变量的整体维护,专门创建一组相关变量的集合,在java里为了将数组定义为引用数据类型,可以使用new关键字处理;

1.数组的动态初始化:

  -声明并初始化数组:数据类型 数组名称[] = new 数据类型[长度];

  -声明并初始化数组:数据类型 [] 数组名称 = new 数据类型[长度];

2.数组的静态初始化:在数组定义时为其设置好了里面内容:

  -简化格式:数据类型 数组名称[] = {数据1,数据2,数据3...};

  -完整格式:数据类型 数组名称[] = new 数据类型[]{数据1,数据2,数据3...};

当创建了一个数组后可以按照如下的方式访问:

数组里面可以通过脚标进行每一个元素的访问,脚标从0开始定义;

数组脚标范围为:0 - length-1

对于数组的长度也可以使用 数组名.length 属性获取

数组本身分为动态初始化和静态初始化,动态初始化时数组中每个元素都是其对应数据类型的默认值,随后可以通过下标为数组进行元素值得设置,也可以直接使用静态初始化为数组赋值。

范例:定义数组:

动态初始化:int a[] = new int[3];

静态初始化: int a[] = new int[]{1,2,3};

数组的引用传递:

  通过数组的基本定义可以发现,在数组使用的过程中依然需要通过关键字new进行内存空间的开辟。

由于数组属于引用类型,所以一定要在为其开辟堆内存空间才能使用,否则抛出NullPointerException异常。(必须实例化才能进行其他操作)

foreach迭代输出:

JDK1.5后,为了减轻数组下标对数组的影响(下标处理不当则导致数组下标越界),出现了增强型的foreach循环,利用foreach可以自动访问数组里的每个元素,避免了数组进行下标访问。

for(数据类型 变量:数组 | 集合){}

可以自动得将数组里的每一个元素取出来保存在变量里面,防止数组进行下标访问。

int a = new int[]{1,2,3}
for(int i =1;i < a.length; i++){
  system.out.println(i);  
}
##
for(int temp:a){
    system.out.println(temp);  
}

  二维数组:

二维数组得动态初始化:

数据类型  数组名称 = new 数据类型[行个数][列个数]

二维数组得动态初始化:

数据类型  数组名称 = new 数据类型[][]{{数据,数据,数据,...},{数据,数据,数据,...},{数据,数据,数据,...}..}

数组与方法:

对于引用数据类型而言,主要得特点是可以进行与方法进行引用传递,而数组本身也属于引用类型,所以也可以通过方法实现引用传递得操作。

例子:实现数组得引用传递

public static void main(String[] args){

  int arr = new int[]{1,2,3}; 

  PrintArray(arr);
} 

public static void PrintArray(int temp[]){

  for(i=0;i<temp.length;i++){

    sysout(temp[i]);

  }

}
public static int[] NewArr(){
  int arr[] = new int[]{1,2,3,4,5};
  return arr;//返回数组
}

 既然可以定义方法来接受一个数组作为参数,也可以通过方法返回一个数组对象,对方法得返回值进行控制即可

 

转载于:https://www.cnblogs.com/wangqingjiang/p/11530392.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值