Java基础之数组

更新时间:2020-08-12 10:08:16点击次数:228次
数组的概念
如果我们需要多次重复执行某一段代码,循环可以帮我们解决麻烦。
如果我们需要在不同的地方多次的使用一段代码,方法可以帮我们解决麻烦。
那如果我们需要很多相似的数据,变量怎么办呢?
这个时候数组来了,所谓的数组就是一组数据类型相同的数据(或者说变量)的集合这些数据(变量)可以按照统一的方式进行一系列的操作。
因此
数组的作用:存放一组相同数据类型的数据
数组的定义方法
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);
}
}
}

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

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息