html5中文学习网

您的位置: 首页 > 网络编程 > java教程 » 正文

java中数组的定义及使用方法(推荐)_java_

[ ] 已经帮助:人解决问题

数组:是一组相关变量的集合rCgHTML5中文学习网 - HTML5先行者学习网

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组rCgHTML5中文学习网 - HTML5先行者学习网

数据的有点rCgHTML5中文学习网 - HTML5先行者学习网

不使用数组定义100个整形变量:int i1;int i2;int i3rCgHTML5中文学习网 - HTML5先行者学习网

使用数组定义 int i[100];rCgHTML5中文学习网 - HTML5先行者学习网

数组定义:int i[100];只是一个伪代码,只是表示含义的rCgHTML5中文学习网 - HTML5先行者学习网

一维数组rCgHTML5中文学习网 - HTML5先行者学习网

一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,rCgHTML5中文学习网 - HTML5先行者学习网

使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,rCgHTML5中文学习网 - HTML5先行者学习网

声明形式一rCgHTML5中文学习网 - HTML5先行者学习网

声明一维数组:数据类型 数组名[]=null;rCgHTML5中文学习网 - HTML5先行者学习网

非配内存给数组:数组名=new 数据类型[长度];rCgHTML5中文学习网 - HTML5先行者学习网

声明形式二rCgHTML5中文学习网 - HTML5先行者学习网

声明一维数组:数据类型 [] 数组名=null;rCgHTML5中文学习网 - HTML5先行者学习网

java数据类型分为两大类rCgHTML5中文学习网 - HTML5先行者学习网

基本数据类型rCgHTML5中文学习网 - HTML5先行者学习网

int、long操作的时候本身就是具体的内容rCgHTML5中文学习网 - HTML5先行者学习网

引用数据类型:数组、类、接口rCgHTML5中文学习网 - HTML5先行者学习网

引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用rCgHTML5中文学习网 - HTML5先行者学习网

事例声明数组rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 }}

数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等rCgHTML5中文学习网 - HTML5先行者学习网

数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同rCgHTML5中文学习网 - HTML5先行者学习网

数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度rCgHTML5中文学习网 - HTML5先行者学习网

基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是nullrCgHTML5中文学习网 - HTML5先行者学习网

事例rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 System.out.print("score[0]="+score[0]); System.out.print("/tscore[1]="+score[1]); System.out.print("/tscore[2]="+score[2]); }}

堆栈内存的解释rCgHTML5中文学习网 - HTML5先行者学习网

数组操作中,在栈内存中保存的永远是数组的名称,只开辟了栈内的空间,数组是永远无法使用的,必须有指向的对内存才可以使用,要想开辟新对内存空间必须使用new关键字,之后就是将对内存的使用权交给对应的栈内存,而且一个堆内存空间可以同时被多个栈内存空间指向,比如一个人可以有多个名字,人就相当于对内存,名字就相当于栈内存rCgHTML5中文学习网 - HTML5先行者学习网

声明数组的同时分配内存空间rCgHTML5中文学习网 - HTML5先行者学习网

声明数组的同时非配内存rCgHTML5中文学习网 - HTML5先行者学习网

数据类型 数组名[]=new 数据类型[个数]rCgHTML5中文学习网 - HTML5先行者学习网

int score[]=new int[10];rCgHTML5中文学习网 - HTML5先行者学习网

声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用rCgHTML5中文学习网 - HTML5先行者学习网

java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节rCgHTML5中文学习网 - HTML5先行者学习网

数组的访问rCgHTML5中文学习网 - HTML5先行者学习网

数组中元素的表示方法rCgHTML5中文学习网 - HTML5先行者学习网

想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素rCgHTML5中文学习网 - HTML5先行者学习网

一直向下,最后一个为score[9]rCgHTML5中文学习网 - HTML5先行者学习网

取得数组的长度rCgHTML5中文学习网 - HTML5先行者学习网

在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,rCgHTML5中文学习网 - HTML5先行者学习网

数组名称.length--返回一个int类型的数据rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 System.out.println(score.length); }}

结果rCgHTML5中文学习网 - HTML5先行者学习网

数组的静态初始化rCgHTML5中文学习网 - HTML5先行者学习网

之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现rCgHTML5中文学习网 - HTML5先行者学习网

静态初始化是指在数组声明后直接为数组指定具体的内容rCgHTML5中文学习网 - HTML5先行者学习网

如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,rCgHTML5中文学习网 - HTML5先行者学习网

数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n};rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]={1,2,3,4,5,6};//使用静态初始化声明数组 System.out.println(score.length); }}

结果rCgHTML5中文学习网 - HTML5先行者学习网

