java循环结构、数组的使用小结

网友投稿 234 2022-09-25


java循环结构、数组的使用小结

数组

数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

数组本身是引iGkvaMoyoW用数据类型,既可以存储基本数据类型,也可以存储引用数据类型。它的元素相当于类的成员变量。

创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。

数组的长度一旦确定,就不能修改。

通过下标(或索引)的方式调用指定位置的元素。

数组的分类:

按照维度:一维数组、二维数组、三维数组、…按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对象数组)

从六方面理解数组:

一维(二维)数组的声明和初始化

如何调用数组指定位置的元素

如何获取数组的长度

如何遍历数组

iGkvaMoyoW 数组元素的默认初始化值

数组的内存解析

一维数组的使用

格式:type var[] 或 type[] var

//静态初始化:数组的初始化与数组元素的赋值同时进行

int[] num = new int[]{1,2,3,4,5};

//动态初始化:数组的初始化与数组元素的赋值分开进行

String[] names = new String[5];

name[0] = "11";

**数组一旦初始化完成,数组的长度就确定了。

每个数组都有一个属性length指明它的长度,例如数组a:a.length指明数组a的长度(元素个数)

数组的默认初始化值

对于基本数据类型:默认初始化值各有不同

对于引用数据类型:默认初始化值为null(注意:于0不同)

/*从键盘读入学生成绩,找出最高分,

并输出学生成绩等级。

成绩>=最高分-10 等级为'A'

成绩>=最高分-20 等级为'B'

成绩>=最高分-30 等级为'C'

其余 等级为'D'

提示:先读入学生人数,根据人数创建int数组,

存放学生成绩。*/

import java.util.Scanner;//在最上面

public class ArrayTest1 {

public static void main(String[] args) {

//调用Scanner输入学生的成绩

Scanner scan = new Scanner(System.in);

System.out.println("请输入学生的人数:");

int number = scan.nextInt();

//创建数组,存储学生的成绩。动态初始化

int[] score = new int[number];

int maxscore = 0;

//将学生的成绩赋值给数组

System.out.println("请输入"+ number +"个学生成绩");

for(int i=0 ; i

score[i] = scan.nextInt();

//直接在遍历赋值时进行最大值的计算

if(maxscore <= score[i]){

maxscore = score[i];

}

}

//获取数组中的最大值

/*int maxscore = 0;

for(int i=0;i

if(maxscore < score[i]){

maxscore = score[i];

iGkvaMoyoW }

}*/

//遍历数组,计算学生的成绩,并且输出等级

char level;

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

if(maxscore - score[i] <=10){

level = 'A';

}else if(maxscore - score[i] <=20){

level = 'B';

}else if(maxscore - score[i] <=30){

level = 'C';

}else{

level = 'D';

}

System.out.println("student" + i +"score is"+score[i]+"grade is "+level);

http:// }

}

}

多维数组的使用(二维)

//都是正确的

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

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

int arr2[][] = new int[][]{{1,2},{2,3,4},{4,5,6}};

int[][] arr3 = {{1,2},{2,3,4},{4,5,6}};//类型推断

int[][] arr4;

arr4 = {{1,2},{2,3,4},{4,5,6}};//错误的,无法识别数组的类型

数组的长度:

遍历二维数组(双层for循环)

for(int i = 0 ; i

for(j = 0 ; j

}

System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

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

//外层元素:arr[0] 、arr[1]等

//内层元素:arr[0][0]等

//数组的默认值

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

System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值

System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];

System.out.println(arr[0]);

//无论是什么类型的二维数组,后面一个没有数值,都输出null

System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:

int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no //x是一维的,y是二维的,x[0]就是int型的一个数

b) y[0] = x; yes

c) y[0][0] = x; no

d) x[0][0] = y; no

e) y[0][0] = x[0]; yes

f) x = y; no

score[i] = scan.nextInt();

//直接在遍历赋值时进行最大值的计算

if(maxscore <= score[i]){

maxscore = score[i];

}

}

//获取数组中的最大值

/*int maxscore = 0;

for(int i=0;i

if(maxscore < score[i]){

maxscore = score[i];

iGkvaMoyoW }

}*/

//遍历数组,计算学生的成绩,并且输出等级

char level;

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

if(maxscore - score[i] <=10){

level = 'A';

}else if(maxscore - score[i] <=20){

level = 'B';

}else if(maxscore - score[i] <=30){

level = 'C';

}else{

level = 'D';

}

