第 4 章 数组与方法 -- 数组的定义及使用
程序员文章站
2024-02-17 17:27:58
...
文章目录
一、一维数组
一维数组的声明与分配内存
数据类型 数组名称[] = null; //声明数组
数组名称 = new 数据类型[长度]; //分配内存给数组
数组声明的另外一种形式:
数据类型[] 数组名称 = null; //声明一维数组
声明数组的同时分配内存:
数据类型 数组名[] = new 数据类型[个数];
示例:
int score[] = null;
score = new int[3];
等价于
int score[] = new int[10];
数组声明的疑问?
数组的声明上为什么要写上一个“null”呢?例如:“int score[] = null;”
数组属于引用数据类型,那么对于引用数据类型来说其默认值就是null,表示暂时还没有任何指向的内存空间。
public class ArrayDemo01 {
public static void main(String[] args) {
int score[] = new int[4];
for (int x=0;x<4;x++){
score[x] = x*2+1;
}
//返回数组的长度
System.out.println("The length of the array is :" + score.length);
}
}
关于内存分配的操作:
从图中可以发现,一个数组开辟了堆内存之后,将在堆内存中保存数据,并将堆内存的操作地址给了数组名称score。
二、数组的静态初始化
数组赋初值:
数据类型 数组名[] = {初值0,初值1,....初值n}
例如:
int score[] = {32,45,67,90};
示例:由小到大排序
package Chapter_4;
public class ArrayDemo01 {
public static void main(String[] args) {
int score[] = {67,89,69,100,75};
for(int i=0;i<score.length;i++){
for (int j=i;j<score.length;j++){
if(score[i]>score[j]){
int temp = score[j];
score[j] = score[i];
score[i] = temp;
}
}
System.out.print("第"+i+"次排序的结果:\t");
for(int j=0;j<score.length;j++){
System.out.print(score[j]+"\t");
}
System.out.println("");
}
System.out.print("最终的排序结果为:\t");
for (int i=0;i<score.length;i++){
System.out.print(score[i]+"\t");
}
}
}
三、二维数组
二维数组的声明格式:
数据类型 数组名[][];
数组名 = new 数据类型[行的列数][列的个数];
与一位数组不同,二维数组在分配内存时,必须告诉编译器二维数组行与列的个数
示例:
int score[][];//声明整型数组 score
score = new int[3][4];//配置一块内存空间,供4行3列的整型数组score使用
简介的声明方式:
数据类型 数组名[][] = new 数据类型[行的个数][列的个数];
示例:
int score[][] = new int[3][4];//声明整型数组score,同时为其开辟一块内存空间
二维数组静态初始化格式:
数据类型 数组名[][] = {
{第0行初值},
{第1行初值},
....
{第n行初值},
};
示例:
public class ArrayDemo01 {
public static void main(String[] args) {
int score[][] = {{67,42},{45,67,89},{99,100,88}};
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("");
}
}
}
上一篇: 基于hints是oracle 优化方案
下一篇: php文件上传之单文件上传,