知识点整理一

一.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;
		}	
		

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值