System.out.println("student" + i +"score is"+score[i]+"grade is "+level);

http:// }

}

}

多维数组的使用(二维)

//都是正确的

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

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

int arr2[][] = new int[][]{{1,2},{2,3,4},{4,5,6}};

int[][] arr3 = {{1,2},{2,3,4},{4,5,6}};//类型推断

int[][] arr4;

arr4 = {{1,2},{2,3,4},{4,5,6}};//错误的,无法识别数组的类型

数组的长度:

遍历二维数组(双层for循环)

for(int i = 0 ; i

for(j = 0 ; j

}

System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

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

//外层元素:arr[0] 、arr[1]等

//内层元素:arr[0][0]等

//数组的默认值

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

System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值

System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];

System.out.println(arr[0]);

//无论是什么类型的二维数组,后面一个没有数值,都输出null

System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:

int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no //x是一维的,y是二维的,x[0]就是int型的一个数

b) y[0] = x; yes

c) y[0][0] = x; no

d) x[0][0] = y; no

e) y[0][0] = x[0]; yes

f) x = y; no

if(maxscore < score[i]){

maxscore = score[i];

iGkvaMoyoW }

}*/

//遍历数组,计算学生的成绩,并且输出等级

char level;

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

if(maxscore - score[i] <=10){

level = 'A';

}else if(maxscore - score[i] <=20){

level = 'B';

}else if(maxscore - score[i] <=30){

level = 'C';

}else{

level = 'D';

}

System.out.println("student" + i +"score is"+score[i]+"grade is "+level);

http:// }

}

}

多维数组的使用(二维)

//都是正确的

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

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

int arr2[][] = new int[][]{{1,2},{2,3,4},{4,5,6}};

int[][] arr3 = {{1,2},{2,3,4},{4,5,6}};//类型推断

int[][] arr4;

arr4 = {{1,2},{2,3,4},{4,5,6}};//错误的,无法识别数组的类型

数组的长度:

遍历二维数组(双层for循环)

for(int i = 0 ; i

for(j = 0 ; j

}

System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

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

//外层元素:arr[0] 、arr[1]等

//内层元素:arr[0][0]等

//数组的默认值

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

System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值

System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];

System.out.println(arr[0]);

//无论是什么类型的二维数组,后面一个没有数值,都输出null

System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:

int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no //x是一维的,y是二维的,x[0]就是int型的一个数

b) y[0] = x; yes

c) y[0][0] = x; no

d) x[0][0] = y; no

e) y[0][0] = x[0]; yes

f) x = y; no

for(j = 0 ; j

}

System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

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

//外层元素:arr[0] 、arr[1]等

//内层元素:arr[0][0]等

//数组的默认值

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

System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值

System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];

System.out.println(arr[0]);

//无论是什么类型的二维数组,后面一个没有数值,都输出null

System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:

int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no //x是一维的,y是二维的,x[0]就是int型的一个数

b) y[0] = x; yes

c) y[0][0] = x; no

d) x[0][0] = y; no

e) y[0][0] = x[0]; yes

f) x = y; no

}

System.out.println();}

二维数组的使用

规定:二维数组分为外层数组的元素,内层数组的元素

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

//外层元素:arr[0] 、arr[1]等

//内层元素:arr[0][0]等

//数组的默认值

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

System.out.println(arr[0]);//输出地址值,外层元素的初始化值,就是地址值

System.out.println(arr[0][1]);//0,内存元素的初始化值,与一维数组相同

int[][] arr = new int[4][];

System.out.println(arr[0]);

//无论是什么类型的二维数组,后面一个没有数值,都输出null

System.out.println(arr[0][1]);//报错

二维数组的内存解析

数据的存储结构:

线性表(一对一):顺序表(例如:数组)、链表、栈、队列

树形结构(一对多):二叉树

图形结构(多对多)

声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:

int[] x,y[];相当于 int[] x;与 int[] y[];

a ) x[0] = y; no //x是一维的,y是二维的,x[0]就是int型的一个数

b) y[0] = x; yes

c) y[0][0] = x; no

d) x[0][0] = y; no

e) y[0][0] = x[0]; yes

f) x = y; no


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:端口绑定MAC地址(思科)
下一篇:交换机路由器配置远程连接(如何远程连接交换机)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~