1.学习笔记---- 数组
1、(静态初始化-常见问题) 定义数组时,数据明确的话:
int[] arr={1,2,3,4,5};
数据不明确的话:int[] arr=new arr[5];
arr[0]=1;
arr[1]=2;
有时候编译程序时,出现这样的错误 ArrayIndexOutOfBoundsException 操作数组时 ,访问到了数组中不存在的角标 arr=null; System.out.println(arr[1]); 编译后会报错 NullPointerException 空指针异常,当引用没有任何指向值为空的情况下,该引用还在用于操作实体
2、数组(常见操作-获取最值)
可以用数值 也可以用角标 波尔型数组的默认值为false
3、数组排序 真实开发中用到的是 Array.sort(arr); 面试中一般考排序 算法 冒泡排序和选择排序常考
4、数组查找
1、定义功能,获取key第一次出现在数组中的位置,如果返回-1, 那么该key在数组中不存在
2、折半查找可以提高效率,但必须保证是有序数组。
在此有个面试题,如果让你把一个数插入到一个数组中还要保持数组的原始顺序,你该怎么处理? (你可以考虑用折半查找的方法,找该数在数组中的位置,如果存在该数,则直接把该数放入这个位置,如果不存在该数,则返回最小角标的值,就是该数插入的位置)