java循环结构、数组的使用小结
数组
数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
- 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储引用数据类型。它的元素相当于类的成员变量。
- 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
- 数组的长度一旦确定,就不能修改。
- 通过下标(或索引)的方式调用指定位置的元素。
- 数组的分类:
从六方面理解数组:
- 一维(二维)数组的声明和初始化
- 如何调用数组指定位置的元素
- 如何获取数组的长度
- 如何遍历数组
- 数组元素的默认初始化值
- 数组的内存解析
//静态初始化:数组的初始化与数组元素的赋值同时进行 int[] num = new int[]{1,2,3,4,5}; //动态初始化:数组的初始化与数组元素的赋值分开进行String[] names = new String[5]; name[0] = "11";
**数组一旦初始化完成,数组的长度就确定了。
【java循环结构、数组的使用小结】每个数组都有一个属性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
多维数组的使用(二维)
文章图片
文章图片
//都是正确的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 二维数组的使用 规定:二维数组分为外层数组的元素,内层数组的元素
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]); //无论是什么类型的二维数组,后面一个没有数值,都输出nullSystem.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; yesc) y[0][0] = x; nod) x[0][0] = y; noe) y[0][0] = x[0]; yesf) x = y; no
到此这篇关于java循环结构、数组的文章就介绍到这了,更多相关java循环结构、数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机