1、JAVA笔试题l 软件开发工程师(JAVA)笔试题请在90分钟以内做答 答案请写在答题纸上一、选择题1、下面哪项是不合法的标识符:(c e)A. $persons B. TwoUsers C. *point D. _endline E. final2、下列运算符合法的是(a )A& B Cif D:=3、下面描述中哪两项相等:(bg)选择两项A. B. C. D. E. F. G. 4、设float x = 1,y = 2,z = 3,则表达式 y+=z-/+x的值是:(a)A. 3.5 B. 3 C. 4 D. 55、下面的哪些叙述为真:(d)A. equals()方法判定引用值是否指向同一
2、对象B. =操作符判定两个不同的对象的内容和类型是否一致C. equal()方法只有在两个对象的内容一致时返回trueD. 类File重写方法equals()在两个不同的对象的内容和类型一致时返回true6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?(b)A. 能 B. 不能 C. 不确定7、下列说法错误的有(bd )A 能被java.exe成功运行的java class文件必须有main()方法B J2SDK就是Java APIC Appletviewer.exe可利用jar选项运行.jar文件D 能被Appletviewer
3、成功运行的java class文件必须有main()方法8、下列正确的有(acd )A call by value不会改变实际参数的数值B call by reference能改变实际参数的参考地址C call by reference不能改变实际参数的参考地址D call by reference能改变实际参数的内容9、下列说法错误的有(bcd )A 数组是一种对象B 数组属于一种原生类C int number=31,23,33,43,35,63D 数组的大小可以任意改变10、不能用来修饰interface的有( ad)Aprivate Bpublic Cprotected Dstatic1
4、1、关于Float,下列说法正确的是 (a) AFloat是一个类 BFloat在java.lang包中 CFloat a=1.0是正确的赋值方法 DFloat a= new Float(1.0)是正确的赋值方法 12、下列哪种说法是正确的( d)A 实例方法可直接调用超类的实例方法B 实例方法可直接调用超类的类方法C 实例方法可直接调用其他类的实例方法D 实例方法可直接调用本类的类方法13、下列说法错误的有( c)A在类方法中可用this来调用本类的类方法B在类方法中调用本类的类方法时可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法14、下面说法哪些是正确的? b
5、d AApplet可以访问本地文件 B对static方法的调用不需要类实例 Csocket类在java.lang中 D127.0.0.1地址代表本机 ?15、类Test1、Test2定义如下:1. public class Test1 2. public float aMethod(float a, float b) throws3. IOException 4. 5. public class Test2 extends Test1 6. /Line67. 将以下(ac)方法插入行6是不合法的。 A. float aMethod (float a, float b) B. public in
6、t aMethod (int a, int b) throws Exception C. public float aMethod (float P, float q) D. public int aMethod (int a, int b) throws IOException 16、关于以下程序段,正确的说法是:(b)1. String s1 = “abc” + “def”;2. String s2 = new String(s1);3. if(s1.equals(s2)4. System.out.println(“.equals() succeeded”);5. if(s1 = s2)6
7、. System.out.println(“= succeeded”);A. 行4与行6都将执行 B. 行4执行,行6不执行C. 行6执行,行4不执行 D. 行4、行6都不执行17、下面程序的执行结果为:(a)1. public class Test 2. static Boolean foo(char c) 3. System.out.println(c);4. return true;5. 6. public static void main(String args) 7. int i = 0;8. for (foo(A); foo(B)&(i2); foo(C) 9. i+;10. fo
8、o(D);11. 12. 13. A. ABDCBDCB B. ABCDABCDC. Compilation fails C. An exception is thrown at runtime18、阅读下面的程序 1. public class Outer 2. public void someOuterMethod() 3. /Line34. 5. public class Inner() 6. public static void main(String args) 7. Outer o = new Outer();8. /Line89. 10. Which instantiates i
9、s an instance of Inner? (c)A. new Inner(); / At line3 B. new Inner(); / At line 8C. new o.Inner(); / At line 8 C. new Outer.inner(); / At line 819、选出能正确赋值的: public class TestA private int a; public int change(int m) return m; public class TestB extend TestA public int b; public static void main() Te
10、stA aa = new TestA(); TestB bb = new TestB(); int k; / Line 13 在Line13处可以正确赋值的有: (d)A. k= m; B. k=b; C. k=aa.a; D. k=bb.change(30); E. k=bb.a20、已知如下代码: switch (m) case 0: System.out.println(Condition 0); case 1: System.out.println(Condition 1); case 2: System.out.println(Condition 2); case 3: System
11、.out.println(Condition 3);break; default: System.out.println(Other Condition); 当 m 的值为什么时输出 Condition 2? ( abc)A . 0 B . 1 C . 2 D . 3 E. 4 F . None 21、给出程序段 public class Parent public int addValue(int a,int b) int s; s=a+b; return s; class Child extends Parent可以加在Child类的方法有:(cd) A. int addValue(int
12、 a,int b) B. public void addValue(int a,int b) C. public int addValue(int a) D. public int addValue(int a,int b)22、下述哪些说法是正确的?(d) A. 实例变量是类的成员变量 B. 实例变量是用static关键字声明的 C. 方法变量在方法执行时创建 D. 方法变量在使用之前必须初始化23、对于下列代码: public class Sample long length; public Sample(long l) length = l; public static void mai
13、n(String arg) Sample s1, s2, s3; s1 = new Sample(21L); s2 = new Sample(21L); s3 = s2;long m = 21L; 下列哪些表达式返回值为true? (d ) A .s1 = = s2; B. s2 = = s3; C. m = = s1; D. s1.equals(m)26、当 Frame 改变大小时,放在其中的按钮大小不变,则使用如下哪个 layout? ( e )A. FlowLayout B. CardLayout C. North and South of BorderLayout D. East an
14、d West of BorderLayout E. GridLayout 27、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( cd)A . args0 = MyTest a b c B . args0 = MyTest C . args0 = a D . args1= b 28、下面哪个语句是创建数组的正确语句?( ab)A . float f = new float66; B . float f = new float66; C . float f = new float6; D . float f = new float66; E . float f
15、= new float6;30、 以下关于数据库范式的描述,哪些是错误的(c)A. 如果把多个数据项用一个大的 String 表示为一个字段,则不满足第一范式B. 满足数据库范式使得数据库的效率更高C. 如果满足更高的范式,则必须首先满足低级别的范式D. 数据库第二范式要求把表中与所有键没有直接关系的数据全部拆分到其他表中二、问答题1、阅读下面的代码interfacePlayablevoidplay();interfaceBounceablevoidplay();interfaceRollableextendsPlayable,BounceableBallball=newBall(PingPa
16、ng);classBallimplementsRollable privateStringname; publicStringgetName() returnname;publicBall(Stringname) this.name=name;publicvoidplay() ball=newBall(Football); System.out.println(ball.getName(); 上面代码是否有错,如果有错,错误在何处?红处2、详细解释下面的语句:Class.class.getClass()Class与class继承自Object,class试题来代表java运行时的class和i
17、nterface等等Class.class就是得到或者生成这个Class类的Class Object而getClass()本身就是返回一个类对应的Class Object,所以最后Class.class.getClass()最后还是返回Class Object7、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。public static boolean isLetter(char c) int k=0X80; return
18、 c/k=0?true:false; public static int lengths(String strSrc) if (strSrc=null) return 0; int len=0; char strChar=strSrc.toCharArray(); for (int i=0;istrChar.length;i+) len+; if (!isLetter(strChari) len+; return len; public static String subString(String origin,int len) if (origin=null | origin.equals(
19、)| lenlengths(origin) return origin; byte strByte=new bytelen; System.arraycopy(origin.getBytes(),0,strByte,0,len); int count=0; for (int i=0;ilen;i+) int value=(int)strBytei; if (value23、 update g_cardapply a,g_cardapplydetail b set a.g_state=07,b.g_state=07 where a.g_applyno=b.applyno and b.g_idcard= 6101031980122230824、 delete from g_cardapplydetail where g_name like 李%第 8 页 共 8 页