JAVA基础(数组(1))

声明:本人也是刚开始学Java不久,所以有什么不足之处,或者是有一些知识点上的误区请大家帮忙指点出来。谢谢了!
我在学数组这一章的时候有一些知识误区,所以今天想把自己总结的一些觉得比较重要东西写出来,以免初学者遇到同样的问题。
-------------------------------
数组,顾名思义,就是一组数据。并且是相同类型的一组数据。比如int,char等等一系列类型相同的数据组成。数组的定义方式如下:
	int[] arr =new int[5];
	int:数据类型
	arr:数组名称
	int[5]:其中的5是数组的长度

上述语句创建了一个如下数组
这里写图片描述

注意:该数组是一维数组,所以如果直接声明了长度而不赋值,那么每个位置的元素都默认为0。

定义数组的基本要点:
1.确切的数据类型。
2.数组名称
3.不能缺少[]

int[] arr = new int[5];
int arr[] = new int[5];
以上两种书写方式都是正确的。

而其中的new语句则是为了在堆中开辟了它自己的空间。
需要注意的是:如果将一个数组的地址赋给了另一个数组,那么它们便会有同一个所属的地址,它们无论其中任意一个数组发生变化,另一个也会随之而发生改变。
例: int[] arr1 = new int[3];
int[] arr2 = {1,2,3};
arr1 = arr2;
//这时候arr1的地址就变成了arr2的地址,并且其中的内容也发生了变化,变成了 1,2,3 。
接着上次还没有讲完的继续。

for(int i=0;i<arr1.length;i++){
arr1[i] = 1;
}

**//当arr1的值变化时,arr2的值也会随之改变,变得和arr1当中的数据一样。arr1和arr2的内容都变成了 1,1,1 。
之所以会变化是由于指向性的问题。这里就涉及到堆栈的知识了,这是非常重要的知识点。希望大家有空去了解一下。
		
当其基本类型确定之后,其元素的默认值分别为:byte,short,int,long默认值为0。boolean默认值为false。float,double默认值为0.0。
而在数组这章当中我认为最重要,又比较容易忽略的就是数组长度,和与之对应下标的关系。
其实也不难,只要记住:“下标从0开始,长度从1开始。” 
举个例子吧,如果我们需要打印一个数组,这个数组的长度为3。如果我们这样写
for(int i=1;i<=arr.length;i++)
{
 System.out.println(arr[i]);
 }
 那么绝对会报错,因为超出了它的原本长度,并且最后指向了一个为空的地方。![这里写图片描述](https://img-blog.csdn.net/20161205133324148)
 大家看这个图就能够明白,下标和数组长度的对应关系。下标的数组长度为length-1(数组长度-1)。如果访问的下标超过了length-1,那么就会报错。**
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值