java基础测试题含答案

合集下载

java基础试题及答案

java基础试题及答案

java基础试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个修饰符用于声明一个成员变量为类的私有成员?A. privateB. publicC. protectedD. static答案:A4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 下列哪个选项是Java集合框架中的一部分?A. StringB. ArrayListC. FileD. Thread答案:B7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. native答案:A9. 在Java中,哪个关键字用于定义一个内部类?A. innerB. nestedC. innerclassD. class答案:D10. Java中,哪个关键字用于定义一个静态方法?A. staticB. dynamicC. finalD. abstract答案:A二、填空题(每题3分,共15分)1. Java中,用于定义一个类的关键字是______。

答案:class2. Java程序的入口点是______方法。

答案:main3. 在Java中,______关键字用于声明一个变量为常量。

答案:final4. Java中,______关键字用于定义一个方法为静态的。

Java基础笔试机试测试题(带答案)

Java基础笔试机试测试题(带答案)

Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。

public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);System.out.println("sb = " + sb.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。

A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。

A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量 c 的值是()。

int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main 方法如下所示,该程序的运行结果是()。

Java基础语法测试题(1)---答案

Java基础语法测试题(1)---答案

1、以下为一个名为HelloWorld的Java文件,要使其编译和运行,在屏幕上显示“你好〞。

哪句有错误?public class Helloworld{ ①public static void main(String[] args){ ②System.out.println("你好"); ③}}A.①有错B.②有错C.③有错D.没有错2、Java源文件和编译后的文件扩展名分别为A、.class和 .javaB、.java和 .classC、.class和 .classD、.java和 .java3. 以下正确编写入口点语句的是A. public void static main(String[] args)B. public void static main(string[] args)C. public static void main(string[] args)D. public static void main(String[] args)4、以下声明变量方式正确的选项是A.int a=1,double b=12345;B. int c=12;double d=154;C. char e=’ok’;D. boolean f=0;5、以下程序能正确执行的是A.public class helloworld{public static void main(string[] args){System.out.println(“helloworld!〞);}}B.public class helloworld{public static void main(String[] args){System.out.println(“helloworld!〞)}}C.public class helloworld{public static void main(String[] args){System.out.print(“helloworld!〞);}}D.public class helloworld{public static void main(String[] args);{System.out.println(“helloworld!〞);}}6、新建一个Hello.java文件存放在E盘test文件夹,以下语法在命令模式中正确是A.切换源文件所在目录: cd \d E:/testB.用javac命令编译源文件: javac Hello.javaC.在命令模式下java hello命令执行时生成Hello.class文件D.运行程序: java hello.java7、以下变量名合法的是A. basicSalaryB. 2_stNameC.byte-sizeD. hello world8、以下对数组进行初始化错误的选项是:A.int[] intArray={1,2,3,4,5};B.int[] intArray=new int[]{1,2,3,4,5};C.int[] intArray=new int[5];D.int[] intArray=new int[5]{1,2,3,4,5};9、以下程序存在语法错误的选项是A.int i=0;for(;i<10;){i++;System.out.prinln(i);}B.for(int i=0;i<10;i++);System.out.println(i);for(;;){System.out.println(i);}C.for(int i=0;i<10;i++)System.out.println(i);D.int i=0;10、以下代码执行的结果是:for(int i=0;i<10;i++){if(i%2==0){continue;System.out.print(i);}System.out.print("a");}A.0a2a4a6a8aB.0aa2aa4aa6aa8aaC.aaaaaD.1a3a5a7a9a11、编译并运行下面代码出现的结果?int i=1;switch (i) {case 0:System.out.print("zero");break;case 1:System.out.print("one");case 2:System.out.print("two");default:System.out.print("default");}A、oneB、one two defaultC、onetwodefaultD、default12、public class aa {public static void main(String[] args) { int a=5,c=5,b,d;b=a++-1;d=++c-1;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}输出a,b,c,d分别是A、5,4,5,5B、6,5,6,5C、6,4,6,4D、6,4,6,513、for(int i=100;i>=1;i--){if(i%3==0 && i%5==0){System.out.print(i+〞〞);break;}}for(int j=0;j<10;j++){if(j%2==0)continue;System.out.print(j+〞〞);}输出 i,j 分别是A、i:90j:1 3 5 7 9B、i: 90 75 60 45 30 15j:2 4 6 8C、i:90j:2 4 6 8D、i: 90 75 60 45 30 15j:1 3 5 7 914、以下程序无语法错误的选项是A.public class helloworld{public static void main(string[] args){boolean b1,b2;if(b1==b2){System.out.println(b1);}}}B.public class helloworld{public static void main(String[] args){int a=8;if(1<=a<=10){a=10;}}}C.public class helloworld{public static void main(String[] args){int a=8,b=18;if(a=b){a=100;}}}D.public class helloworld{public static void main(String[] args);{int n=10;boolean b=(n<8)&&((n=1)!=0);System.out.println(n);System.out.println(b);}}15、以下语句输出不为死循环的是A、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i++;}System.out.println(i);}}B、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;){i--;System.out.println(i);}}}C、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i--;System.out.println(i);}}}D、public class BreakDemo{public static void main(String[] args){int i=0;for(;;){System.out.println(i);}i++;}}16、以下程序执行的结果是Public class IfDemo{Public static void main(String[] args){ int m=9;boolean b=m>9;if(b){m+=1;System.out.println(m);}int n=8;boolean b2=m>9;if(!b2);n++;System.out.println(n);}}A.10 和 8B.10 和 9C.8D.917、下面对于类的命名,正确的选项是A.StringB.My BoxC._BoxD.My.Box18、考察以下两种陈述:陈述1:变量有成员变量和局部变量两种,局部变量的作用域一般比成员变量的作用域要大一些陈述2:在程序中,用属性来表示对象的状态,用方法来表示对象的行为A.陈述1错误,陈述2正确B.陈述1正确,陈述2错误C.两种陈述都正确D.两种陈述都错误19. 预测以下程序的运行结果:public class Cat{String name;public void setName(String n){name = n;}public void cry(){System.out.println(name+":喵!喵~~喵!");}public static void main(String[] args){Cat c = new Cat();c.setName("小花猫");}}A.将输出:小花猫":喵!喵~~喵!"B.程序编译出错C.程序编译无错误,但运行时出错D.程序编译和运行都没错误,但屏幕上没有任何输出20.以下程序运行结果为〔〕public class Test{int x=10;int y=1;public static void main(String [] args){for(int i=0;i!=x-y;i+=2){i+=1;if(i= =5)continue;System.out.println(i);}}}A、1 4 7B、1 5 7 9C、1 3 7 9D、1 3 5 7。

