java基础测试题及答案
- 格式:doc
- 大小:53.50 KB
- 文档页数:6
JA V A练习题一、选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的。
1.下面对形参的说法,( )是正确的。
A.必须有多个B.至少有一个C.可以没有D.只能是简单变量2.main方法是java application 程序执行的入口点,关于main方法的方法头,以下()是合法的。
A.public static void main()B.public static void main(String args[])C.public static int main(string [] arg)D.public void main(string arg[])3.现在两个类A、B,以下描述中表示B继承自A的是()。
A.class A extends B B.class B implements AC.class A implements B D.class B extends A4.类Test定义如下,将下列( )方法插入③行处是不合法的。
①public class Test{②public float Method (float a,float b){ }③④}A.public float Method (float a,float b,float c){ }B.pubic float Method(float c,float d){}C.public int Method (int a,int b){}D.pivate float Method (int a,int b,int c){}5.在编写异常处理的java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动java的异常处理机制。
A.if-else B.switchC.try D.throw6.下列不属于Java的图形用户界面内容的包是( )。
A.java.awt B.javax.swingC.java.awt.event D.java.io7.有关构造函数的说法不正确的是( )。
Java基础测试题⼀、选择题1.下⾯哪些是合法的变量名? ( DEG )A.2variableB. .variable2C. ._whatavariableD._3_E.$anothervarF.#myvarG. $_¥2.请问 “abcd” instanceof Object返回的值是? ( B )A. “abcd”B. trueC. falseD. String3.下⾯有关⽅法覆盖说法不正确的是:( B )A. ⽅法覆盖要求覆盖和被覆盖的⽅法有相同的名字,参数列以及返回值B. ⽅法覆盖要求覆盖和被覆盖的⽅法必须具有相同的访问权限;C. 覆盖的⽅法不能⽐被覆盖的⽅法抛出更多的异常D. 覆盖的⽅法⼀定不能是private的4. 下⾯代码段中:( A )String String=”String”;System.out.println(String);A. StringB. 不知道C. 编译出错D. 运⾏出错5. 下⾯哪种是正确的创建Map集合的⽅式:( D )A. Map m=new Map();B. Map m=new Map(init capacity, increment capacity);C. Map m=new Map(new Collection());D. Map是接⼝,所以不能实例化。
6.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A )A.可以被三种类所引⽤:该类⾃⾝、与它在同⼀个包中的其他类、在其他包中的该类的⼦类B. 可以被两种类访问和引⽤:该类本⾝、该类的所有⼦类C. 只能被该类⾃⾝所访问和修改D.只能被同⼀个包中的类访问7.下列有关继承的说法。
正确的是:(B )A. ⼦类能继承⽗类的所有⽅法和属性;B. ⼦类能继承⽗类的⾮私有⽅法和属性C. ⼦类只能继承⽗类public⽅法和属性D. ⼦类能继承⽗类的⽅法,⽽不是属性。
8.对于构造⽅法,下列叙述正确的是:(AC )A. 构造⽅法的⽅法名必须与类名相同;B. 构造⽅法必须⽤void申明返回类型C. 构造⽅法可以被程序调⽤D. 若编程⼈员没再类中定义构造⽅法,程序将报错。
JavaSE考试题(时间150分钟)一.选择题(75分)1.在Java中负责对字节码解释执行的是( B )A.垃圾回收器B.虚拟机C.编译器D.多线程机制2.BufferedReader的父类是( B )A.FileReaderB.ReaderC.PipedReaderD.InputStreamReader3.在读字符文件Post.dat时,使用该文件作为参数的类( A )A.BufferedReaderB.DataInputStreamC.DataOutputStreamD.FileInputStream4.下列不是InputStream子类的是( C )A.FileInputStreamB.ObjectInputStreamC.CharInputStreamD.ZipInputStream5.下列方法中可以用来创建一个新线程的是( D )A.实现ng.Runnable接口并重写start()方法B.实现ng.Runnable接口并重写run()方法C.继承ng.Thread类并重写start()方法D.继承ng.Thread类并重写run()方法6.当启动Applet程序时,首先调用的方法是( B )A.stop()B.init()C.start()D.destroy()7.序列化一个类时,如果要隐藏某个成员,使之在反序列化时不能看到搞成员的真实数据,应当使用的关键字是( C )A.hiddernB.privateC.transientD.destroy8.将键值对(key--value)保存到映射(Map)对象中的方法是( B )。
A.add(Object key,Object value)B.put(Object key,Object value)C.insert(Object key,Object value)D.get(Object key,Object value)9. 一个java Application 运行后,在系统中是作为一个( B )A.线程B.进程C.进程或线程D.不可预知10.下列关于线程调度的叙述中,错误的是:( D)A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会B.调用线程的yield()方法,只会使与当前线程相同优先级的线程获得运行机会C.当有比当前线程优先级高的线程出现时,高优先级的线程将抢占CPU并运行D.具有相同优先级的多个线程的调度一定是分时的.11.下列关于线程优先级别的说法中,正确的是( C)A.线程的优先级是不能改变的B.线程的优先级在创建线程时设定C.在创建线程后的任何时候都可以设置D.B,C12.实现一个线程的创建方法有几种( B )A.一种B.二种C.三种D.四种13.下列关于泛型的说法,错误的是( B )A、泛型是一种参数化类型B、可以取代继承机制。
初级部分阶段测试卷选择题1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。
A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。
(选二项)public class Test{public void cal(int x, int y, int z) {}}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 void cal(int z, int y, int x){ }3) 下面Java代码的运行结果是()。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。
");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。
");}public static void main(String[] args) {Penguin pgn = new Penguin();pgn.print();}}A. 企鹅的名字是null,健康值是10,性别是雄。
JavaWeb测试题一:选择题:第1题. 编写一个Filter,需要()A. 继承Filter 类B. 实现Filter 接口C. 继承HttpFilter 类D. 实现HttpFilter接口正确答案为:B第2题. 自定义标签的配置文件放在________A. WebRootB. libC. classesD. WEB-INF正确答案为:D第3题. 在J2EE中,重定向到另一个页面,以下()语句是正确的A. request . sendRedi rect(“http :svse . com . cn”);B. request . sendRedirect();C. response . sendRedirect(“ svse . com . cn”);D. response .sendRedirect();正确答案为:C第4题. 自定义标签的作用是A. 编写和使用方便B. 规定是这样的,如果不用,别人会说我们不专业C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发D. 连数据库正确答案为:C第5题. 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。
(选择一项)Public class Servlet1 extends HttpServlet{Publicvoid init() throws ServletException{Publicvoid service(HttpServletRequest request,HttpServletResponse response) ThrowsServletException,IOException{PrintWriterout = ();(“hello!”);}}A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过B. 编译后,把放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!C. 编译后,把放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字D. 编译后,把放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息正确答案为:B第6题. 在Servlet中,()返回的是____________A. JspWriter对象B. PrintWriter对象C. Out对象D. ResponseWriter对象正确答案为:B第7题. 在中使用___________标签配置过滤器A. <filter>和<filter-mapping>B. <filter-name>和<filter-class>C. <filter>和<filter-class>D. <filter-pattern>和<filter>正确答案为:A第8题. J2EE中,Servlet API为使用Cookie,提供了()类。
JA V A考试题一填空题1 定义类用的关键字是class;继承类用的关键子是__extends_____;实现接口用的关键字是_implements________2 线程的五种状态分别是产生就绪__运行_____ 阻塞_______ 结束;3 对窗口的监听用的是________接口,该接口中的方法较多,为了便于实现该接口,可以使用__________;4 Panel和Applet容器的默认布局模式是_FlowLayout_______,Window、Frame、Dialog容器的默认布局模式是_______.5 开发与运行JAVA程序需要经过的三个主要步骤为编写源程序, _编译生成字节码___________和__解释运行字节码。
____________。
6 JA V A中类成员的限定词有以下几种:public , __protected________ ,默认和private。
其中,_private_________ 的开放范围最小。
7 在面向对象概念中,每个对象都是由__属性_________和_方法_________两个最基本的部分组成的。
8 一个if语句可以跟随__多_________个else if语句,但是只能有一个__else________语句。
9 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用__2个_______字节内存空间,这样,无论是中文字符还是英文字符,都是占用____2个_____字节内存空间。
10 程序的错误分为两种_________ ,__________。
11 面向对象的三大特征分别是继承,__多态___________ 和__抽象和封装__________。
12 JA V A中类成员的限定词有以下几种:private, public, ___________ , __________ 。
13 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为__true ______和___false________。
1.下列哪个选项是合法的标识符 24A.1232.B._name3.C.class4.D.1first5.下列变量定义中,正确的是16. A long 1 = 123L7. B long 1 = 3.14156f8. C int i="k"9. D double = 2f10.switch语句中表达式(expression)的值不允许用的类型是12411. A byte B int C Boolean D char12.13.下列语句中正确的是314. A 1’ B int I=2+’2’;15. C string s =”on”+’one’; D byte b=25716.17.下列的哪个赋值语句是不正确的 12A.float f = ;18.B.double d = ;19.C.float d = 3.14f ;20.D.double f=10f;21.下列的哪个赋值语句是正确的 2A.char a=12;22.B.int a=;23.C.int a=12.0f;24.D.int a=(int);25.给出下列的代码,哪行在编译时可能会有错误 1326.① publ ic void modify(){27.② int i, j, k;28.③ i = 100;29.④ while ( i > 0 ){30.⑤ j = i * 2;31.⑥ (" The value of j is " + j );32.⑦ k = k + 1;33.⑧ }34.⑨ }35.A.line 436.B.line 6C.line 737.D.line 838.下列关于继承的哪项叙述是正确的 3A.在java中允许多重继承39.B.在java中一个类只能实现一个接口40.C.在java中一个类不能同时继承一个类和实现一个接口41.D.java的单一继承使代码更可靠42.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问 4A.private43.B.无修饰符44.C.public45.D.protected46.给出下列代码,如何使成员变量m 被方法fun()直接访问 347.class Test48.{49.private int m;50.public static void fun()51.{52....53.}54.}55.A.将private int m 改为protected int m56.B.将private int m 改为 public int m57.C.将private int m 改为 static int m58.D.将private int m 改为 int m59.下列对Java源程序结构的叙述中,错误的是60. A import语句必须在所有类定义之前61. B 接口定义允许0或者多个62. C Java Application中的public class类定义允许0或多个63. D package 语句允许0或1个64.65.下列关键字中可以表示常量的是66. A final B default C private D transient67.68.在Java语言中,被成为内存分配的运算符是69. A new B instance of C [] D ()70.71.阅读下面程序public class Cycle{public static void main (String args[]){}}在命令中输入java Cycle one two,该程序输出结果是A CycleB oneC twoD 上述A、B、C均不对72.阅读下面程序public calss MyVal{public static void main(String args[]){MyVal m=new MyVal();();}public void amethod(){boolean b[]=new Boolean [5];}}程序编译或运行结果是A 1B nullC “ “D 编译不通过73.接口中,除了抽象方法之外,还可以含有74. A 变量 B 常量 C 成员方法 D 构造方法75.阅读下面程序76. Public class Test2________{77. Public static void main(String[] args){78. Thread t=new Test2();79. ();}Public void run(){are you.”);}}在程序下划线处填入正确选项是A implements ThreadB extemds RunnableC implements runnableD extends Thread80.阅读下面程序Public class Test implements Runnable{Public static void main(String[] args){_____________________________;();}Pubic viod run(){}}在程序下划线处填入正确选项是A Test t = new Test();B Thread t = new Thread();C Thread t = new Thread(new Test());D Test t = new Thread();81.下列带下划线的标识符符合Java 命名约定的是82. A package B public class xvz83. C int I D void setCustomerName()84.JSP中脚本元素不包括:A、表达式(Expression)B、注释C、Java代码片段D、声明(Declaration)85.已知有下列类的说明,则下列哪个语句是正确的86.public class Test87.{88.private float f = 1.0f;89.int m = 12;90.static int n=1;91.public static void main(String arg[])92.{93.Test t = new Test();94.}95.}96.A.;97.B.;98.C.;99.D.;100.下列代码的执行结果是101.public class Test102.{103.public int aMethod()104.{105.static int i=0;106.i++;107.(i);108.}109.public static void main(String args[])110.{111.Test test = new Test();112.();113.}114.}115.A.编译错误116.B.0C.1117.D.运行成功,但不输出118.下面程序的运行结果为 ( )class Parent {int x=10;public Parent(){add(2);}void add(int j){x+=j;}}class Child extends Parent{int x=9;void add(int j){x+=j;}}class T {public static void main(String args []){Parent p = new Child();}}A)9 B)10 C)11 D)12119.以下说法正确的是()A.异常定义了程序中遇到的非致命错误,而不是编译时的语法错误。
附录2:习题答案第1章:Java简介——自我检测(答案)1、填空题1、Java源程序文件的后缀是*.java ,Java字节码文件的后缀名称是*.class 。
2、Java程序实现可移值性,依靠的是JVM 。
3、Java语言的三个分支是:JA V A SE 、JA VA ME 、JA V A EE 。
4、Java程序由类组成,如果Java使用public class 声明类,则文件名称必须与类名称一致。
5、Java执行是从main() 方法开始执行的,此方法的完整定义是public static void main(String args[]) 。
6、从命名标准上来讲,Java类名的每个单词的首字母通常要求大写。
7、当使用java命令解释一个程序时,一定需要classpath 环境属性来定位类资源路径;2、选择题1、下面那个是属于解释Java程序所使用到命令?(A)A、java.exeB、javac.exeC、keytool.exeD、cmd.exe2、下面的那个环境变量java解释时所需要的 B 。
A、pathB、classpathC、JA V A_HOMED、TEMP3、下面那一种开发方向不属于Java定义的? CA、JavaSEB、Java EEC、JavaCED、JavaME3、判断题1、Java语言属于编译型的开发语言。
(×)2、Java Application程序不是由main()方法开始执行的。
(×)4、简答题1、简述Java实现可移值性的基本原理。
答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class 文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。
一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符( C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:( B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态C.类、封装 D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么 ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C. 2, 1 D. 2, 25、下面哪条语句把方法声明为抽象的公共方法( B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、;B、();C、();D、()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变 ( B )A、 CardLayoutB、 FlowLayoutC、 BorderLayoutD、 GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的 ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.(‘V’);D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
( A )A. RandomAccessFile类B. RandomFile类C. File类D. AccessFile类12、下面哪个方法是类的成员方法,用来获取Socket的输入流。
( C )A.getChannel() B.getConnetion()C.getInputStream() D.getStream()13、给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){}}哪个语句是正确的 ( B )A.编译时将产生错误;B.输出零;C.编译时正确,运行时将产生错误;D.输出空。
14、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:1) A a0=new A();2) A a1 =new B();3) A a2=new C();问以下哪个说法是正确的( D)A.只有第1行能通过编译B.第1、2行能通过编译,但第3行编译出错C.第1、2、3行能通过编译,但第2、3行运行时出错D.第1行、第2行和第3行的声明都是正确的15、下列哪个方法可用于创建一个可运行的类( A )A. public class X implements Runable{ public void run(){......} }B. public class X implements Thread{ public void run(){......} }C. public class X implements Thread{ public int run(){......} }D. public class X implements Runable{ protected void run(){......} }16、哪个关键字可以抛出异常 ( C )A、 transientB、 finallyC、 throwD、 static17、如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符( C )A、 privateB、publicC、protectedD、no modifier18、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )A.安全性 B.多线程 C.跨平台 D.可移植19、编译并运行以下程序段的结果是:( A )public class MyClass{final static int i;MyClass(){i =0;}public static void main(String args[]){A.编译出错 B、 null C、1 D、020、下列哪个方法可以用来加载JDBC驱动程序( D)A.类的 getDriver方法B.类的getDrivers方法C.类的connect方法D.类的 forName方法二、填空题。
(每空2分,共30分)1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为类名.class 。
2.构造方法是一个特殊的方法,主要用于创建对象时初始化对象。
构造方法的方法名要求与___类名_____相同,而且无返回值,构造方法无返回值,并不是要在构造方法名前加上 void 。
3.Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中, init() 方法只被调用执行一次,但start() 方法可以多次被调用执行。
4.我们把awt组件称为重量组件,而把 swing 组件称为轻量组件。
在编写swing组件的程序时,很多情况下只要在原有的awt组件的类名前面加上字母 J 。
5.创建多线程的途径有两种:创建Thread类的子类与实现 Runable接口。
6.异常处理过程中,一个try程序块可以对应多个catch块。
7.数据流类分为DataInputStream和 DataOutputStream 。
8.当两个或多个线程要同时访问共享数据时,一次只允许一个线程访问共享资源,支持这种互斥机制称为线程锁。
9. TCP 协议提供的是可靠无差错的数据传输, UDP 协议不保证数据传输的可靠性。
10、基于UDP网络程序设计中,使用Datagram类来创建套接字连接。
1、下面哪项可以得到数组元素的个数,java中定义数组名为 abc,( B )A、( )B、C、len(abc)D、ubound(abc)2、构造方法何时被调用(B )A.类定义时B.创建对象时C.调用对象方法时D.使用对象的变量时3、下列语句片段int a=10,b=4,c=20,d=6;的结果为( C ).28 C D.不能执行4、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )A、protectedB、staticC、privateD、public5、编译并运行下述程序段的结果是:( A )。
public class Test{public static void main(String argv[]){int[] count = new int[4];编译时错误 B.运行时错误 C.输出0 D.输出null6、下列说法不正确的是( B )A. IOException必须被捕获或抛出B. java语言会自动初始化变量的值C. java语言不允许同时继承一个类并实现一个接口D. java语言会自动回收内存中的垃圾7、在java的一个异常处理中,哪个语句块可以有多个( A )A、catchB、finallyC、tryD、throws8、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( C )。
A.本地方法 B.静态方法C.最终方法 D.抽象方法9、类Test1定义如下:1) public class Test1{2) public float aMethod(float a, float b){ }3)4) }将以下哪种方法插入行3是不合法的。
( B )A、public float aMethod(float a, float b, float c){ }B、public float aMethod(float c, float d){ }C、public int aMethod(int a, int b){ }D、private float aMethod(int a, int b, int c){ }10、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器( B )A、BoxLayoutB、GridLayoutC、BorderLayoutD、FlowLayout11、哪个关键字可以对对象加互斥锁 ( B )A、 transientB、 synchronizedC、 serializeD、static12、Java程序的执行过程中用到一套JDK工具,其中是指( B )文档生成器解释器编译器类分解器13、下面哪个不是Thread类的方法( C)A.yield() B.sleep(long msec) C.go() D.stop() 14、为实现多线程之间的通信,需要使用下列哪种流才合适( D )A.Filter stream B. File stream C. Random access stream D. Piped stream15、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。
子句子句子句子句16、定义一个类名为“”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:(C)A. private class MyClass extends ObjectB. class MyClass extends ObjectC. public class MyClassD. protected class MyClass extends Object17、给出如下代码:class Test{private int m;public static void fun() {.}}如何使成员变量m 被函数fun()直接访问 ( C )A、将private int m 改为protected int mB、将private int m 改为 public int mC、将private int m 改为 static int mD、将private int m 改为 int m18、对象使用时,下面描述错误的是( B )A.通过“.”运算符调用成员变量和方法B.通过成员变量的访问权限设定限制自身对这些变量方法的调用C.将一个对象申明为类的成员时,必须在使用前为其分配内存D.在方法中使用对象作为参数时,采用引用调用19、下面代码哪行会引起错误 ( D )1) class Parent {2) private String name;3) public Parent(){}4) }5) public class Child extends Parent {6) private String department;7) public Child() {}8) public String getValue(){ return name; }9) public static void main(String arg[]) {10) Parent p = new Parent();11) }12) }A、第3行B、第6行C、第7行D、第8行20、下面关于Applet的说法正确的是 ( C )A、 Applet也需要main方法B、 Applet必须继承自C、 Applet能访问本地文件D、 Applet程序不需要编译二、填空题。