数组基本知识2

2024-08-25 16:44
文章标签 数组 基本知识

本文主要是介绍数组基本知识2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 

前言

二维数组

使用原因

定义二维数组

访问数组元素

实例


 

前言

上一篇,我简单的复习了一维数组,本篇讲述二维数组的基本知识,帮助大家预习和复习。

二维数组

使用原因

本质原因:一维数组,已经无法满足解决实际问题的需要

例如:要统计一个学校各个班级学生的考试成绩,既要标示班级,又要标示学生成绩,如果使用一维数组的话,一个数组,只能表示一个因此当真正解决这项问题时,需要同时创建两个一维数组分别表示对应的目标,最后同时输出。但这样的写法是,比较繁琐的,为了使你编写的代码简洁,所以才有了二维数组。

定义二维数组

格式  1(已经确定好,行数和列数)

数据类型 [   ] [  ] 数组名=new  数据类型 [ 行数] [ 列数  ] ;

实例

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

理解:上面代码,表示3*4 的二维数组,即3行4列的二维数组。其中 xx[0] ,xx[1],xx[2] 度可以理解成一个一维数组。

6b16890014ae43efb8bd4600a5e680b1.png

格式 2 (确定行数,但不确定列数)

数据类型 [  ]  [   ]数组名  =new 数据类型 [ 行数 ] [  ] ;

实例 

int [  ]  [  ] xx =new int [3 ] [  ];

注意:行数一定不能省略, 列数根据实际需要判断是否需要。

格式 3 (确定元素值)

数据类型 [  ]  [   ]数组名  = {   {第1行初始值} ,{第2行初始值}, {第3行初始值},......{第n行初始值}    } ;

实例

int  [  ]  [  ]xx=          {   {1,2} ,{3,4,5,6}, {7,8,9} } ;   

访问数组元素

我们知道二维数组,就相当于走楼梯。

大家小时候,在楼梯上玩,有时,有人会问你:你现在什么位置?你可能会说,我在3 楼 第四个阶梯(假设6层楼,每层楼有8个阶梯)。那么如果用二维数组应该怎么表示,我处在的楼梯位置呢

思路

首先创建一个二维数组表示 一栋楼的楼数和阶梯数。

int [  ] [ ] address= new int [ 3] [8] ;

其次 表示你所在的位置----我在3 楼 第四个阶梯

address [3] [4 ] 这就是我们所在的位置。

实例

 问题:统计 一个 公司 3 个 销售小组中每一个小组的销售额 以及整个公司的总销售额

第1 个小组 : 11,12 。

第2个小组 : 21,22,23 。

第3个小组 : 31,32,33,34 。

思路

最终目的:得到小组的销售额和总销售额

1 总销售额=所有小组销售额相加  ,并且小组销售,每一个小组成员销售相加

2 发现使用二维数组表示最为方便的(本题中,我们不仅要表示小组之间的关系还要表示小组内部的关系,需要使用到二维数组。如果使用一维数组的话,需要同时创建两个数组才行,过程比较繁琐)

3 使用循环嵌套,内层循环表示每一个小组销售总额,外层循环表示小组相加的最终销售总额。

代码如下

public class Example2 {public static void main(String[] args) {int [] [] arr=new int[3][];arr[0]=new int[]{11,12};arr[1]=new int[]{21,22,23};arr[2]=new int[]{31,32,33,34};int sum=0;//总销售额int groupsum=0;//小组销售额for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){groupsum+=arr[i][j];}sum+=groupsum;System.out.println("小组销售"+groupsum);groupsum=0;}System.out.println("总销售额="+sum);}
}

c1e9257f4d424b5088e8ca4bdcdbbc4c.png

当你写完,你发现,小组销售额groupsum 只要在外层循环写一遍,就可以了。没必要在for循环外设置为全局变量。

修改后:

public class Example2 {public static void main(String[] args) {int [] [] arr=new int[3][];arr[0]=new int[]{11,12};arr[1]=new int[]{21,22,23};arr[2]=new int[]{31,32,33,34};int sum=0;//总销售额for(int i=0;i<arr.length;i++){int groupsum=0;//小组销售额for(int j=0;j<arr[i].length;j++){groupsum+=arr[i][j];}sum+=groupsum;System.out.println("小组销售"+groupsum);
//            groupsum=0;}System.out.println("总销售额="+sum);}
}

 

这篇关于数组基本知识2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106096

相关文章

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.