Java数组

---------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】

原文地址:https://www.cnblogs.com/siwuxie095/p/6546042.html