---------siwuxie095
1、数组的定义
数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识
2、数组的分类
(1)一维数组:最常用
(2)二维数组:较常用
(3)多维数组:很少使用,不好控制和理解
3、数组的优点
不使用数组定义100个整型变量:int i1,int i2,int i3 … int i100;
使用数组:int i[100]; (伪代码)
4、数组的声明及内存分配
(1)声明形式一:type arrayName[];
(2)声明形式二:type[] arrayName;
为数组分配内存空间,如果不分配内存,将不能访问它的任何元素
使用 new 关键字,来为数组分配内存空间(或称为 实例化)
如果没有初始化,则int类型的默认值为 0,String类型的默认值为 空
5、数组的静态初始化
数组初始化分为两种方式:
(1)动态初始化
(2)静态初始化
之前创建的数组,采用的方式都是动态初始化,即所有的内容不会具体指定,都是默认值
如:int score[]=new int[3];
静态初始化是指:在数组创建之初直接指定其内容,没有使用 new 关键字
如:int score[]={2,4,5,8};
6、数组的使用
如:
package com.siwuxie095.array;
public class ArrayDemo01 {
/** * int型数组的最大值、最小值 */ public static void main(String[] args) { //数组的静态初始化 int score[]={23,45,65,34,27}; int max,min; max=min=score[0]; for (int i = 0; i < score.length; i++) { if (score[i]>max) { max=score[i]; } if (score[i]<min) { min=score[i]; } } System.out.println("最大值:"+max); System.out.println("最小值:"+min); }
} |
运行一览:
再如:
package com.siwuxie095.array;
public class ArrayDemo02 {
/** * 冒泡排序: * 当水烧开时,下方产生的气泡向上浮动时, * 气泡会越来越大,最大值在上面(由来) */ public static void main(String[] args) { //数组的静态初始化 int score[]={13,32,77,28,69,45,56}; //数组长度要减一,7个数字只需要排序6次即可 //因为只剩下一个数字时就不需要比对了 for (int i = 0; i < score.length-1; i++) { //双层for循环 for (int j = i+1; j < score.length; j++) { if (score[i]<score[j]) { int temp=score[i]; score[i]=score[j]; score[j]=temp; } }
System.out.print("第"+(i+1)+"次排序:"); for (int j = 0; j < score.length; j++) { System.out.print(score[j]+" "); } System.out.println();
} }
} |
运行一览:
7、二维数组介绍以及使用
如果把一维数组看成是线性图形,那么二维数组就是一个平面图形
二维数组的声明和一维数组类似,内存分配也是使用 new 关键字
声明与分配内存:
声明:type arrayName[][];
初始化:arrayName[][] = new type[行][列];
如:
package com.siwuxie095.array;
public class ArrayDemo03 {
public static void main(String[] args) { int score[][]=new int[5][5]; for (int i = 0; i < score.length; i++) { for (int j = 0; j < score[i].length; j++) { System.out.print(score[i][j]+" "); } System.out.println(); } }
} |
运行一览:
二维数组静态初始化
type arrayName[][]={{values},{values},{values}};
如:
代码:
package com.siwuxie095.array;
public class ArrayDemo04 {
public static void main(String[] args) { int score[][]={{100,90},{67,70},{50,78,80}}; for (int i = 0; i < score.length; i++) { for (int j = 0; j < score[i].length; j++) { System.out.print(score[i][j]+" "); } System.out.println(); } } } |
运行一览:空出的位置在内存空间中也是空的
【made by siwuxie095】