1.数组的概念与作用

  数组:一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。

  作用:可以存贮多个数据。

2.数组的使用方式

  数据类型[] 数组名 = new 数据类型[元素个数或数组长度];
  1)数据类型: 数组中存储元素的数据类型
  2) [] 表示数组的意思
  3) 变量名 自定义标识符
  4) new 创建容器关键字
  5)数据类型: 数组中存储元素的数据类型
  6)[] 表示数组的意思
  7)元素个数,就是数组中,可以存储多少个数据 (恒定, 定长)

  如:int[] x = new int[100];c:要点说明
3.注意事项:
  数组是一个容器: 存储到数组中的每个元素,都有自己的自动编号,即索引(index)。
  访问数组存储的元素,必须依赖于索引, 公式 数组名[索引]
  数组的最小索引是0, 最大索引数组.length-1

4 数组的length属性
  数组可以通过数组名.length来获得数组的长度。
5.为数组的元素赋值

  第一种方式:  

int[] arr = {1,2,3};    //即定义了一个有3个元素的整形数组,数组元素为1、2、3。一般来说会比较常用

  第二种方式:    

int[] arr = new int[3];

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;      //定义了一个有3个元素的整形数组,数组元素为1、2、3

  第三种方式:

int[] arr = new int[]{1,2,3};     //定义了一个有3个元素的整形数组,数组元素为1、2、3

6遍历数组

 public static void main(String[] args) {
int[] arr = {1,2,3};
for (int i = 0; i < arr.length; i++) { //数组下标从0-数组长度-1;
 System.out.println(i); //把数组内的元素打印出来
  }

7 数组中常见的异常
  数组的索引越界异常
  空指针异常

8 数组最值
* 定义数组的第一个元素arr[0]为最大值;循环arr数组,判断如果有比arr[0] 大的就交换,直到arr数组遍历完毕,那么arr[0]中就保存了最大的元素

public static void main(String[] args) {
int[] arr = {23,34,45,56,67,2,78};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {    //for循环从下标0-arr.length-1
if(arr[i] > max){               
max = arr[i];                //如果正在遍历的数组值大于当前最大值,把最大值换为当前数组值
}
}
System.out.println(max);
}

9二维数组的定义
    要统计一个学校各个班级学生的考试成绩,又该如何实现呢?
    这时就需要用到多维数组,多维数组可以简单地理解为在数组中嵌套数组。
定义格式
    a 第一种定义格式:
   int[][] arr = new int[3][4];
    上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的  数组
    b 第二种定义格式
    int[][] arr = new int[3][];
    第二种方式和第一种类似,只是数组中每个元素的长度不确定
  c 第三种定义格式
    int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
    二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}

10二维数组的遍历

    public static void main(String[] args) {
int[][] arr = {{1,2,3},{4,9,3},{23,3,6}};
int max = arr[0][0];
for (int i = 1; i < arr.length; i++) {          //for循环遍历行从arr下标0-arr.length-1
for (int j = 0; j < arr[i].length; j++) {      //for循环遍历列从arr[i]下标0-arr.length-1
if(arr[i][j] > max){
max = arr[i][j];          //如果正在遍历的数组值大于当前最大值,把最大值换为当前数组值
}
}
}
System.out.println(max);
}


11二维数组的求和练习
  例如要统计一个公司三个销售小组中每个小组的总销售额以及整个公司的销售额。如下所示
     第一小组销售额为{41, 22}万元
  第二小组销售额为{31, 12, 13}万元
     第三小组销售额为{3, 2, 63, 38}万元。

  

    public static void main(String[] args) {
int[][] arr = {{41,22},{31,12,13},{3,2,63,38}};     //输入数据
int count = 0;                         //定义总销售额
for (int i = 0; i < arr.length; i++) {            //循环遍历小组
int groupCount = 0;                     //定义各个小组销售额
for (int j = 0; j < arr[i].length; j++) {         //循环遍历每个小组的销售额
groupCount += arr[i][j];            
}
System.out.println("第"+(i+1)+"个小组销售额为:"+groupCount);  //计算出各个小组销售额并输出
count += groupCount;
}
System.out.println("总销售额为:"+count);                //计算出总销售额并输出
}

 

Java_5 数组的更多相关文章

  1. Java_5.2 数组应用:*的打印

    1五行五列的* ************************* public static void main(String[] args) { for (int i = 1; i <= 5 ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  4. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  5. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  6. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  7. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  8. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  9. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

随机推荐

  1. 腾讯助理PHP开发工程师外包岗面经

    校招错过腾讯了,在社招上看到腾讯有招外包岗,要求比正式岗低,于是抱着试一试的心态投了简历,没一会就收到了笔试题,还算简单. 第二天收到面试官的面试邀请,然后去面试了…… 腾讯里面真是漂亮,光是看装潢就 ...

  2. k8s的内置DNS增加父系DNS方法

    我们都知道K8S有内置DNS,是在搭建K8S时候以容器方式起来的,那么有时候我们需要解析内部DNS地址该怎么办呢,我们可以搭建个内部DNS 但是怎么让K8S通过内部DNS解析呢? 可以尝试如下方法 在 ...

  3. k8s的Deployment 滚动升级

    首先定义一个Deployment,并创建它 apiVersion: apps/v1beta1 kind: Deployment metadata: name: house-live spec: rep ...

  4. RabbitMQ系列教程之二:工作队列(Work Queues)(转载)

    RabbitMQ系列教程之二:工作队列(Work Queues)     今天开始RabbitMQ教程的第二讲,废话不多说,直接进入话题.   (使用.NET 客户端 进行事例演示)          ...

  5. Windows常用命令实例

    熟练使用DOS常用命令有助于提高工作效率. 1.windows+R:打开运行程序窗口 2.cmd:调用DOS命令窗口 3.mstsc:调用远程桌面命令窗口.mstsc -v 192.168..0.1 ...

  6. Hibernate 再接触 关系映射 一对一单向外键关联

    对象之间的关系 数据库之间的关系只有外键 注意说关系的时候一定要反面也要说通 CRUD 数据库之间设计 主键关联 单向的外键关联 中间表 一对一单向外键关联 Husband.java package ...

  7. asp.net控件中的reportview不显示

    如果reportview在asp.net中,图标出不来,打X 1.安装reportview控件(在装有vs2010中的电脑中搜,不要去下载,下载可能会出错) 2.如果是iis7以上版本,web.con ...

  8. C# 图像处理:获取鼠标位置信息(全局)

    Point ms = Control.MousePosition; //获取鼠标位置 this.label2.Text = string.Format("{0}:{1}", ms. ...

  9. C++之 模板Template的使用

    转自https://www.cnblogs.com/cynchanpin/p/7127897.html 1.在c++Template中非常多地方都用到了typename与class这两个关键字,并且好 ...

  10. MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接

    更改数据库密码: update user set password=passworD("sunjingyu0509!") where user='root'; flush priv ...