龙空技术网

从零开始学Java-005-一维数组

三石和小鱼 71

前言:

此刻小伙伴们对“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输出二维数组的一维长度