第06章:数组
来源:互联网 发布:虚拟机网络nat模式 编辑:程序博客网 时间:2024/04/27 14:27
数组
数组:是一组相关变量的集合。
数组定义: int i【100】, 只是一个伪代码,只是表示含义的。
一维数组
要使用java的数组,必须经过两个步骤:
- 声明数组 :
int score[] = null; - 为数组开辟空间:
score = new int[3];
当然也可以使用一个步骤来完成:
int score[] = new int[10];
java的数据类型分为两大部分:
- 基本数据类型: int 、long,操作的时候本身就是一个具体的内容
- 引用数据类型:数组、类、接口。引用传递的就是一个内存的使用权。一块存储空间,可能有多个人同时使用。
数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型、浮点型与字符型等。
“数组名”是用来同意这组相同数据类型的元素的名称,其命名规则和变量的相同、变量的命名规则:第一个单词的首字母小写,之后的每个单词的首字母大写 如:studentName
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,而“new”则是命令编译器根据括号里的长度。
基本数据类型都有其默认值: int 0;只要是引用数据类型默认值就是“null”
public class Arrydemo1 { public static void main(String[] args) { int score[] = null; score = new int [3]; System.out.println("score[0]="+score[0]); System.out.println("score[1]="+score[1]); System.out.println("score[2]="+score[2]); }}
数组元素通过“数组名称【下标】”的形式保存
数组的访问也可以通过循环的方式进行操作,循环操作的时候只需改变其索引下标即可。
取得数组的长度
数组名称.length
public class Arrydemo2 { public static void main(String args[]) { int score[] = new int[3]; for (int x =0;x<3;x++) { score[x]=x*2+1; } for(int x = 0;x<3;x++) { System.out.println("score["+x+"]="+score[x]); } System.out.println("数组的长度为:"+score.length); }}
数组的静态初始化问题
之前所看到的数组所采用的方式都是动态初始化,即,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现。
静态初始化就是指在数组定义之后,直接指明其内容。
public class Arraydemo4 { public static void main(String[] args) { int score[] = {91,92,93,94,95,96}; for (int x = 0;x<score.length;x++) { System.out.println("score["+x+"]="+score[x]); } }}
冒泡排序
public class Arraydemo3 { public static void main(String[] args) { int score[]= {12,45,874,69,374,1580}; for(int i=0;i<score.length;i++) { for(int j = 0;j<score.length;j++) { if(score[i]<score[j]) { int temp = score[i]; score[i] = score[j]; score[j] = temp; } } System.out.println("第"+i+"次的输出结果为:\t"); for(int j = 0;j<score.length;j++) { System.out.print(score[j]+"\t"); } System.out.println(); } for(int i = 0;i<score.length;i++) { System.out.print(score[i]+"\t"); } }}
二维数组
二维数组声明的方式和一维数组类似,内存的分配也一样是用new这个关键字,其声明与分配内存的格式如下所示:
- 数组类型 数组名【】;
数组名 = new 数据类型 【行的个数】【列的个数】
数据类型 数组名【】【】 = new 数据类型【行的个数】【列的个数】
二维数组也是支持静态初始化操作的。静态操作的时候需要使用数组的数组。
总结
数组的使用分为两个步骤
- 声明数组,是在栈内存中声明的
- 为数组开辟空间,是使用关键字new在堆内存中完成
当然也可以一起完成:数据类型 数组名称【】=new数据类型【长度】
过数组名称 .length的形式求出数组的长度
- 有很多的常见算法及题目,只要控制好其下标就可以完成
- 标不能越界,越界之后就会出现错误。如果开辟了3个空间,则下标:0——2
- 组的开发中基本上就是用到二维,就相当于是一个表格的
- 因为其比较复杂,所以不建议使用过多。
- 第06章:数组
- 第05章 数组 06 练习4
- 第7章 数组
- 第6章数组
- 第7章 数组
- 第14章:数组
- 第 2 章 数组
- 第5章 数组
- 第5章 数组
- 第5章 数组
- 第05章 数组 15 二维数组
- 第05章 数组 16 二维数组
- 第18章、二维数组
- 第19章、动态数组
- Scala第3章 数组
- 第22章 二进制数组
- 第16章 数组总结
- 第5章_数组
- CCF 201403-1 相反数
- C#通过csc运行c#程序包括环境配置
- java移位运算
- 2016.09.03【初中部 NOIP提高组 】模拟赛C
- 1042. Shuffling Machine (20)
- 第06章:数组
- 九度 OJ 1457 非常可乐
- Android应用架构之Retrofit使用
- Codeforces-396A - On Number of Decompositions into Multipliers-组合计数
- 抽象类和接口的区别
- 数位DP
- 【JZOJ4756】【NOIP2016提高A组模拟9.4】幻象
- Android Activity切换动画多种实现方式与封装
- Android进程和线程