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);                //计算出总销售额并输出
}

 

最新文章

  1. Java之工厂方法
  2. 关于 escape、encodeURI、encodeURIComponent
  3. boost compile
  4. hdu 2955 01背包
  5. Remoting和Webservice的区别
  6. RMQ(非log2储存方法)
  7. Android常见包
  8. JavaScript之arguments对象讲解
  9. asp.net word ecxel类型文件在线预览
  10. 解决docker中DNS查询的问题
  11. 论DATASNAP中间件对象池
  12. HDFS文件读取详解
  13. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--03
  14. Hihocoder 1325 平衡树&#183;Treap(平衡树,Treap)
  15. java 集合学习笔记
  16. bzoj1877
  17. 【Oracle学习笔记】游标
  18. NetBus —— 让你的 App 内部随处感知网络的变化
  19. leetcode — rotate-list
  20. ID绘图工具的使用5.29

热门文章

  1. java 线程状态相关测试
  2. Go的50度灰:Golang新开发者要注意的陷阱和常见错误(转)
  3. C++复习:对C的拓展
  4. 【377】only one element in a tuple
  5. 使用adb查看CPU和内存
  6. webpack 自动发现 entry 的配置和引用方式
  7. match()方法解析
  8. Jupyter notebook 文件路径
  9. JAVA 课堂测试
  10. Java NIO Overview