JAVA测试题和答案

JAVA测试题和答案

B. Java 只支持单重继承,一个类可以实现多个接口;
C. Java 只支持单重继承,一个类只可以实现一个接口;
D. Java 支持多重继承,但一个类只可以实现一个接口。
8. 关于接口的定义和实现,以下描述正确的是:
(A)
A. 接口定义中的方法都只有定义没有实现
B. 接口定义中的变量都必须写明 final 和 static
C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统
一的代码
D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声
明为 public.
9. 在 Java 的异常处理语句 try-catch-final 中,以下描述正确的
是:
(B)
A. try 后面是可能产生异常的代码,catch 后面是捕获到某种异常对象时进行
为哪一种不属于浏览器禁止的行为。(A)
A. 禁止访问 Applet 程序所在服务器的资源
B. 禁止读写本地计算机的文件系统
C. 禁止运行本地计算机的可执行程序
D. 禁止访问与本地计算机有关的信息,如用户名、邮件地址等
15 下列关于继承的说法哪个是正确的?B
A.子类只继承父类 public 方法和属性; B.子类继承父类的非私有属性和方法; C.子类只继承父类的方法,而不继承父类的属性;’ D.子类将继承父类的所有的属性和方法。 16 下面哪个是 JAVA 的保留字? B run import implement string 17.下列关于抽象类的说法四个是正确的?C A.某个抽象类的父类是抽象类,则达个子类必须里载父类的所有抽象 方法; B.接口和抽象类是同一回事; C.绝对不能用抽象类去创建对象; D.抽象类中不可以有非抽象方法。 18.下列说法哪个是正确的? B A.创建对象 y 一定要用 new ; B.属性可以是简单变量,也可以是一个对象; C.属性必须是简单变量; D.对象中必有属性和方法。

Java基础笔试机试测试题带答案

Java基础笔试机试测试题带答案

Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。

