数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
大安市网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
数据的有点不使用数组定义100个整形变量:int i1;int i2;int i3
使用数组定义 int i[100];
数组定义:int i[100];只是一个伪代码,只是表示含义的(1)一维数组
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一声明一维数组:数据类型 数组名[]=null;非配内存给数组:数组名=new 数据类型[长度];声明形式二声明一维数组:数据类型 [] 数组名=null;
(2)java数据类型分为两大类1.基本数据类型int、long操作的时候本身就是具体的内容引用数据类型:数组、类、接口
引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用
2.事例声明数组
数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度。
基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null事例
声明数组的同时分配内存空间声明数组的同时非配内存数据类型 数组名[]=new 数据类型[个数]int score[]=new int[10];声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节
(3)数组的访问
数组中元素的表示方法想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素一直向下,最后一个为score[9]
(4)取得数组的长度在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,数组名称.length--返回一个int类型的数据
(5)数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现静态初始化是指在数组声明后直接为数组指定具体的内容如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n};
范例排序,在操作中排序是比较常用的从大到小
这个时候不要被i值所迷惑 if(score[i]score[j]){
这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的
(6)二维数组
二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字
其实声明与分配内存的格式如下动态初始化数据类型 数组名[][];数组名=new 数据类型[行的个数][列的个数];
声明并初始化数组数据类型 数组名[][]=new 数据类型[行的个数][列的个数];静态初始化
(7)二维数组的存储声明二维数组score 同时开辟一段内存空间int score[][]=new int[4][3];整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节事例
(8)二维数组静态初始化
用到的时候才会开辟空间,不用的(红色部分)则不开辟空间多维数组一般只是用到二维数组三维数组简单了解
java数组有如下方法可以表示和创立,如下:
方式1:
type[] 变量名 = new type[数组中元素的个数];比如:int[] a = new int[10];数组名,也即引用a,指向数组元素的首地址。
方式2(同C语言)
type变量名[] = new type[数组中元素的个数];如:int a[] = new int[10];
方式3 定义时直接初始化
type[] 变量名 = new type[]{逗号分隔的初始化值};其中红色部分可省略,所以又有两种:int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
其中int[] a = new int[]{1,2,3,4};的第二个方括号中不能加上数组长度,因为元素个数是由后面花括号的内容决定的。
不是的!!
例如
int[][] a=new int[5][5],你要表示的其中一个元素,只能是a[i][x]。
例如
class Bean{
public int x;
}
Bean[] a=new Bean[5];
你用a[i].x,其实就是:
Bean t=a[i];
t.x;
首先: 一维数组的声明 ; 代码如下
int[] ary1; //Java推荐的数组声明方式
int ary2[]; // 不推荐,但也是正确的,C语言等使用这种方式
其次: 声明的声明和赋值
//参考一
int[] ary1 = {1,2,3};// 声明的时候,同时赋值
//参考二
int[] ary2 = new int[3];//指定数组的长度为3
ary2[0] = 1; //数组下标从0开始, 依次给每个元素赋值
ary2[1] = 2;
ary2[2] = 3;
//参考三
int[] ary3 = new int[] {1,2,3}; //注意, 这里的new int[]方框里不能指定长度
最后: 注意数组的默认值;
简单数据类型,比如boolean类型的数组,默认值就是false, int类型的数组,默认值就是0.
对象类型的数组,比如Boolean类型的数组,默认值是null,Integer类型的数组,默认值还是null
int[] ary1 = new int[1];
System.out.println(ary1[0]); //输出0
Integer[] ary2=new Integer[1];
System.out.println(ary2[0]); //输出null
boolean[] b1=new boolean[1];
System.out.println(b1[0]); //输出false
Boolean[] b2=new Boolean[1];
System.out.println(b2[0]); //输出null