本文共 2291 字,大约阅读时间需要 7 分钟。
数组为引用类型,默认值为null
数组的创建可以分为2步,第一步定义变量名,第二步new开辟空间
比如: 而不能按如下方式赋值==数据类型[]==表示这是一个什么类型的数组,两者不能分开。
数组必须初始化长度,且不能动态改变。
数组通过length属性来获取数组长度,length是数组的长度
数组定义与普通变量的定义是一致的
数据类型 [] 数组名=new 数据类型[length];数组长度从0开始到length-1,索引只能到length-1
如果数组下标取到length,则会发生数组越界;
通过索引获取数组内容,即数组名[i],其中i属于0到length。
输出数组名输出的是一个哈希码值,表示数组存储的首地址。
如果操作数组的长度超过length-1,就会发生数组越界
可以用一个int类型的变量len来承接数组长度length,这样可以直接调用len,来使用数组长度,修改数据时也不用修改数组长度的变量
什么是数组:
如何定义一维数组: 数组在内存中如何存在: 输出数组名,输出的是什么内容:package com.javasm.array;/** * @author: JAVASM * @classNAME: ArrayDemo * @description: * @date: 2021/3/28 20:31 * @version:0.1 * @since:1.8 */public class ArrayDemo { public static void main(String[] args) { int[] studentNums=new int[5]; for (int i = 0; i < 5; i++) { studentNums[i]=i; } for (int i = 0; i < 5; i++) { System.out.println(studentNums[i]); } }}代码输出结果如下:01234Process finished with exit code 0
如果我们调用的数组范围超过了0~length-1,将会发生数组越界的错误(java.lang.ArrayIndexOutOfBoundsException)
遍历数组,动态录入数组
通过将数组名.length赋值给int类型的变量len,来获取数组的长度package com.javasm.array;import java.util.Scanner;/** * @author: JAVASM * @classNAME: ArrayDemo02 * @description: * @date: 2021/3/28 21:25 * @version:0.1 * @since:1.8 */public class ArrayDemo02 { public static void main(String[] args) { //利用数组动态输入学生成绩,循环遍历输出数组内容 System.out.println("请输入5个学生的成绩"); //定义数组 double[] studentScore=new double[5]; Scanner input = new Scanner(System.in); //可以用一个int类型的变量len来承接数组长度length,这样可以直接调用len,来使用数组长度 int len=studentScore.length; for (int i = 0; i < 5; i++) { System.out.println("请输入第"+(i+1)+"个学生的成绩"); //注意对数组赋值要用 数组名[index] studentScore[i]= input.nextDouble(); } //循环遍历输出数组的内容 for (int i = 0; i < len; i++) { System.out.println("第"+(i+1)+"个学生的成绩为"+studentScore[i]); } }}代码输出结果如下:请输入5个学生的成绩请输入第1个学生的成绩99请输入第2个学生的成绩88请输入第3个学生的成绩77请输入第4个学生的成绩66请输入第5个学生的成绩88第1个学生的成绩为99.0第2个学生的成绩为88.0第3个学生的成绩为77.0第4个学生的成绩为66.0第5个学生的成绩为88.0Process finished with exit code 0
转载地址:http://uknwi.baihongyu.com/