java操作数组

一维数组、二维数组的声明和遍历)

1.一维数组

三种声明数组的方法和四种遍历数组的方法

public static void main(String[] args) {

//静态初始化

int [] a = {2,8,5,3,4,7,5,2,1};

int [] b = new int [] {2,8,5,3,4,7,5,2,1};

//动态初始化

int [] c = new int[6];

c[0]=0;c[1]=1;c[2]=2;c[3]=3;c[4]=4;c[5]=5;

//遍历数组

//一、for循环直接遍历

for(int i=0;i<a.length;i++) {

System.out.println(a[i]);

}

//二、增强型for循环

for(int i:a) {

System.out.println(i);

}

//三、导包,利用arrays中的toString方法

System.out.println(Arrays.toString(c));

//四、调用自己封装的遍历数组方法

//demo_01.printarray(a);

解析:增强型for循环

公式:增强for(part1:part2){方法体};

part2中是一个数组对象(数组名),或者是带有泛性的集合.

part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的

类型是一致的.

2.二维数组的声明和遍历

二维数组的声明

public static void main(String[] args) {

//静态

int [][] arr=new int[][]{{4,5,6,8},{2,3},{1,6,9}};

int [][] arr1= {{4,5,6,8},{2,3},{1,6,9}};

//二维数组理解成一维数组,三个花括号的内容分别看成一个整体

System.out.println(arr.length);//输出3行数

System.out.println(arr[0].length);//输出4列数(最长的那个)

//动态

System.out.println("================");

int [][] arr2= new int [3][4];

System.out.println(arr2.length+" "+arr[0].length); //3  4

}

格式1: 动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ]  数组名 = new 数据类型[m][n]

数据类型 [ ]  数组名 [ ] = new 数据类型[m][n]

格式2: 静态初始化

数据类型 [ ][ ]  数组名 = {{元素1,元素2....},{元素1,元素2....},{元

素1,元素2....}.....};

二维数组的遍历

public static void main(String[] args) {

int arr[][] = new int[][] { { 1 },

{ 1, 2 },

{ 1, 2, 3 } };

//普通for循环遍历

for (int i = 0; i < arr.length; i++) {

for (int c = 0; c < arr[i].length; c++) {

System.out.print(arr[i][c]);

}

System.out.println();

}

//增强型for循环遍历

System.out.println("================");

//arr类型是个int数组类型,所以外圈for循环括号内

//是int m[]:arr,若不理解回看一维数组

for(int m[]:arr) {

for(int n:m) {

System.out.print(n);

}

System.out.println();

}

}

输出结果:

解析:

可以把下列参数理解为4行3列

int a[][]=new int[4][3];

列举出来就是

a[0][0],a[0][1],a[0][2]

a[1][0],a[1][1],a[1][2]

a[2][0],a[2][1],a[2][2]

a[3][0],a[3][1],a[3][2]

注意二维数组中增强型for循环的运用

part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的.

arr类型是个int数组类型,所以外圈for循环括号内是int m[]:arr

3.利用二维数组打印简单的三角形图形

字符串类型二维数组的练习

用二维数组打印一个下图三角形(4行7列):

public static void main(String[] args) {

// 遍历长度数组

String[][] arr = new String[4][7];

//利用布尔值来跳过for循环的当前遍历,判断空格还是*

boolean isEmpty = true;

for (int i = 0; i < arr.length; i++) {

arr[i][3-i] = "*";

arr[i][3+i] = "*";

if(i == 3) {

for(int j = 1;j<=4;j++) {

//控制输出一个空格输出一个*

if(isEmpty) {

isEmpty=false;

}else {

arr[3][j] = "*";

isEmpty = true;

}

}

}

}

for (String[] i : arr) {

for (String j : i) {

//int类的数组,没赋值时默认为0

//String类的数组,没赋值时默认为null

if (j == null) {

//如果未赋值,则输出空格

System.out.print(" ");

} else {

//否则遍历数组

System.out.print(j);

}

}

//遍历完一个arr[i]后在换行

System.out.println();

}

}

输出结果:

提示:

2*4-1列,4行  边长为7的等边三角形

注意遍历的时候不要换行,每遍历完第一个后在换行

博客中观看更清晰:(链接如下)

java操作数组(一维数组、二维数组的声明和遍历)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容