前言:
此刻小伙伴们对“java输出二维数组的一维长度”大体比较关怀,朋友们都想要了解一些“java输出二维数组的一维长度”的相关知识。那么小编在网络上网罗了一些关于“java输出二维数组的一维长度””的相关知识,希望大家能喜欢,各位老铁们快快来学习一下吧!数组目标
了解数组的概述
掌握数组的定义和使用
掌握数组的应用
掌握二维数组的定义和使用
掌握二维数组的应用
一维数组数组概述
现在需要统计某公司员工的工作情况,例如计算平均工资、最高工资等。假设该公司有50名员工,用前面所学的知识,程序首先需要声明50个变量分别记录每位员工的工资,这样做会显得很麻烦?
在Java中,可以使用一个数组来记住这50名员工的工资
数组是编程语言中最常见的一种数据结构,用来存储多个数据,是具有相同数据类型的一组数据的集合。数组的使用可以节省很多操作,如果需要定义多个数据,但是这些数据的类型是一致的,那么就完全可以定义一个数组。数组中存储的数据被称为数组元素,如果需要使用数组元素,例如进行赋值、删除等操作,都需要通过数组下标来进行访问。
简而言之:数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
数组分为一维数组,多维数组,多维数组。
数组定义格式(记忆)
第一种(建议)数据类型[] 数组名int[] arr;double[] arr;char[] arr;第二种数据类型 数组名[]示例:int arr[];double arr[];char arr[];数组初始化(应用)
静态初始化:由程序员显示指定数组元素的初始值,数组长度由数组元素决定。
动态初始化:由程序员指定数组的长度,虚拟机根据数组的数据类型给数组元素分配初始值。
静态初始化
第一步:声明数组数组元素类型[] 数组名;第二步:静态初始化数组名 = new 数组元素类型[]{元素1,……元素n};int[] a;a = new int[]{1,2,3,4,5,6,7,8,9,10};下面这种方式必须把声明数组和初始化放在一起,否则程序报错数组元素类型[] 数组名= {元素1,……元素n};int[] arr={10,20,30,40,50};动态初始化
数组元 素类型[] 数组名 = new 数组元素类型[数组长度];double[] arr = new double[5];arr[0]=10.2;arr[1]=15.4;arr[2]=20.5;arr[3]=24.5;arr[4]=30.4;等号左边:double:数组的数据类型[]:代表这是一个数组arr:代表数组的名称 等号右边:new:为数组开辟内存空间double:数组的数据类型[]:代表这是一个数组5:代表数组的长度数组的使用(应用)数组的访问
数组的使用 数组长度 通过属性length可以获取数组的长度
数组名.length
访问数组 通过数组下标可以快捷地访问数组中的元素
数组名[下标]
public static void main(String[] args) { int[] arr = new int[3]; //输出数组名 System.out.println(arr); //[I@4c203ea1 //输出数组中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);}遍历数组
遍历数组,并求数组元素之和
public static void main(String[] args) { int[] a = {1, 2, 3, 4, 5}; int sum = 0; System.out.print("数组元素:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + ","); } System.out.println(); for (int i = 0; i < a.length; i++) { sum = sum + a[i]; } System.out.println("数组元素的之和:" + sum);}
录入5件商品信息,并打印商品信息
public static void main(String[] args) { String[] goods = new String[5];//定义数组 Scanner input = new Scanner(System.in); System.out.println("请输入5件商品名称:"); for (int i = 0; i < goods.length; i++) { System.out.print("请输入第" + (i + 1) + "件商品名称:"); String good = input.next(); goods[i] = good;//将输入的值放入数组中 } System.out.println("所有商品名称如下:"); for (int i = 0; i < goods.length; i++) { System.out.println(goods[i] + "\t"); }}数组操作的两个常见小问题索引越界异常
public static void main(String[] args) { int[] arr = new int[3]; System.out.println(arr[3]);}
数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。
程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。
解决方案:将错误的索引修改为正确的索引范围即可!
空指针异常
public static void main(String[] args) { int[] arr = new int[3]; //把null赋值给数组 arr = null; System.out.println(arr[0]);}
arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。
解决方案:给数组一个真正的堆内存空间引用即可!
数组最值
最大值获取:从数组的所有元素中找出最大值。
实现思路:
定义变量,保存数组0索引上的元素遍历数组,获取出数组中的每个元素将遍历到的元素和保存数组0索引上值的变量进行比较如果数组元素的值大于了变量的值,变量记录住新的值数组循环遍历结束,变量保存的就是数组中的最大值
代码实现:
public static void main(String[] args) { //定义数组 int[] arr = {12, 45, 98, 73, 60}; //定义一个变量,用于保存最大值 //取数组中第一个数据作为变量的初始值 int max = arr[0]; //与数组中剩余的数据逐个比对,每次比对将最大值保存到变量中 for (int x = 1; x < arr.length; x++) { if (arr[x] > max) { max = arr[x]; } } //循环结束后打印变量的值 System.out.println("max:" + max);}
标签: #java输出二维数组的一维长度