(完整word版)Java试题
- 格式:doc
- 大小:60.00 KB
- 文档页数:17
一、选择题答案选择第1题B选择第2题A选择第3题C选择第4题B选择第5题A选择第6题A选择第7题B选择第8题C选择第9题B选择第10题B选择第11题C二、多项选择题答案多项选择第1题BD多项选择第2题AE多项选择第3题AC多项选择第4题AE多项选择第5题AE多项选择第6题DEF多项选择第7题AC多项选择第8题BC多项选择第9题AB多项选择第10题CD多项选择第11题CD多项选择第12题ACD多项选择第13题ABD三、填空题答案填空第1题x=10,a=3,b=4,c=5填空第2题java.util填空第3题(public )(static )(void)(main)(String args[])填空第4题1填空第5题26四、编程题答案1public class HelloWorld{public static void main(String args[]) {System.out.println("Hello,World!");}}import java.awt.Graphics;import java.applet.Applet;public class HelloWorld extends Applet{ String s;public void init(){s="Hello World!";}public void paint(Graphics g){g.drawString(s,25,25);}}2class yanghui{public static void main (String args[]) {int i,j;int yhlevel=10;int yanghui[][];System.out.println("杨晖三角形:");yanghui=new int[yhlevel][];for(i=0;i<yanghui.length;i++)yanghui[i]=new int[i+1];yanghui[0][0]=1;for (i=1; i<yanghui.length;i++){yanghui[i][0]=1;for(j=1;j<yanghui[i].length-1;j++)yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];yanghui[i][yanghui[i].length-1]=1;}for (i=0; i<yanghui.length;i++){for(j=0;j<yanghui[i].length;j++)System.out.print(yanghui[i][j]+" ");System.out.println();}}}输出结果是:杨晖三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 13import java.io.*;public class MemoController{FileOutputStream fos;OutputStreamWriter osw;BufferedWriter bw;public MemoController(){try{fos=new FileOutputStream("memo.txt",true);osw=new OutputStreamWriter(fos);bw=new BufferedWriter(osw);}catch(FileNotFoundException e){};}public synchronized void append(String s){try{bw.write(s,0,s.length());bw.flush();bw.close();osw.close();fos.close();}catch(IOException e){}}public static void main(String args[]){MemoController mmc=new MemoController();mmc.append("I am xubin ");}}4import java.io.*;class Phones{static FileOutputStream fos;public static final int lineLength = 81;public static void main(String args[]) throws IOException{byte[] phone = new byte[lineLength];byte[] name = new byte[lineLength];int I;try{fos = new FileOutputStream("phone.numbers");}catch(FileNotFoundException e){ }while (true){System.err.println("Enter a name (enter 'done' to quit)");readLine(name);if ("done".equalsIgnoreCase(new String(name,0,0,4))){break;}System.err.println("Enter the phone number");readLine(phone);for (int i=0;phone[i]!= 0;i++){fos.write(phone[i]);}fos.write(',');for (int i=0;name[i]!= 0;i++){fos.write(name[i]);}fos.write('\n');}fos.close();}private static void readLine(byte line[]) throws IOException {int i=0,b=0;while ((i<lineLength-1)&&((b=System.in.read())!='\n')){line[i++] = (byte)b;}line[i]=(byte) 0;}}。
1. 下列不可作为java语言标识符的是(D)A) a1 B) $1 C) _1 D) 112. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对3. 整型数据类型中,需要内存空间最少的是(D)A) short B) long C) int D) byte4. Java 类可以作为(C)A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5. 在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对6. 在调用方法时,若要使方法改变实参的值,可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7. Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)A) 安全性B) 多线性C) 跨平台D) 可移植9. Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用10. 以下声明合法的是( D )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )11. 关于以下application的说明,正确的是( C )1.class StaticStuff2.{3.static int x=10;4.static { x+=5;}5.public static void main(String args[ ])6.{7.System.out.println(“x=”+ x);8.}9.static { x/=3;}10. }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=312. 关于以下程序代码的说明正确的是( D )1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10213. 以下选项中循环结构合法的是( C )A、while (int i<7){ i++;System.out.println(“i is “+i);}B、int j=3;while(j){ System.out.println(“ j is “+j);}C、int j=0;for(int k=0; j + k !=10; j++,k++){ System.out.prin tln(“ j is “+ j + “k is”+ k);}D、int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14. 类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。
Java单科测试题(带答案)模板Java单科测试题(带答案)第一部分:选择题 (共20题,每题2分,共40分)请根据题目选择正确的答案,并将正确答案的字母标号填入括号内。
1. 下列哪个关键字用于定义一个类?A. ifB. classC. forD. else答案:B2. 下列哪个关键字用于定义一个方法?A. whileB. publicC. voidD. break答案:C3. Java的基本数据类型中,用于表示整数的是:A. doubleC. intD. char答案:C4. 下列哪个操作符用于进行逻辑与运算?A. ^B. !C. &&D. |答案:C5. 下列哪个循环结构可以保证循环至少执行一次?A. whileB. forC. do-whileD. switch答案:C6. 下列哪个关键字用于退出当前循环,进入下一次循环?A. continueC. returnD. exit答案:A7. 下列哪个关键字用于创建对象实例?A. newB. thisC. finalD. static答案:A8. 下列哪个关键字用于引入一个包并使用其中的类?A. importB. packageC. extendsD. implements答案:A9. 以下关于Java中的String类,哪个说法是正确的?A. String类是可变的B. String类是抽象类C. String类是基本数据类型D. String类是不可变的答案:D10. 下列哪个关键字用于定义一个类成员为常量?A. finalB. staticC. abstractD. synchronized答案:A11. 下列哪个关键字用于捕获异常并处理?A. throwB. catchC. tryD. finally答案:B12. 下列哪个关键字用于定义一个可继承的类?A. abstractC. privateD. protected答案:D13. 下列哪个关键字用于定义一个无返回值的方法?A. intB. floatC. voidD. double答案:C14. 下列哪个关键字用于定义一个实现了接口的类?A. extendsB. implementsC. abstractD. synchronized答案:B15. 下列哪个关键字用于定义一个静态方法?A. publicC. staticD. void答案:C16. 下列哪个关键字用于在子类中调用父类的方法?A. superB. thisC. extendsD. implements答案:A17. 下列哪个关键字用于定义一个保护级别的类成员?A. defaultB. publicC. privateD. protected答案:D18. 以下属于Java的合法标识符的是:A. 123myVarC. #myVarD. my-Var答案:B19. 下列哪个关键字用于动态绑定(多态实现)?A. finalB. staticC. abstractD. virtual答案:C20. 下列哪个关键字用于将类定义为不可变的?A. finalB. staticC. abstractD. synchronized答案:A第二部分:填空题 (共10题,每题3分,共30分)请根据题目填写正确的答案。
一、选择题(共20分)1.下列输出结果是()int a = 0 ;while ( a < 5 ) {switch(a){case 0:case 3 : a = a + 2;case 1 :case 2 : a = a + 3;default : a = a + 5; }}System.out.print ( a ) ;答案:10解析:由于每个case后面没有使用break结束循环,导致程序从上往下逐条运行。
2.被声明为private,protected及public的类成员,在类外部()A)只能访问到声明为protected和public的成员B)都可以访问C)只能访问声明为public的成员D)都不能访问答案:A解析:private只能被类内部访问,子类(未在父类内部)可以访问父类protected类型成员,其他类可以访问其public类型成员。
3.在Java语言中,下列关于类的继承的描述,正确的是()。
A)一个类可以继承多个父类B)一个类可以具有多个子类C)子类可以使用父类的所有方法D)子类一定比父类有更多的成员方法答案:B解析:A错,一个类只能有一个父类;C错,父类的私有方法就不可被子类访问并使用;D错,继承关系是对父类功能的扩展,根据实际情况完全可以只扩展1个功能,并不意味着成员方法比父类多。
4.类Teacher和Student都是类People的子类People p;Teacher t;Student s;若p,t和s都是非空值,并且new时声明的都是本类;if(t instanceof People) { s = (Student)t; }这个语句导致的结果是什么?()A) 表达式合法B) 编译时非法C) 将构造一个Student对象D) 编译时合法而在运行时可能非法答案:B解析:instanceof操作符用于判断左边的引用对象是否是右边的类,或者其子类、实现类的实例。
此题中的if语句的判断没有问题,将返回真。
湖南世杰Java工程师面试题选择题:单选题1,以下java程序代码,执行后的结果是( )java.util.HashMap map=newjava.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.size());A: 0 B: null C: 1 D: 2答案:C2,执行以下程序后的输出结果是( )Public class Test {Public static void main(String[] args) {StringBuffer a = new StringBuffer("A");StringBuffer b = new StringBuffer("B");operator(a, b);System.out.println(a +","+ b);}Public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x;}}A: A,A B: A,B C: B,B D: AB,B答案:D3,关于依赖注入,下列选项中说法错误的是( )A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装B:依赖注入使组件之间相互依赖,相互制约C:依赖注入提供使用接口编程D:依赖注入指对象在使用时动态注入答案:B4,关于spring说法错误的是( )A: spring是一个轻量级JAVA EE的框架集合B: spring是“依赖注入”模式的实现C: 使用spring可以实现声明事务D: spring提供了AOP方式的日志系统答案:D5,要在session对象中保存属性,可以使用以下哪个语句( ) A: session.getAttribute(“key”,”value”)B: session.setAttribute(“key”,”value”)C: session.setAttribute(“key”)D: session.getAttribute(“key”)答案:B6,关于以下程序代码的说明正确的是?( )Public class HasStatic{Private static int x = 100;Public static void main(String args[]){HasStatic hs1= new HasStatic();hs1.x++;HasStatic hs2= new HasStatic();hs2.x++;hs1=new HasStatic();hs1.x++;HasStatic.x--;System.out.println("x="+x);}}A: 程序通过编译,输出结果为:x=103B: 10行不能通过编译,因为x是私有静态变量C: 5行不能通过编译,因为引用了私有静态变量D: 程序通过编译,输出结果为:x=102答案:D7,以下哪一项不是使用mvc模式设计的web应用程序所具有的优点( ) A:可维护行强B:可扩展性强C:代码重复少D:大大减少代码量答案:D8,在 myjsp.jsp 中,关于下面的代码说法错误的是: ( )<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>A: 该页面可以使用 exception 对象B: 该页面发生异常会转向 error.jspC: 存在 errorPage 属性时,isErrorPage 是默认为 falseD: error.jsp 页面一定要有isErrorPage 属性且值为 true答案:A9,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是()A:它负责接收HTTP请求B:加载配置文件C:实现业务操作D:初始化上下应用对象ApplicationContext答案:C10,下面的类图表示的是哪个设计模式?( )A:代理模式(Proxy)B:装饰模式(Decorator)C:桥接模式(Bridge)D:观察者模式(Observer)答案:D11,java如何接受request域中的参数? ( )A: request.getRequestURL()B: request. getAttribute()C: request.getParameter()D: request.getWriter()答案:C12,对下面Spring声明式事务的配置含义的说明错误的是( )<bean id="txProxyTemplate"abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFact oryBean"><property name="transactionManager"ref="myTransactionManager"/><property name="transactionAttributes"><props><prop key="get*">PROPAGATION_REQUIRED,readOnly</prop><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean>A:定义了声明式事务的配置模板B: 对get方法采用只读事务C: 缺少sessionFactory属性的注入D: 配置需要事务管理的bean的代理时,通过parent引用这个配置模板,代码如下:<bean id="petBiz" parent="txProxyTemplate"><property name="target" ref="petTarget"/></bean>答案:C13,下面的输出结果是什么?( )Public class Demo {Public static void main(String args[]){ String str = new String("hello");if(str=="hello"){System.out.println("true");}else{System.out.println("false");}}}A: trueB: falseC:编译不通过D:执行报错答案:B14,下面属于java合法变量定义的是?( ) A: finalB:1var1C: _var2D: var3&答案:C15,下面有关JSP内置对象的描述,说法错误的是?( )A: session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止B: request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应C: application对象:application对象实现了用户间数据的共享,可存放全局变量,可以有多个D: response对象:response对象包含了响应客户请求的有关信息答案:C16,Please choice the output result ( )public class Test{Public static void changeStr(String str){str ="welcome";}Public static void main(String[] args){String str ="1234";changeStr(str);System.out.println(str);}}A: 1234B: welcomeC: 空D: 不确定答案:A17,for(i=0;i<10;++i,sum+=i);i的最终结果是?( ) A: 10B: 9C: 11D: 以上答案都不正确答案:A18,对于下面这段代码,以下说法正确的是:( )Public class Test{Public int x;Public static void main(String args[]{System. out. println("Value is"+ x);}}A: 程序会打出 "Value is 0"B: 程序会抛出 NullPointerExceptionC: 非静态变量不能够被静态方法引用D: 编译器会抛出 "possible reference before assignment"的错误答案:C19,HashMap和HashTable的描述,错误的是? ( )A: 他们都实现了Map接口。
标准答案:A9. 以下访问权限控制中,哪一个权限级别最高?( ) (2分)专科《JA VA语言程序设计》A.publicB.protectedC.privateD.friend标准答案: C分)75题,共150一、(共10. 有一段Java应用程序,它的主类名是1. 下面选项中哪个是Java中的标识符?()(2分)a1,那么保存它的源文件名可以是()。
(2分)A.a1.javaB.a1.classC.a1D.都对A.public B.super C.3number D.width标准答案:D A标准答案:11. 如果将类MyClass分)2. 下面选项中哪个是Java中有效的关键字?( ) (2 声明为public,那么它的文件要正常编译,文件名称必须是( )。
(2分)A.MyClass.javaB.myclass.java A.int B.helloC.Exe$1D.goodC.MyClassD.MyClass.class标准答案:A标准答案:A( )3. 定义一个类时,必须使用的关键字是。
(2分)12. 在Java中定义一个字符串类型的变量str的语句是( )。
A.public B.class C.interfaceD.static(2分)A.char str;B.String str; B标准答案:C.double str; D.boolean str;标准答案:2B分))。
声明并创建一个按钮对象4. bn时,应该使用的语句是(( A.Button bn=new Button(); B.button bn=new button();C.Button bn=new b();D.bn.setLabel(“”); 确定13. 定义一个具有10个元素的整型数组a 的语句是()。
(2分)A.int a[10];B.int a[9];C.int a[11];D.int a[10]标准答案:A标准答案: A2 java5. 下列选项中哪个不可作为语言修饰符?()(分)14. A.a1 B.$1 C._1D.11在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用()个字节内存空间。
Java单科测试题(带答案)范本Java单科测试题(带答案)范本一、选择题1. 下列关于Java的说法中,错误的是:A. Java是一种面向对象的编程语言B. Java可以运行在不同的操作系统上C. Java源代码需要被编译成机器码才能执行D. Java拥有自动内存管理功能答案:C2. 下列关于Java中变量的说法中,正确的是:A. Java中的变量可以在声明后不赋初始值B. Java中的变量可以使用任意的名称C. Java中的变量声明时需指定数据类型D. Java中的变量声明时需指定访问权限答案:C3. 下列关于Java中的数组说法中,错误的是:A. Java中的数组长度是固定的B. Java中的数组可以存储不同类型的数据C. Java中的数组可以动态扩展D. Java中的数组可以进行遍历操作答案:B二、填空题1. Java中用于接收用户输入的类是______。
答案:Scanner2. Java中用于表示真/假值的数据类型是______。
答案:boolean3. Java中用于创建对象的关键字是______。
答案:new三、编程题1. 编写一个Java程序,计算并打印出斐波那契数列的前n项。
解答示例:```javaimport java.util.Scanner;public class Fibonacci {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入n的值:");int n = scanner.nextInt();int[] fib = new int[n];fib[0] = 0;fib[1] = 1;for(int i = 2; i < n; i++) {fib[i] = fib[i-1] + fib[i-2];}System.out.println("斐波那契数列的前" + n + "项为:");for(int i = 0; i < n; i++) {System.out.print(fib[i] + " ");}}}```以上是一个简单的Java程序,通过用户输入n的值来计算并输出斐波那契数列的前n项。
《Java程序设计》课程试卷1.使用Java语言编写的源程序保存时的文件扩展名是()。
(A).class (B).java(C).cpp (D).txt2.设int a=-2,则表达式a>>>3的值为()。
(A)0 (B)3 (C)8(D)-13.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。
(A)a[0]; (B)a[a.length-1];(C)a[3]; (D)int i=1; a[i];4.在类的定义中可以有两个同名函数,这种现象称为函数()。
(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。
(A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量6.下面关键字中,哪一个不是用于异常处理语句()。
(A)try (B)break(C)catch (D)finally7.类与对象的关系是()。
(A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。
(A)$persons (B)twoNum(C)_myVar (D)*point9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
(A)static void method( )(B)public void method( )(C)final void method( )(D)abstract void method( )11.Java源文件和编译后的文件扩展名分别为()(A) .class和 .java (B).java和 .class(C).class和 .class (D) .java和 .java12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
Java练习题一、选择题(每题1分,共30分)1、以下程序的运行结果是:public class Increment{public static void main(String args[]){int c;c = 2;System.out.println(c);System.out.println(c++);System.out.println(c);}}A:A.2 2 2 B:B.2 3 3C:C.2 2 3 D:D.3 4 42、以下关于继承的叙述正确的是A:在Java中类只允许单一继承 B:在Java中一个类只能实现一个接口C:在Java中一个类不能同时继承一个类和实现一个接口 D:在Java中接口只允许单一继承3、关于以下程序段,正确的说法是1.String s1=”abc”+”def”;2. String s2=new String(s1);3. if(s1= =s2)4.System.out.println(“= = succeeded”);×××××试卷第1页(共××页)5. if (s1.equals(s2))6.System.out.println(“.equals() succeeded”);A:行4与行6都将执行 B:行4执行,行6不执行C:行6执行,行4不执行 D:行4、行6都不执行4、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
int[] x={125,21,5,168,98};int min=x[0];for(int i=1;i<x.length;i++){if(x[i]<min)min=x[i];}System.out.println(min);A:125 B:5C:98 D:1685、下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。
一.单选题(20*2=40分)1.向堆栈stack中插入一个数据obj,栈顶指向标为top,其操作步骤是____A)stack.push(obj);B)stack.push(obj); top++;C)top++; stack.push(obj);D)stack.push(obj); stack.pop(); top++;2.执行下列程序段后,y的值变为。
int x,y;for(y=1,x=1;y<=50;y++){if(x>=10){break;}if(x%2==1){x+=5;continue;}x-=3;}A)3 B)4C)5 D)63.当你试图编译运行下列代码的时候会发生什么?public class Runt implements Runnable{public static void main(String argv[]){Runt r = new Runt();Thread t = new Thread(r);t.start();}public void start(){for(int i=0;i<100;i++)System.out.println(i);}}A)从0一直输出到99B)编译后无法输出C)编译出错,该类还是一个抽象类4.编译运行以下代码时会发生什么情况?String s1= "One";String s2 = new String("One");if(s1.equals(s2)){System.out.println("String equals");}Boolean b1 = new Boolean(true);Boolean b2 = new Boolean(true);if(b1==b2){System.out.println("Boolean Equals");}A) 编译出错B) 只输出"String equals"C) 输出 "String equals" 与"Boolean equals"D) 只输出 "Boolean equals"5. 下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来6. Java中,在如下所示的Test类中,共有()个构造方法。
public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}A.0B. 1C. 2D.37.变量命名规范说法正确的是()A.变量由字母、下划线、数字、$符号随意组成;B.变量不能以数字作为开头;C.A和a在java中是同一个变量;D.不同类型的变量,可以起相同的名字;8.下列javaDoc注释正确的是()A./*我爱北京天安门*/B.//我爱北京天安门*/C./**我爱北京天安门*/D./*我爱北京天安门**/9.为一个boolean类型变量赋值时,可以使用( )方式A.boolean = 1;B.boolean a = (9 >= 10);C.boolean a="真";D.boolean a = = false;10.以下( )不是合法的标识符A.STRINGB.x3x;C.voidD.de$f11.表达式(11+3*8)/4%3的值是( )A.31B.0C.1D.212.下列值不为true的表达式有()。
A."john" = = "john"B."john".equals("john")C."john" = "john"D."john".equals(new String("john"))13. 下列代码输出结果是( )int i = 10;while ( i > 0 ){i = i + 1;if ( i = =10 ){break;}}A.while循环执行10次B.死循环C.循环一次都不执行D.循环执行一次14. 在java中下列关于自动类型转换说法正确的是()a)基本数据类型和String相加结果一定是字符串型b)char类型和int类型相加结果一定是字符c)double类型可以自动转换为intd)char + int + double +"" 结果一定是double;15. score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()temp = score[0];for (int index = 1;index < 5;index++) {if (score[index] < temp) {temp = score[index];}}A.求最大数B.求最小数C.找到数组最后一个元素D.编译出错16. 在Java中,关于构造方法,下列说法错误的是( )a)构造方法的名称必须与类名相同b)构造方法可以带参数c)构造方法不可以重载d)构造方法绝对不能有返回值17. 执行下面代码结果()for(int i=0;;){System.out.println("这是 "+i);break;}A、语法错误,缺少表达式2和表达式3B、死循环C、程序什么都不输出D、输出:这是018. 下列选项中关于Java中super关键字的说法正确的是()。
A、super关键字是在子类对象内部指代其父类对象的引用B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法19. Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()a)C不仅继承了B中的成员,同样也继承了A中的成员b)C只继承了B中的成员c)C只继承了A中的成员d)C不能继承A或B中的成员20.以下关于抽象类和接口的说法错误的是()A.抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。
但是一个类却可以实现多个接口。
B.在抽象类中可以没有抽象方法C.实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。
接口中的方法都不能被实现D.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E.接口中的方法都必须加上public关键字。
二、多选题(10*2=20分)1. 关于类的描叙正确的是()A.在类中定义的变量称为类的成员变量,在别的类中可以直接使用B.局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中C.使用别的类的方法仅仅需要引用方法的名字即可D.一个类的方法使用该类的另一个方法时可以直接引用方法名2. 下列关于字符串的描叙中错误的是()(选择两项)A.字符串是对象B.String对象存储字符串的效率比StringBuffer高C.可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sbD.String类提供了许多用来操作字符串的方法:连接,提取,查询等3.下面关于数组的说法中,错误的是()(选择两项)A.在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空B.数组可以在内存空间连续存储任意一组数据C.数组必须先声明,然后才能使用D.数组本身是一个对象4. 给定java代码如下所示,在A处新增下列()方法,是对cal 方法的重载(选择两项)public class Test{public void cal(int x, int y, int z){}//A}A.public int cal(int x,int y,float z){return 0;}B.public int cal(int x,int y,int z){return 0;}C.public void cal(int x,int z){}D.public viod cal(int z,int y,int x){}5. 在Java中,下面对于构造函数的描述错误的是()(选择两项)A、类不一定要显式定义构造函数B、构造函数的返回类型是voidC、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同D、一个类可以定义多个构造函数6.在Java接口中,下列选项中有效的方法声明是()。
(选择二项)A、public void aMethod();B、void aMethod();C、protected void aMethod();D、private void aMethod();7. 已知如下代码:1: class Example{2: String str;3: public Example(){4: str= "example";5: }6: public Example(String s){7: str=s;8: }9:}10: class Demo extends Example{11: }12: public class Test{13:public void f () {14:Example ex = new Example("Good",12);15:Demo d = new Demo("Good");16:} }哪句语句会导致错误?A 、 line 3B 、 line 6C 、 line 10D 、 line 14E 、 line 158. 下面哪一个是合法的数组声明和构造语句( )A. int[] ages = new int [100];B. int ages = new int[100];C. int ages[]= new int[100];D. int[] ages = new int(100);9.Java面向对象的特性包括()A.多态B.继承C.封装D.派生E.抽象10.用下面那个修饰符修饰的变量,可以在不同包的子类方法?()A.publicB.privateC.protectedD.默认的三、填空题(20分)1.当你尝试编译以下程序的时候,运行结果是什么__1____ abstract class Base{abstract public void myfunc();public void another(){System.out.println("Another method");}}public class Abs extends Base{public static void main(String argv[]){Abs a = new Abs();a.amethod();}public void myfunc( ){System.out.println("My func");}public void amethod( ){myfunc ( );}}2、以下程序通过线程的方式实现两个窗口同步卖票的程序,请在程序适当地方将代码补充完整实现给功能,并能保证卖出的票不会出现坐位相同或坐位为负数的情况;public class TicketThreadDemo {public static void main(String[] args) {TicketThread ticket = new TicketThread();//创建两个线程,共享ticket资源,并启动Thread ta = ______2__________ta.start();Thread tb = ____________3________________ tb.start();}}class TicketThread __4__________{private int tickets = 20;//实现线程方法并实现互斥public _ 5 void run() { while (true) {if (tickets > 0) {try{Thread.sleep(1000);//先让线程暂停1秒种System.out.println(Thread.currentThread().getName()+" 卖出一张票 " + tickets--);}catch(Exception e){e.printStackTrace();}}}}}3.以下程序是通过实现接口的方式来创建了一个计时器的功能,在显示的窗体中显示计时的数字,请将代码补充完整;import java.awt.Frame;import bel;public class CountFrame extends Frame _ 6 _{// 实例化一个label标签Label label = new Label("100", 1);public CountFrame() {// 把label标签添加到窗体上this.add(label);// 设置窗体的大小this.setSize(150, 50);// 实例化时间线程类this.setVisible(true);}//实现线程方法Public void run(){for (int i = 1; i <=100; i++) {label.setText(String.valueOf(i));try {Thread.sleep(1000);} catch (Exception e) {e.printStackTrace();}}}public static void main(String args[]) {//启动线程并运行该窗体CountFrame cf = new CountFrame();_____________7____________}}4. 生成0 到100 之间的随机数的方法__8 .5. 面向对象的特征包括封装、_______9_________、__________10________和抽象;四、简答题(5*4=20分)1、final, finally, finalize的区别;2、List、Map、Set三个接口,存取元素时,各有什么特点3、请说明try、catch、throw、throws和finally各自的作用?4、编写程序用线程模拟用存折和卡取款的程序(即一个账号有一个存折和一张卡)?5、用JDBC技术编写程序连接数据库,并查询出Account表的信息。