java面试题集(面霸必备).doc_第1页
java面试题集(面霸必备).doc_第2页
java面试题集(面霸必备).doc_第3页
java面试题集(面霸必备).doc_第4页
java面试题集(面霸必备).doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java选择题测试试题1指出下面语句没有编译错误的是( )。A. long n = 999999999999;B.int n = 999999999999L;C. long n = 999999999999L;D. double n = 999999999999;试题2完成代码计算10的阶乘并输出,应该填入的代码是( )long result = 1;for(int i = 2; i = 10; i+) System.out.println(“result= ” + result); A. result = result * i;B. result = i*i;C. result = i*(i+1);D. reslut = i*(i-1);试题3下列关于数组的声明错误的是( )A.int arry = new int100;B. int3 arry = 1,2,3C. int arry = new int1,2,3D. int arry = new int3试题4实现对数组arry的冒泡排序,应填入的代码是( )public static void bubbleSort(int arry) int len = arry.length;for (int i = 1; i len; i+) boolean asc = true;if (asc) return;private static void swap(int arry, int i, int j) int temp = arryi;arryi = arryj;arryj = temp;A.for (int j = len-1; j i; j) if (arryj = i; j) if (arryj = i; j) if (arryj arryj - 1) swap(arry, j, j 1);asc = false;D.for (int j = len 1; j = i; j) if (arryj arryj - 1) swap(arry, j, j 1);asc = true;试题5数列1,1,2,3,5,(从第三项开始每一项是前两项之和)下面的代码用于求第100项的值,应填入的代码是 ( )int n = 100; /项目数long n1 = 1, n2 = 1;for (int i = 3; i = n; i+) System.out.println(n2);A. n2 = n1 + n2;B. n2 = n1 + n2; n1 = n2;C. n2 = n1 n2; n1 = n2 n1;D. n2 = n1 + n2; n1 = n2 n1;试题6语句System.out.println(1+2+”java”+3+4)输出的结果是( )。A. 3java34B. 12java34C. 3java7D. 12java7试题7下面程序的输出结果是:( )public static void main(String args) int d = 325;int sum = 0;while (d 0) int n = d % 10;sum += n;d /= 10;System.out.println(sum);A. 10B. 12C. 5D. 32试题8下面的程序没有编译错误的是:( )A.public class Mainpublic static void main(String args) byte b1 = 1;byte b2 = 2;byte b = b1+b2;B.public class Mainpublic static void main(String args) int n;for(int i=0;i0);System.out.println(n);试题9 Java语言中int类型标示整数的最大范围是( )A. -2147483647 2147483647B. -2147483648 2147483647C. -3276732767D. -3276832767试题10 Java语言中字符串“学Java”所占的内空间是A. 6个字节B. 7个字节C. 10个字节D. 11个字节试题11下面的代码使用二分法在有序的int类型数组arry查找元素key,如果找到输出元素在数组中的下标否则输出-1,应该填入的代码是:( )public static void main(String args) int key = 16;int arry = 1, 3, 5, 7, 8, 10, 12, 15, 16 ;int low = 0;int high = arry.length 1;while (low = high) else System.out.println(mid);return;System.out.println(-1);A.int mid = (low + high) 1;if (arrymid key)low = mid + 1;else if (arrymid 1;if (arrymid key)high = mid 1;C.int mid = (low + high) 1;if (arrymid key)high = mid;D.int mid = (low + high) 1;if (arrymid key)high = mid 1;试题12下面的代码试图从26个小写字母中随机抽取5个不重复的字母,并输出到控制台。其中random(int n)方法用于返回大于等于0且小于n的随机整数。应填入的代码是:( )public static void main(String args) int num = 10;char ch = a, b, c, d, e, f, g, h, i, j, k,l, m, n, o, p, q, r, s, t, u, v, w,x, y, z ;int len = ch.length;char result = new charnum; / 用于存放抽取结果boolean flags = new booleanlen;for (int i = 0; i result.length; i+) System.out.print(resulti+” “);public static int random(int n) Random r = new Random();return r.nextInt(n);A.for (int i = 0; i num; i+) int r;do r = random(len); while (!flagsr);resulti = chr;flagsi = false;B.for (int i = 0; i num; i+) int r;do r = random(len); while (!flagsr);resulti = chr;flagsr = true;C.for (int i = 0; i num; i+) int r;do r = random(len); while (flagsr);resulti = chr;flagsr = true;D.for (int i = 0; i =0;i-) result.append(s.charAt(i); return result.toString(); 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 String s = bbbwlirbbb;s.replaceAll(wlirbbb,hhtccc);3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double)使用Integer.parseInt()和Double.parseDouble()方法。如何将数字转换为字符 class my int a=12; Label label=new Label();label.setText(String.valueOf(a); 如何取小数点前两位,并四舍五入。System.out.println(四舍五入取整:(3.856)= + new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP);4.日期和时间 如何取得年月日,小时分秒Date dat=new Date();dat.getYear(); dat.getMonth(); dat.getDay(); dat.getHours(); dat.getMinutes(); dat.getSeconds(); 如何取得从1970年到现在的毫秒数long now=dat.getTime(); 如何获取某个日期是当月的最后一天DateFormate df=DateFormate.getInstance();df.Format(dat); 如何格式化日期DateFormate df=DateFormate.getInstance();df.Format(dat);5.数组和集合 数组与集合的区别:一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。三:数组是一种可读/可写数据结构没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方 只读方式来使用集合。该方法将返回一个集合的只读版本。6.文件和目录(I/O)操作 如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;public class FileOpreate public static void main(String args) FileOpreate fo=new FileOpreate(); try /文件的写入 /*String testStr=new String50; for(int i=0;i0) if(asc=true) for(int i=0;i=vals.length-2;i+) for(int j=0;jvalsj+1) /升序排列 temp=valsj; valsj=valsj+1; valsj+1=temp; else for(int i=0;i=vals.length-2;i+) for(int j=0;jvals.length-i-1;j+) if(valsjvalsj+1) /降序排列 temp=valsj; valsj=valsj+1; valsj+1=temp; return vals;21.short s1 =1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译)22.float型float f=3.4是否正确?不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f在java里面,没小数点的默认是int,有小数点的默认是 double;23.ArrayList和Vector的区别,HashMap和Hashtable的区别。ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 24.Error与Exception有什么区别?error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。25.statement 和preparestatement区别1)创建时的区别: Statement stm=con.createStatement(); PreparedStatement pstm=con.prepareStatement(sql); 执行的时候: stm.execute(sql); pstm.execute(); 2)pstm一旦绑定了SQL,此pstm就不能执行其他的Sql,即只能执行一条SQL命令。 stm可以执行多条SQL命令。 3)对于执行同构的sql(只有值不同,其他结构都相同),用pstm的执行效率比较的高,对于异构的SQL语句,Statement的执行效率要高。 4)当需要外部变量的时候,pstm的执行效率更高.26.写一个数据库连接类,包括查询及结果存储。import java.sql.*; /需要加入的包/类的定义class DBConnect private String con1 = sun.jdbc.odbc.JdbcOdbcDriver; /连接SQL所需要的字符串 private String url = jdbc:odbc:test; private String user = sa, password = ; /这里请根据您的数据库用户和密码自行修改 Connection con; /用于连接数据库用的 PreparedStatement ps; /其实用Statement也行,PreparedStatement集成了Statement. ResultSet rs; /一个集合,可以用于执行SQL命令 /构造函数 DBConnect() try Class.forName(con1); /Class.forName()用于将一些类加载到JVM this.Connect(); /函数调用 try this.execute(); catch (SQLException ex) System.out.println(ex.toString(); catch (ClassNotFoundException ce) System.out.println(ce); public void Connect() try con = DriverManager.getConnection(url, user, password); /做这部之前先把ODBC配置好 if (con != null) System.out.println(Connection Sucessfully!); catch (SQLException ex) System.out.println(ex.toString(); public void execute() throws SQLException ps = con.prepareStatement(select *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论