public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。

A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。

A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量c的值是()。

int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main方法如下所示,该程序的运行结果是()。

public static void main(String [] args){int i=0;}a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。

Java基础测试题

Java基础测试题

Ps:答案已写在上面。

希望大家把其他错误选项问题找出来.第一组:1.下面哪些是合法的变量名 (DEG)A.2variable .variable2._whatavariable $_¥2.请问“abcd” instanceof Object返回的值是 (B)A. “abcd”B. trueC. falseD. String前面是后面的子类面说法正确的是:(A)A. 如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);B. 如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)如果源代码中有main()方法,则该方法必须被放在代码的第一行如果某文件的源代码中定义了一个public 的接口,接口名和文件名可以不同。

4.下面有关方法覆盖说法不正确的是:(B)A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;C. 覆盖的方法不能比被覆盖的方法抛出更多的异常D. 覆盖的方法一定不能是private的5.一个Java程序运行从上到下的环境次序是(C)A. 操作系统、Java程序、JRE/JVM、硬件B. JRE/JVM、Java程序、硬件、操作系统C. Java程序、JRE/JVM、操作系统、硬件D. Java程序、操作系统、JRE/JVM、硬件6. 下面选项中哪个关键字可以用来修饰接口中的变量和方法(A)A. staticB. privateC. synchronizedD. protected7. 下面代码段中:(A)String String=”String”; String B. 不知道 C. 编译出错 D. 运行出错8. 下面哪种是正确的创建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是接口,所以不能实例化。

java基础测试题_含答案

java基础测试题_含答案

Java基础试题姓名一、选择题(每题2分,共30分)1.请写出标识符的命名规则描述正确的是[多选](ABCD )A、由英文字母、数字、_和$组成,长度不限。

B、标识符的第一个字符不能是数字C、标识符区分大小写。

D、标识符不能包含空格。

2. 下列属于正确标识符的选项有[多选](BDGH)A. intB. $_CountC. 3MD. HelloE. b-7F. ms#dG. boolH. D96583、下列哪一个不属于java的基本类型( B )A、intB、StringC、floatD、byte4、下列那条语句能编译通过( A )A、String String=”String”;B、float float=”3.14”;C、int int = 11;D、int i= 1.1;5、下列代码的执行结果是: ( D )public class Test1{public static void main(String args[]){float t=9.0f;int q=5;System.out.println((t++)*(--q));}}A、40B、40.0C、36D、36.06、int长度描述正确的是(A )A、-2^31到2^31 - 1B、-2^32到2^32 - 1C、-2^7到2^7 - 1D、-2^8到2^8 - 17、关于==和equals方法描述不正确的是( D )A、==是运算符、equals是方法B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。

C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:trueD、String a=new String("1");String b=new String("1");System.out.println(a==b);输出结果为:true8、下列关于哪个不属于java的特性( D )A、封装B、继承C、多态D、重载9、某一个子类要继承一个父类,要使用关键字(B )A、importB、extendsC、implementsD、java10、某一个子类要实现一个父接口,要使用关键字(C )A、importB、extendsC、implementsD、java11、以下关于接口和类的说法正确的是( C )A、接口和类都可以实现多重继承B、子类可以继承多个父类C、子类可以实现多个接口D、一个子类不能同时继承某一个父类和实现某一个接口12、一个非抽象子类,如果要实现某个接口,则(A )A、必须实现该接口中的所有抽象方法B、可以实现部分抽象方法C、可以不实现任何抽象方法D、无所谓13、下列关于Java线程的说法那些是正确的( D )A、每一个Java、线程可以看成由代码.一个真实的CPU以及数据三部份组成。

java基础入门考试题目及答案

java基础入门考试题目及答案

java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。

答案:面向对象2. Java程序的执行入口是_________方法。

答案:main3. 在Java中,所有的类都是_________类的子类。

答案:Object4. Java中,用于声明一个私有方法的关键字是_________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java基础试题
姓名
一、选择题(每题2分,共30分)
1.请写出标识符的命名规则描述正确的是[多选](ABCD )
A、由英文字母、数字、_和$组成,长度不限。

B、标识符的第一个字符不能是数字
C、标识符区分大小写。

D、标识符不能包含空格。

