JAVA学习笔记五.数组

数组可以用来存储一个元素个数固定且元素类型相同的有序集。

声明一个数组变量时并不在内存中给数组分配任何空间,只是创建一个对数组的引用的存储位置。如果变量不包含任何对数组的引用,那么这个变量的值为null。除非数组已经被创建,否则不能给它分配任何元素。

一个数组变量看起来似乎存储了一个数组,但实际上存储的是指向数组的引用。

数组被创建后,其元素被赋予默认值。数值型基本数据类型的默认值为0,char型的默认值为'\u0000',boolean型的默认值为false

对于char[]类型的数组,可以使用一条打印语句打印。

foreach循环

foreach循环,不适用下标变量就可以顺序遍历整个数组。

for(elementType element: array){
    // process the element
}

数组的复制

list2 = list1

如果使用赋值语句,并不能将list1引用的数组内容复制给list2,而只是将list1的引用值复制给了list2。list2和list1指向同一个数组,则list2原先引用的数组不能再引用,会被JVM收回。在Java中可以使用赋值语句复制基本数据类型的变量。

Java按值传递的方式将实参传递给方法。

  • 对于基本数据类型参数,传递的是实参的值。
  • 对于数组类型参数,参数值是数组的引用,给方法传递的也是引用。所以如果改变方法中的数组,可以看到方法外的数组也会变化。

数组在Java中是对象,JVM将对象存储在堆这个内存区域中。

可变长参数列表

可以把类型相同但个数可变的参数传递给方法。声明方法如下:

typeName...parameterName(类型名...参数名)

只能给方法中指定一个可变长参数,并且该参数必须是最后一个参数,任何常规参数必须在它之前。JAVA将可变长参数当成数组对待。

Arrays类

java.util.Arrays类包含各种静态方法,用于实现数组的排序、查找、比较、填充、返回数组的字符串表示。

  • 排序:sort(可以指对数组的部分元素排序)
  • 检测是否相等:equals
  • 填充:fill,可以填充整个或部分数组
  • toSreing:返回一个字符串

命令行参数

向main方法传递字符串

从命令行给main方法传递字符串参数:

java TestMain arg0 arg1 arg2

如果字符串包含空格,必须使用双引号括住。在调用main方法时,Java解释器会创建一个数组存储命令行参数,然后将该数组的引用传递给args。

多维数组

二维数组的每一个元素都是一个一维数组,均可以获得其长度。

锯齿数组:每一行本身就是一个数组,各行的长度可以不同。

注意语法 new int[][]是错误的。

二维数组由一个一维数组的数组组成,而一个三维数组可以认为是由一个二维数组的数组所组成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值