关于就业

[求职技巧] 面试Java需要具备的知识

时间:2016-01-26 13:30:45  作者:未知

1、基本数据类型和引用数据类型。它们最大的区别在于,引用数据类型存放的是数据所在的地址,而基本数据类型则是直接存放数据的值2. java 的引用和c++的指针的区别􀀹 类型:引用其值为地址的数据元素,java 封装了的地址可以转成字符串查看,长度可以不必关心。C++指针是一个装地址的变量,长度一般是计算机字长,可以认为是int 型;􀀹 所占内存:引用声明时没有实体,不占空间。C++指针如果声明后会用到才会赋值,如果用不到不会分配内存􀀹 类型转换:引用的类型转换,也可能不成功,运行是抛出异常或边缘就不能通过,C++指针只是个内存地址,指向哪里,对程序来说还都是一个地址,但可能所指的地址不是程序想要的;􀀹 初始值:引用初始值为java 关键字null。C++指针是int,如不初始化指针那么他的值就不是固定的,这很危险􀀹 计算:引用不能计算,C++指针是int,它可以计算。如++ 和--,所以经常用指针来代替数组的下标􀀹 控制:引用不可以计算,所以它只能在自己的程序中,可以被控制。C++指针是内存地址,也可以计算,不容易被控制􀀹 内存泄露:java 引用不会产生内存泄露。C++指针容易产生内存泄露要及时回收􀀹 作为参数:java 的方法只有传值,引用作为参数使用时,回给函数内引用的值的copy,所以在函数内交换两个引用参数是没有意义的,因为函数只交换参数的copy 值,但在函数内改变一个引用参数的属性是有意义的,因为引用参数的copy 所引用的对象是和引用参数是同一个对象。C++指针作为参数给函数使用,实际上就是它所指向地址在被函数操作,使用函数内使用指针参数的操作都将直接作用到指针所指向的地址。

2、冒泡算法public class BubbleSort {public static void main(String[] args){int[] arr={3,5,7,1,8,11,9}; //定义数组bubbleSort(arr);//开始排序} //排序方法public static void bubbleSort(int[] arrys){int temp=0;//定义临时变量for(int j =0;j< arrys.length;j++){ //用j为下标,遍历数组for (int k=0;k<arrys.length-j-1;k++){//总把最大的数字放在后面if (arrys[k]>arrys[k+1]){ //判断当前数字与后面数字的大小temp = arrys[k];arrys[k] = arrys[k+1];arrys[k+1] =temp;//用temp变量进行换值}}} bubblePrint(arrys); //打印} public static void bubblePrint(int[] before){for(int i=0;i<before.length;i++){//遍历System.out.print(before[i]+"");//打印,以空格隔开} System.out.println(); //换行}。

3、插入排序算法public class InsertSort {public static void main(String[] args){int[] arr= {3,5,4,1,8,11,9}; //定义数组doInsertSort(arr); //开始排序} public static void doInsertSort(int[] src){int len = src.length; //获取数组长度for(int i=1;i<len;i++){ //遍历数组,从1开始int j; //定义变量jint temp = src[i]; //临时存储当前的数字for(j =i ;j>0; j--){ //遍历i之前的数字//如果前面的数字大于后面的,则把大的值赋值的后边if(src[j-1]>temp){src[j]=src[j-1];} else//如果当前的数,不小于前面的数,那就说明不小于前面所有的数//因为前面已经是排好了序的,所以直接通出当前一轮的比较break;} src[j]=temp;//把空缺位置的数字赋值为原有的值} print(src);} public static void print(int[] before) {for(int i=0;i<before.length;i++){//遍历System.out.print(before[i]+"");//打印,以空格隔开} System.out.println();//换行}}

相关文章
热门文章
招生对象

精彩专题

更好的了解北大青鸟

更多咨询