道招

Java基础第十三讲:数组

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

Java基础第十三讲:数组

本讲内容:数组 数组是Java中的对象,它用来存储多个相同类型的基本数据类型或者对象引用。 一、声明数组 数组是通过说明它将要保存的元素类型来声明的,元素类型可以是对象或者基本类型。类型后面的方括号可以在写在标识符的前面,也可以写在后面。当然我们推荐还是写在前面。  
1 int[] number1;
2 int number2[];
int[] number1 ; 把方括号紧贴着类型写,会明确的告诉我们声明的是一个对象他的名字是 number1,他的类型是数组类型,而且是只能存储int类型的数组。 而后一种写法是C程序员更喜欢的写法。 可以声明多维数组,可以声明对象类型的数组:
1 String[][] s1; //二维数组
2 String[][][][] s2; //四维数组
3 String[] s3[]; //怪异写法的二维数组,这样写也是正确的,但是不建议这么干
Java中的二维数组就是一维数组中的每一个元素都还是个数组,那么合起来就是二维数组了,以此类推。 最后记住一句话在声明数组的时候不能在方括号中写数组的长度,因为声明数组的过程并没有创建数组本身,只是定义了一个变量,但是变量并没被赋值。 二、构建数组 | 创建数组 | 实例化数组 构建数组意味着在堆上创建数组对象(所有的对象都存储在堆上,堆是一种内存存储结构,既然要存储就设计空间分配问题,因此此时需要指定数组的大小)。而此时虽然有了数组对象,但数组对象里还没有值。
1 int[] scores; //声明数组
2 scores = new int[34]; //创建数组
3
4 int[] i = new int[22]; //声明并创建数组
构建数组意味着在堆上创建数组对象(所有的对象都存储在堆上,堆是一种内存存储结构,既然要存储就设计空间分配问题,因此此时需要指定数组的大小)。
1 int[][] xy= new int[2][3]; //声明并创建二维数组
2 int[][] mn= new int[2][];  //声明并创建二维数组,只创建第一级数组也是可以的。
3 mn[0]=int[4]; //分别定义第二级数组
4 mn[1]=int[5]; //他们的长度可以不同
三、初始化数组 | 给数组赋值 初始化数组就是把内容放在数组中。数组中的内容就是数组的元素。他们可以是基本数据类型也可以是引用数据类型。如同引用类型的变量中保存的是指向对象的引用而不是对象本身一样。数组中保存的也是对象的引用而不是对象本身。
1 Pig[] pigs = new Pig[3]; //声明并创建猪数组
2 pigs[0] = new Pig();      //给每一个元素赋值,创建了三个猪对象,此时数组里才真正有了对象
3 pigs[1] = new Pig();      //数组用下标来赋值和访问,下标写在[]中,数组下标最大是声明数量减1
4 pigs[2] = new Pig();   
下面我们再看一个例子:
1 int[] numbers={0,1,2,3,4,5,6,7,8,9};
2 Pig[] pigs = {new Pig(),new Pig(),new Pig};
3 int[][] xy={{2,3},{4,5},{6,7}};
这种写法就是把声明、创建和初始化同时完成的快捷写法。注意这种写法不能被分拆:
1 int[] numbers;
2 numbers={0,1,2,3,4,5,6,7,8,9}; //这样的写法在java中是不允许的,这……很不幸
然而,下面的写法则是合法的:
1 int[] numbers;
2 numbers=new int[]{0,1,2,3,4,5,6,7,8,9};  //创建匿名数组并赋值
3
4 int[][] xy= new int[][]{{2,3},{4,5},{5,6}}; //创建二维匿名数组并赋值
5
6 int[] x=new int[3]{1,2,3};  //这样的写法是错误的
我们看到这样的写法多了个创建匿名数组的过程,记住创建匿名数组的时候不要在中括号中填写数组的大小,否则会报错。 好了,本讲就到这里。 分享至上:分享源头
更新时间:
上一篇:Java基础第十二讲:面向对象基础(六)下一篇:Java基础第十四讲:字符串

相关文章

java测试数组

java测试数组相等,复制数组等 TestArrays.java的源代码如下 [code lang="java"] import java.util.*; public class TestA 阅读更多…

将object型转换为数组array型

object貌似是最大的类型了,在使用数据的时候有的数据的键和值得形式基本上就是数组了,但是它却不是array类型,可以这样的函数转换一下就行了。 function object_to_arr 阅读更多…

javascript数组降维

网上有不少提供数组降维的方法,但是一般是二维数组,并且对多维数组的处理不好。降维自然会想到用concat方法,如果只是全部循环用push的话,那样写起来更麻烦,必要时该用concat的就用concat 阅读更多…

java数组应用

用java实现数到3退出(一群小朋友围成一个圈,数到3的朋友自动退出该圈) Count3Quit.java的源代码如下 [code lang="java"] package com.daoz 阅读更多…

java实现数组相减

先定义两个数组,前面的一个小,后面的一个比前面的大,名为相减其实就是求大数组中小数组不包含的那一部分的集合 我们可以看Test.java源代码 [code lang="java"] packag 阅读更多…

asp读取txt文本文档内容至数组,并控制输出指定行(列)

针对很多朋友想知道如何用asp获取.txt文件的内容,并存入数组,输出指定行或列 <% Sub ReadFiles() Dim objFSO Dim objText Dim O 阅读更多…

关注道招网公众帐号
道招开发者二群