------- android培训、java培训、期待与您交流! -----------
三种数组定义方式。
方式1(推荐,更能表明数组类型)
type[] 变量名 = new type[数组中元素的个数];
int[] a = new int[10];
数组名,也即引用a,指向数组元素的首地址。
方式2
type变量名[] = new type[数组中元素的个数];
int a[] = new int[10];
方式3 定义时直接初始化
type[] 变量名 = new type[]{逗号分隔的初始化值};
其中红色部分可省略,所以又有两种:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
其中int[] a = new int[]{1,2,3,4};的第二个方括号中不能加上数组长度,因为元素个数是由后面花括号的内容决定的。
定义二维数组
基本的定义方式有两种形式,如:
type[][] i = new type[2][3];(推荐)
type i[][] = new type[2][3];
数组相关异常
1、ArrayIndexOutOfBoundsException
int[] arr = new int[3];
System.out.println(arr[3]);
当访问到数组中不存在的角标时,就会发生该异常。
2、NullPointerException
arr = null;
System.out.println(arr[0]);//NullPointerException
当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。
一维数组在内存图
二维数组在内存图
数组相关算法
1、冒泡排序
冒泡排序原理:前一个与后一个进行比较,一直比较到末尾,一个轮回选着出最大或最小值。下图中写出了冒泡排序的两种方式。
2、选着排序
选着排序原理:第一个分别与其他数进行比较,若从大到小的排序,碰到比它大的就与它自身交换位置,若从小到大排序,碰到比它自身小的就交换位置。下图是选择排序示意图
3、二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。下图是原理图:
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------