2. 下列属于正确标识符的选项有[多选](BDGH)
A. int
B. $_Count
C. 3M
D. Hello
E. b-7
F. ms#d
G. bool
H. D9658
3、下列哪一个不属于java的基本类型( B )
A、int
B、String
C、float
D、byte
4、下列那条语句能编译通过( A )
A、String String=”String”;
B、float float=”3.14”;
C、int int = 11;
D、int i= 1.1;
5、下列代码的执行结果是: ( D )
public class Test1{
public static void main(String args[]){
float t=9.0f;
int q=5;
System.out.println((t++)*(--q));
}
}
A、40
B、40.0
C、36
D、36.0
6、int长度描述正确的是(A )
A、-2^31到2^31 - 1
B、-2^32到2^32 - 1
C、-2^7到2^7 - 1
D、-2^8到2^8 - 1
7、关于==和equals方法描述不正确的是( D )
A、==是运算符、equals是方法
B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。

C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:true
D、String a=new String("1");String b=new String("1");
System.out.println(a==b);输出结果为:true
8、下列关于哪个不属于java的特性( D )
A、封装
B、继承
C、多态
D、重载
9、某一个子类要继承一个父类,要使用关键字(B )
A、import
B、extends
C、implements
D、java
10、某一个子类要实现一个父接口,要使用关键字(C )
A、import
B、extends
C、implements
D、java
11、以下关于接口和类的说法正确的是( C )
A、接口和类都可以实现多重继承
B、子类可以继承多个父类
C、子类可以实现多个接口
D、一个子类不能同时继承某一个父类和实现某一个接口
12、一个非抽象子类,如果要实现某个接口,则(A )
A、必须实现该接口中的所有抽象方法
B、可以实现部分抽象方法
C、可以不实现任何抽象方法
D、无所谓
13、下列关于Java线程的说法那些是正确的( D )
A、每一个Java、线程可以看成由代码.一个真实的CPU以及数据三部份组成。

B、创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

C、Thread类属于java.util程序包。

D、以上说法无一正确。

14、下列哪个方法能让当前线程释放对象锁(A )
A、wait()
B、join()
C、start()
D、sleep()
15、下列哪个不是线程的基本状态( D )
A、就绪状态
B、运行状态
C、阻塞状态
D、响应状态
二、填空题(每题2分,共10分)
1、一般Java程序的类体由两部分组成:一部分是属性,另一部分是方法
2、子类对父类继承来的属性重新定义称为重写。

子类对自身拥有的同名方法的重新定义称重载。

3、定义一个静态方法使用的关键字是static 。

4、接口声明有常量和抽象方法。

5、在Java中,能实现多重继承效果的方式是接口。

三、判断题(每题2分,共10分)
1、一个抽象类中必须包含的有抽象方法(错)
2、一个类可以继承多个类(错)
3、一个类可以同时实现多个接口(对)
4、当线程调用start()方法后,线程立即就会执行(错)
5、在流程控制语句中,break语句表示直接跳出循环,continue表示结束本次循环,继续下一次循环(对)。

四、简单题(每题10分,共50分)
1、请列出java中常用的访问修饰符(访问控制),并说明其作用。

(1)public:用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;
(2)protected:用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问,protected重点突出继承;
(3)default:如果一个类、类属变量及方法没有用任何修饰符(即没有用public、protected及private中任何一种修饰),则其访问权限为default(默认访问权限)。


认访问权限的类、类属变量及方法,包内的任何类(包括继承了此类的子类)都可以访问它,而对于包外的任何类都不能访问它(包括包外继承了此类的子类)。

default重点突出包;(4)private:用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。

2、简述hashtable和hashmap的区别
•HashMap允许键和值是null,而Hashtable不允许键或者值是null。

•Hashtable是同步的,而HashMap不是。

因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。

•HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。

另一方面,Hashtable提供了对键的列举(Enumeration)。

一般认为Hashtable是一个遗留的类。

3、简述sevelet的生命周期
Servlet生命周期分为三个阶段:
1,初始化阶段调用init()方法
2,响应客户请求阶段调用service()方法
3,终止阶段调用destroy()方法
4、java基本数据类型有哪些•byte、•short、•int、•long、•float、•double、•boolean、•char
5、简述sleep() 和wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。

调用sleep不会释放对象锁。

wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待
锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

相关文档
最新文档