数组的基本概念:相同类型元素的集合.
Java中的数组是引用类型,属于对象(与前面讲到的基本类型有区别).
数组的作用:数组中可以存储基本类型,也可以存储引用类型,取决于声明数组时,可以存储的数据类型.
数组对象,指定空间数量,空间数量一旦确定,不能更改,这些空间在内存中是连续的.
数组是一个非常重要的数据结构
注意:
数组的索引从0开始.
索引的数据类型是整型.
索引最大值和数组长度始终差1
数组声明语法:
数据类型 名称[ ];
数据类型 [ ]名称;
// int x,y,z;
// int a,d[ ]; //a是整数,d是数组;
// int[ ]b,c; //b,c都表示数组;
数组的创建
数组创建的三种方式:
1.声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
int [ ]a=new int [5]; //数组创建,必须指定长度
System.out.println(Arrays. toString) 默认输出是数组在内存中地点上//Arrays:将数组中元素拼接为一个字符串表示.
2.声明数组并分配内存,同时将其初始化
int [ ]x=new int[ ]{1,2,3,4,5};
System.out.println(Arrays. toString(x))
3.与前一种方式相同,仅仅只是语法相对简略
int [ ]y={1,2,3,4,5};
System.out.println(Arrays. toString(y))
数组的长度:length属性
int [] b1 = new int []{1,2,3,4,5,6,7};
System.out.println(b1.length);
数组的访问与迭代
数组在创建之初,会给每个空间分配编号(索引/下标)
通过编号可以对某个空间进行访问
数组元素的访问:
数组名字[索引] 例如:a[0],a[1];
注意:
数组的索引从0开始。
索引的数据类型是整型
索引最大值和数组长度始终差1
出现了运行时异常,数组索引越界异常 异常类型
数组长度有没有长限?
有 [Integer.Max-Value];
第一行:异常原因 第二行:异常位置
增强for循环 a:需要遍历的数组 int t :声明一个变量
for(数组元素的类型 临时变量名字 :数组的名字){
System.out.println(临时变量名字 ); }
for (int t: a){System.out.println(t); }
每循环一次,从数组中取出一个元素,赋给变量t,进入到循环体,重复操作,直到数组中元素遍历完成for (int i=0;i<b1.length;i++){System.out.println(b1[i]); }
数组排序
冒泡排序:每一次取出相邻的两个元素进行比较,把交大的值向后移动
选择排序:比较相邻的元素,如果第一个比第二个大,就交换他们两个
debug调试
1.设置断点,开始调试程序的位置
2.启东时使用debug模式运行程序
3.调试按键
二维数组
定义:数组的数组,二维数组中的每一个元素又是一个一维数组.
声明语法: int [ ] [ ]a; int a[ ] [ ];
二维数组的创建