day13 数组高级 idea快捷键,数组扩展(数组的拷贝,冒泡排序,二分法),操作数组的api -> java基础大神进阶学习总结之19天(知识点全面覆盖,细节)

java基础总结


day13 数组高级 idea快捷键,数组扩展(数组的拷贝,冒泡排序,二分法),操作数组的api

idea快捷键

ctrl + x 剪切 ctrl + d 复制粘贴到下一行
ctrl + f 搜索查找当前class文件 ctrl + n 找class文件
shift + enter 当前光标停留到下一行光标 ctrl +shift + enter ----------上一行
ctrl + f12 查找当前类结构 ctrl + shift + U 转换大小写
ctrl + 鼠标 查看源码 ctrl + alt + t 代码包围生成对应代码块
alt + / 单行注释 alt + shift + / 多行注释
alt + ctrl + L 格式化 ctrl + alt + o 删除多余代码
ctrl + alt + 上键/下键 移代码 alt + j 选择下一行的当前内容
ctrl + shift + alt + j选中全部下一行 ctrl + tab 切换窗口
shift + f10 运行 shift + f9 debug当前行
fori for循环 iter 增强for循环
shift + f8 打开debug设置

数组扩展

1.数组的拷贝

自己实现

/*
参数列表:
	src - 源数组
    srcPos - 源数组中的开始索引位置
    dest - 目标数组
    destPos - 目标数据中的开始索引位置
    length - 要复制元素的数量
*/
static void arraycopy(int[] src, int srcPos, int[] dest, int destPos, int length){
	for (int index = 0; index < length; index++) {
		dest[destPos + index] = src[srcPos + index];
	}
}

2.冒泡排序

static void sort(int[] arr) {
	for (int times = 1; times <= arr.length - 1; times++) {
		//times表示第几轮比较,值为:1,2,3,4,5
		for (int i = 1; i <= arr.length - times; i++) {
			if (arr[i - 1] > arr[i]) {
				App.swap(arr, i - 1, i);
			}
		}
	}
}

3.二分法

int low = 0;
int height = array.length -1;
int middle = (height - low) / 2;
boolean flage = false;
while( height >= low){
     if(number == array[middle]){
         flage = true;
         break;
     }else if(number > array[middle]){
         low = middle + 1;
     }else{
         height = middle -1;
     }
    middle = (height + low) / 2;
}
if(flage){
    System.out.println("找到了,索引为"+middle);
}else{
    System.out.println("找不到");
}

操作数组的api

学习API一定要掌握一个秘诀:文档在手, 天下我有!

1.数组的拷贝与扩容

数组的拷贝功能里面包括了数组的扩容方法

//数组的扩容
Object[] temp = Arrays.copyOf(elements, elements.length * 2);   
//数组的拷贝
System.arraycopy(n1,2,c,2,2);

2.数组的二分法查找

public class ArraySearchDemo{
	public static void main(String[] args) {
		int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		int index = java.util.Arrays.binarySearch(arr, 8);
		System.out.println(index);
	}
}

3.4数组的排序

public class ArraySortDemo{
	public static void main(String[] args) {
		int[] arr = new int[] { 2, 9, 6, 7, 4, 1 };
		System.out.println(Arrays.toString(arr));//排序前
		java.util.Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));//排序后
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_41340417/article/details/107889708