知识点整理一
程序员文章站
2022-07-14 11:02:01
...
一.JAVA的运行过程:
1、源文件由编译器编译成字节码(ByteCode),由A.java到A.class的过程。
2、字节码由java虚拟机解释运行。
二.八种基本数据类型:
int,float,double,byte,boolean,char,long,short。
这八种基本数据类型不可作为对象。
三.三目运算符:
b ? x : y
先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。
四.移位运算符:
<< | 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) | x<<3 |
>> | "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1. | x>>3 |
>>> | "无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0. | x>>>3 |
五.跳转语句:
1.Break时,跳出循环(结束循环)。
2.continue时,跳出本次循环,继续执行下次循环。
六.数组:
1.一维数组:
数组的动态初始化:数据类型 [] 数组名称 = new
数据类型[长度];
数组的静态初始化:数据类型 数组名称 = new 数据类型[] {值, 值,…}
2.二维数组:
数组的动态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数];
数组的静态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数]{{值, 值,…}, {值,值,…},…};
3.冒泡排序:
public static void ArraySortTest() {
int[] ages= {21,27,31,19,50,32,16,25};
System.out.println(Arrays.toString(ages));
//控制比较轮数
for(int i=1;i<ages.length;i++) {
//每轮比较多少
for(int j=0;j<ages.length-i;j++) {
if(ages[j]>ages[j+1]) {
int tmp=0;
tmp=ages[j];
ages[j]=ages[j+1];
ages[j+1]=tmp;
}
}
}
System.out.println(Arrays.toString(ages));
}
4.二分查找:
(递归)
public static int recursionBinarySearch(int[] arr,int key,int low,int high){
if(key < arr[low] || key > arr[high] || low > high){
return -1;
}
int middle = (low + high) / 2; //初始中间位置
if(arr[middle] > key){
//比关键字大则关键字在左区域
return recursionBinarySearch(arr, key, low, middle - 1);
}else if(arr[middle] < key){
//比关键字小则关键字在右区域
return recursionBinarySearch(arr, key, middle + 1, high);
}else {
return middle;
}