从零基础接触java第四周第一节

  上一次跟大家说了递归,关于递归,我花了一周时间去做各种算法题练习,而这次我想给大家讲一讲数组。所谓数组,简单的说就是一个包含了很多变量的集合,相信大家在数学中曾经便学过集合,而在java中,集合代表的不是数组,这儿我所说的集合,是数学中的,java中的集合,会有一些新特性,暂时不会跟大家介绍,这儿的话就跟大家说说数组。

  在前面,我跟大家介绍了int,float,double这些数据类型,然后大家却发现,每个数据类型却只能相应的跟随一个数字。比如int i,这儿的i只能给他赋一个值,而不能让i同时保存三个,四个,以至于更多地值,以至于让我们书写代码需要定义太多的变量。比如下面代码,定义五个数:1,2,3,4,5;那么我不用数组的写法是:

public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
}

大家是否已经感觉到很麻烦,而且还需要定义许多变量,如果我需要定义一百个数,一千个数呢?那么我们就需要写一千个int,一万个int,而我们用数组的话,便非常简单,看下面列子:

public static void main(String[] args) {
int[] a = {1,2,3,4,5};
}

用数组的话,我们便可以定义一个便包含了所有数字,现在可能有人要问,那么定义单个变量能不赋值,定义数组可以吗?这儿要说的是,当然可以,比如我需要定义一个能保存五个数的数组,那么写法便是:

public static void main(String[] args) {
int[] a = new int[5];
}

可能你们又会问,既然是数组,只定义了一个变量,那么我们怎么知道,怎么提取其中的值呢?那么,现在小编就给大家说说如何提取值。其实在上面,每个定义的数组还可以这么写:int a[] = {1,2,3,4,5};    int a[] = new int[5];也就是把中括号写在变量后面,只不过现在大家都是写在前面,方便于观看理解。所以当我们想提取以上数组中第一个数时,那么a[0]便是第一个数所对应的值1,那么a[1]便是所对应的2,依次类推,a[4]就是所对应的5。也就是说,在中括号中输入对应的数字便可以了,也许有人要问,那么数字是什么,怎么来的?这儿小编要强调告诉大家,那个数字是数组的下标,数组的下标都是从0开始的,也就是说,你定义五个数,那么它的下标便是0,1,2,3,4依次来的,如果你定义三个那么下标便是0,1,2。然后小编要告诉大家,如果我们定义了一个拥有100个数的数组,那么我们要输出里面所有的值,该怎么办?这儿小编就会反问大家,不知道大家是否还会记得以前小编讲过的for循环?如果大家用for做过很多题,相信会很简单理解到我接下写的代码:

public static void main(String[] args) {
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}
}

这儿我把i定义成数组的下标,因为一个数组的下标是从零开始的,所以i=0;然后我让i小于a.length,这儿的a.length便是数组a的长度,比如数组有一百个数,那么数组长度就是100,如果数组有5个数,那么长度就是5。那么以上代码中就是让i小于五的时候执行输出a[i]的命令,然后输出后i再加1,知道i超出或等于a数组的长度。所以,一个数组,我们便可以用for循环输出,当然还有种方法,叫foreach,这种方法大家可以了解了解:

public static void main(String[] args) {
for(int i :a){
System.out.println(i);
}
}

这个代码涉及到内存的首地址,最好是画图大家方便理解,等以后你们学习的过程中会看到内存和栈的图,那时你们再来理解上面这句代码就会明白很多。最后我在简单跟大家讲讲二维数组,什么是二维数组,简单的说就是在数组中放数组,写法为:int[][] = new int [a][b];也就是增加了一个中括号,这儿我只是简单跟大家提提,大家还需要自行百度了解,毕竟我所写的博客就是要以更少的字,让大家快速了解java大概有哪些,需要做什么。除了二维数组,当然也有三维和四维,作为初学者我们先了解一维数组和二维就行了,至于三维我想都很难用到吧,至于四维就更不用说了。这儿还要说一点,数组除了int类型的整型数组,还有字符类型的char[],还有字符串类型String[],至于字符串后面再跟大家讲,这周第一节就跟大家降到这里吧。

  对于数组,还是希望大家下来多多了解,希望能对你有所帮助,当然如果你发现我的博客中哪儿有误,还希望指出,小编在这儿感激不尽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值