Java_SE考试题.doc_第1页
Java_SE考试题.doc_第2页
Java_SE考试题.doc_第3页
Java_SE考试题.doc_第4页
Java_SE考试题.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

Java SE阶段测试一:基本语法1. 下列哪些数据类型不属于基本数据类型:(多选)ACDA. BooleanB. intC. StringD. ShortE. char2. 下列哪些写法是错误的:ABCA. boolean b = (boolean)3;B. int a = (int)true;C. int a = false;D. long b = (long)3.143. 写出下列程序的输出结果:int a = 10, b = 4;System.out.println(a / b);2System.out.println(a % b);2System.out.println(a = b);4System.out.println(a+);44. 请写代码实现将字符串变量s转换为int型, 将int型变量i转换为字符串型。Int a = Integer.parseInt(“123”)char c = i+”;5. 设计一个方法,传入整形数字,不用取余运算符“%”判断该数字是奇数还是偶数。 Int a;Scanner input =new Scanner(System.in); While(true)a=a-2; if(a=0)System.out.print(“偶数”);break;If(a=1)System.out.println(“奇数”);break;6. 写出下列程序的输出结果:7. int a = Integer.MAX_VALUE, b = Integer.MIN_VALUE;8. System.out.println(a + b);-19. System.out.println(a28);710. System.out.println(b28);-8System.out.println(b28);8byte c = (byte) 128;System.out.println(c);-12811. 写出下列程序的输出结果:public class Test public static void main(String args) int a = test(3 );System.out.println(a);private static int test(int i) int r = 0;try if (i 3) return r = i;throw new NumberFormatException(); catch (NumberFormatException e) r = 1;return r; catch (RuntimeException e) r = 2;return r; finally r = -1;结果为a= 112. 写出下列程序的输出结果:int x,y;x = y = 3;x = (y=6)(x=6)?x+:+x;System.out.println(x);System.out.println(y);X = 7Y = 613. 写出下列程序的输出结果:public class Test public static void main(String args) Object x = new Object() public boolean equals(Object obj) return obj.getClass().equals(this.getClass();Object y = new Object() public boolean equals(Object obj) return obj.getClass().equals(this.getClass();System.out.println(x.equals(y);false14. 写一段最短的代码造成Java堆内存溢出。public static void main(String args) Vector v = new Vector()where(true)int a = new int100000v.add(a);二:面向对象的语法规则1. 如果类C1继承自类C2,并实现了接口I1,而类C2实现了接口I2,请挑出下面代码的错误的部分:A. C2 instance = new C1();true B. C1 instance = new C2();falseC. I1 instance = new C1();true D. I2 instance = new C1();true2. 请列出java中4种访问权限修饰符的区别(可以列表说明)Public 都能访问 Private 类内部访问Protected 类中 同包类 子类Default 默认包私有3. 请列出抽象类与接口的语法区别(至少列出4点)定义方式:抽象类abstract class A 接口:interface A继承 : 抽象类 extends 不支持多继承 接口:implements 可以多继承方法: 有构造方法 具体方法 接口:只定义,不实现,且全部是抽象实例化 可以 不可以 4. 请举出static关键字的几种用法,并分析为何使用static修饰的方法是不符合面向对象精神的。Static修饰 变量 方法 代码块 static final静态变量在对象实例化之前就已经存在了,为所有类共享的资源,与面向对象剥离事物本质的思想并不符合。5. java语言中对构造函数有哪些语法要求?方法名与类名相同,一般用来初始化一些成员变量可以重载6. 请说明方法重写与方法重载的区别。重写是子类的方法覆盖父类的方法,要求方法名和参数都相同重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数三:异常处理与调试7. Java对异常可以分为受检查异常,非受检查异常和错误,它们典型的代表类是哪三个?它们三个共同的父类是谁?Exception RuntimeException和Error。 Throwable8. 请写出一般程序遇到何种情况时会出现下面的异常:A. java.lang.NullPointerException;指向不明B. java.lang.NumberFormatException;数据类型不匹配 C.java.lang.ArrayIndexOutOfBoundsException; 非法索引D. java.io.NotSerializableException;文件写入异常E. java.lang.ClassCastException 类型转化出错F. java.lang.java.lang.StackOverflowError 溢出9. 请举例说明关键字throw与throws的区别。public Test() throws RepletException try System.out.println(Test this Project!) catch (Exception e) throw new Exception(e.toString(); throws是用来声明一个方法可能抛出的所有异常信息throw则是指抛出的一个具体的异常类型。10. 请比较final、finally、finalize三者之间的区别。final属于限定修饰符finally用于异常处理模块,finalize属于析构方法,用于垃圾回收机制,比较相似,没有任何联系。四:Java SE常用工具包11. 请画出java集合框架的结构图(表示出接口与各个实现类之间的关系即可)。12. 请比较ArrayList与LinkedList的区别。 ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。2.对于随机访问get和 set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3.对于新增和删除操作add和 remove,LinedList比较占优势,因为ArrayList要移动数据13. 如果要按照自定义规则比较某类的两个对象是否相等,应该重写该类的_equles()_方法,如果要按照自定义规则比较某类的两个对象的大小,应令该类实现_Comparator_接口,并重写_equles_方法,如果要在控制台输出对象,应该重写该类的_compare_方法14. 现有一个Map集合定义如下:Map map = new TreeMap(),请分析该集合对存放的键、值有何要求,写一段代码对该集合进行遍历。一键可以多值,但一值只能对应一键Iterator it = TreeMap.iterator();While(it.hasNext()System.out.print(“yes”); 15. 请写一段代码,将文件C:1.txt的内容倒置后复制到F:2.txt,如果1.txt内容为”ABC”,复制后2.txt的内容应为”CBA”。 Public static void main(String args) BufferedReade bf = new BufferedReader (newInputStreamReader(new FileInputStream(“c:/1.txt”); PrintWriter pw = new PrintWrinter (new OutputStream(new FileOutputStream(“F:/2.txt”); String s =”a”; Vocter v = new Vocter(); While(s!=null)s = bf.readLine(); String s1=change(s); V.add(s1); For(int n=0;nV.size();n+) Pw.write(V.get(V.size()-n); Pw.flush(); Bf.close(); Pw.close(); public static String change(String s) String a=”; For(int i=0;is.length;i+) a = a+charAts.length-1-i; Return a; 五:代码阅读、编写16. 请设计一个方法,传入整型i,打印i行由星号组成的空心三角形,如i=5时打印如下结果:* * * * * * * *Public static void main(String args)System.out.println(“Enter the number:”);Scanner input = new Scanner(System.in);Int n = input.nextInt();Left(0,n);For(int i=1;in-1;i+)Left(i,n);right(i,n); Last(n);Public static void left(int i,int n) For(int j=0;jn;j+) If(j=n-i-1) system.out.print(“*”); Else System.out.print(“ ”); Public static void right(int i,int n) For(int j=0;jn;j+) If(j=i) system.out.print(“*”); Else System.out.print(“ ”); System.out.println();Public static void last(int n)For(int i=0;in;i+)System.out.print(“*”);System.out.print(“ ”); System.out.println();百鸡百钱问题:算经中一个问题:公鸡1只5元钱,母鸡1只3元钱,小鸡3只1元钱,现在某人用100元钱买了100只鸡,问买了公鸡母鸡小鸡各几只?Public static void main(String args)int x,y;For(x=0;x20;x+)For(y=0:y30;y+)Int z=100-x-y; Double sum=(double)(5*x+3*y+z/3);If(sum=(double)100)System.out.println(“x:”+x+” y: ”+y+” z: ”+z); 17. 下面是一个使用二分算法在数组中查找某一项元素的方法,请补充空白部分的代码:/* * 通过二分法在数组中查找某一项的位置 * param a有序的整型数组 * param key查找的项 * return如果找到,返回key在数组中的位置,如果没有找到,返回-1 */public static int binarySearch(int a, int key) int low = 0;int high = a.length - 1;while (low key ? 1 : -1);if (cmp 0)high = _mid-1_;elsereturn mid; return _-1_; 18. 统计输入字符串中以,分隔的各种单词出现的次数。例如:输入的字符串为java,java,j2ee,ibm,j2ee,ibm,j2me,java,则该程序的输出结果应该为:java3个;j2ee2个;ibm2个;j2me1个,请补充代码:public static void total(String s) String ss = _s.split(“,”)_;Map map = new HashMap();for (int i = 0; i ss.l

温馨提示

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

评论

0/150

提交评论