6rCgHTML5中文学习网 - HTML5先行者学习网

范例求出数组中的最大值和最小值rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]={45,12,8,23,89,56};//使用静态初始化声明数组 int max=0; int min=0; max=min=score[0]; for (int i = 0; i < score.length; i++) {  if(score[i]>max){  max=score[i];  }  if(score[i]  min=score[i];  }   }  System.out.println("最大值:"+max); System.out.println("最小值:"+min); }}

结果rCgHTML5中文学习网 - HTML5先行者学习网

范例排序,在操作中排序是比较常用的rCgHTML5中文学习网 - HTML5先行者学习网

从大到小rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class Test {  public static void main(String[] args) { int score[]={45,12,8,23,89,56};//使用静态初始化声明数组 int temp=0; for (int i = 0; i < score.length; i++) { for (int j = 0; j < score.length-1; j++) {  if(score[i]>score[j]){  temp=score[i];  score[i]=score[j];  score[j]=temp;    }   } } for (int i = 0; i < score.length; i++) {  System.out.print(score[i]+"/t"); }  }}

结果rCgHTML5中文学习网 - HTML5先行者学习网

这个时候不要被i值所迷惑   if(score[i]>score[j]){rCgHTML5中文学习网 - HTML5先行者学习网

这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的rCgHTML5中文学习网 - HTML5先行者学习网

二维数组rCgHTML5中文学习网 - HTML5先行者学习网

如果可以把一维数组当做几何中的一条线图形,那么二维数组就相当于一个表格rCgHTML5中文学习网 - HTML5先行者学习网

    A    BrCgHTML5中文学习网 - HTML5先行者学习网
1  姓名 年龄rCgHTML5中文学习网 - HTML5先行者学习网
2  齐宁  21rCgHTML5中文学习网 - HTML5先行者学习网
3  齐燕  23rCgHTML5中文学习网 - HTML5先行者学习网
4  齐威  26rCgHTML5中文学习网 - HTML5先行者学习网

二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字rCgHTML5中文学习网 - HTML5先行者学习网

其实声明与分配内存的格式如下rCgHTML5中文学习网 - HTML5先行者学习网

动态初始化rCgHTML5中文学习网 - HTML5先行者学习网

数据类型 数组名[][];rCgHTML5中文学习网 - HTML5先行者学习网

数组名=new 数据类型[行的个数][列的个数];rCgHTML5中文学习网 - HTML5先行者学习网

声明并初始化数组rCgHTML5中文学习网 - HTML5先行者学习网

数据类型 数组名[][]=new 数据类型[行的个数][列的个数];rCgHTML5中文学习网 - HTML5先行者学习网

静态初始化rCgHTML5中文学习网 - HTML5先行者学习网

二维数组的存储rCgHTML5中文学习网 - HTML5先行者学习网

声明二维数组score 同时开辟一段内存空间rCgHTML5中文学习网 - HTML5先行者学习网

int score[][]=new int[4][3];rCgHTML5中文学习网 - HTML5先行者学习网

整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节rCgHTML5中文学习网 - HTML5先行者学习网

事例rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class test1 { public static void main(String[] args) { int score[][] = new int[4][3]; score[0][1] = 30; score[1][0] = 31; score[2][1] = 32; score[2][2] = 33; score[3][1] = 34; score[1][1] = 35; for (int i = 0; i < score.length; i++) {  for (int j = 0; j < score[i].length; j++) {  System.out.print(score[i][j]+"/t");  }  System.out.println(""); } }}

结果rCgHTML5中文学习网 - HTML5先行者学习网

二维数组静态初始化rCgHTML5中文学习网 - HTML5先行者学习网

用到的时候才会开辟空间,不用的(红色部分)则不开辟空间rCgHTML5中文学习网 - HTML5先行者学习网

多维数组rCgHTML5中文学习网 - HTML5先行者学习网

一般只是用到二维数组rCgHTML5中文学习网 - HTML5先行者学习网

三维数组简单了解rCgHTML5中文学习网 - HTML5先行者学习网

package com.qn.array;public class test1 { public static void main(String[] args) { int score[][][]={  {   {5,1},{6,7}  },  {   {9,4},{8,3}  } }; System.out.print(score[0][0][0]+"/t"); System.out.print(score[0][0][1]+"/t"); System.out.print(score[0][0][0]+"/t"); System.out.print(score[0][0][1]+"/t");  System.out.print(score[1][0][0]+"/t"); System.out.print(score[1][0][1]+"/t"); System.out.print(score[1][1][0]+"/t"); System.out.print(score[1][1][1]+"/t"); }}

以上这篇java中数组的定义及使用方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。rCgHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助