Java基础之数组

数组的概念

如果我们需要多次重复执行某一段代码,循环可以帮我们解决麻烦。
如果我们需要在不同的地方多次的使用一段代码,方法可以帮我们解决麻烦。
那如果我们需要很多相似的数据,变量怎么办呢?
这个时候数组来了,所谓的数组就是一组数据类型相同的数据(或者说变量)的集合这些数据(变量)可以按照统一的方式进行一系列的操作。
因此
数组的作用:存放一组相同数据类型的数据
数组的定义方法
java中定义数组的语法有两种

//1.在java中,我们大多都使用这一种
数据类型 [] 数组名;
//例如
int [] nums;
//2.这一种见的不多,但是也可以使用,见到一定要认识
数据类型 数组名 [];
//例如
int  nums[];

数组的创建
java中数组的创建也有两种:
1.动态创建
动态创建也分为两种:

数组名 = new 数据类型[数组长度];
nums1 = new int[5];
数组名 = new 数据类型[]{1,值2,值3......};
nums2 = new int[]{1,2,3,5,6};

2.静态创建

数据类型[] 数组名 = {1,值2,值3........};

数组的初始化
和我们之前学到的变量相似,我们可以在声明数组的同时,对数组进行初始化,也可以在声明后进行数组的初始化。

//例如(静态初始话)
int nums1 = {1,2,3,5,6};
//动态初始化
int num2 = new int[5];
num[0] = 12;
num[1] = 1;

数组的引用
细心的同学已经发现了,我们之前没有见过的东西num[0]=12;它是什么意思呢?
这就不得不提数组的引用了,数组可以通过下标来引用数组。
大家注意了,数组是引用数据类型。 当我们创建数组的时候,系统会为我们开辟出一片空间,因此数组需要使用索引(或者是我们更喜欢说的下标)来进行元素的访问,还有大家要注意一点:数组的下标是从0开始的,所以数组下标的范围就是0~数组长度-1
注:数组的长度也可以写成

数组名.length
nums.length

数组的存值

数组名[下标] = 值;
//例如
nums[0] = 12;

数组的取值

数据类型 变量名 = 数组名[下标]int i = nums [0];

数组的常见问题:
1.ArrayIndexOutOfBoundsException:数组下标越界异常
2.NullPointerException:空指针异常
根据名字,相信大家也可以看出,上面的两个异常是怎么出现的,碰见了这两个异常,不要慌,注意检查代码数组的下标

可变参数
大家来看一段代码:

//参数的数据类型一定要与,前面的数据类型一致
//在下面的代码里,参数的数据类型是int
public static void num1(int... nums){}

这个方法的参数居然还有…,是不是觉得这个函数比较不正经?其实这个就是可变参数,即参数的数量是可以发生改变的。
大家是不是觉得,这个东西特别像我们今天学的数组。
没错,我们可以认为,可变参数就是数组在形参的另一种写法

public static void num2(int []nums){}

这两种方法都是可以的

斐波那契数列
既然提到了这,那就再给大家说说斐波那契数列,是不是感觉这个名字很厉害
其实斐波那契数列就是,第一个数+第二个数,然后第二个数再与,第一个数+第二个数得到的第三个数相加,就这样不断累加形成的数列就叫斐波那契数列。
不多说,上代码

public class Text{
	public static void main(String[] args){
		int num1 = 1;
		int num2 = 1;
		test(num1,num2);
	}
	public static void test(int i1,int i2){
		int i3 = i1 + i2;
		System.out.println(i3);
		if(i3 < 1000){
			test(i2,i3);
		}
	}
}

这就是求一段的斐波那契数列的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值