九、排序
1.冒泡
2选择
3.插入排序:从第二个开始与前面所有已经排好序的序列进行比较,插入到对应位置
for(inti=1;i<arr.length;i++) {
//第二个元素开始,每个元素与前面已经排好序的元素比较
for(intj =0; j<i;j++) { //j为被比较的元素,用来确定位置
if(arr[i]<arr[j]) {
temp=arr[i];
for(intk=i-1;k>=j;k--)
arr[k+1]=arr[k];
arr[j]=temp;
}
}
}
十、常用API (工具类基本都位于util类下)
1.java.util.Arrays类
常用方法:1)toString 把数组转化成字符串,可直接查看数组中的内容
2)sort/ parallelSort 对数组进行排序 sort升序排序:
例:Arrays.sort(arr);对数组全部升序排序
例:Array.sort(arr,1,4);对下标为1到4的元素进行排序;//Java方法中通常都是前闭后开[起始位置,终止位置]
3)binarySearch二分查找 用来查找元素。前提要自己用sort方法排个序;、 例;Arrays,binarySearch(arr,3) 其中3为待查找的元素;如果有,返回元素下标,如果没有,返回(负的插入点下标)减一。
例:Arrays.binarySearch(arr,1,4,3)意为从下标为1的元素到4的元素之间查找有无3
4)equals
例:Arrays,equals(arr1,arr2);
5) fill 用指定的元素值填充数组
例:Arrays,fill(arr,111)即用111填充整个数组
例:Arryas,fill(arr,1,4,100);即用100填充1到4的位置
6)copyOf复制指定的数组
例:int[]arr2; arr2=Arrays,copyOf(arr);
7)copyOfRange指定范围的复制
例:int[]arr2; arr2=Arrays,copyOfRange(arr,1,4);
十一、构造器与访问器
Shift + alt + s可以自动生成构造器和访问器。
(一) 构造器与访问器的区别
1.构造器是在创造对象时完成初始化(赋值)以new开头;
访问器只有在创建对象之后,才能调用赋值;
2.访问器可以一次为所有成员变量赋值;
访问器只能一个一个调用赋值
3.创建对象之后,对属性值的更改只能用访问器。
(二)构造器的重载
(三)构造器之间的调用,用this调用。
(四)构造块:在定义类时,在定义构造器之前的一段代码,用大括号括起来。在new对象时,先执行构造块,再只想构造器。
(五)实例成员变量初始化步骤:
1.默认初始化;
2.声明处初始化;
3.构造块初始化;
4.构造器