Java笔试题
Java经典笔试题(含答案)
this is a teacher tom B) this is a teacher this is a Person tom C) 运行出错 D) 编译有两处错误 7. 以下说法错误的是() A) super.方法()可以调用父类的所有非私有方法 B) super()可以调用父类的所有非私有构造函数 C) super.属性可以调用父类的所有非私有属性 D) this 和 super 关键字可以出现在同一个构造函数中 8. 以下关于 final 关键字说法错误的是(A,C)(两项) A) final 是 java 中的修饰符,可以修饰类、接口、抽象类、方法和属性 B) final 修饰的类肯定不能被继承 C) final 修饰的方法不能被重载 D) final 修饰的变量不允许被再次赋值 9. 访问修饰符作用范围由大到小是(D) A) private-default-protected-public B) public-default-protected-private C) private-protected-default-public D) public-protected-default-private 10. 以下(D)不是 Object 类的方法 A) clone() B) finalize() C) toString() D) hasNext() 11. 多态的表现形式有(A) A) 重写 B) 抽象 C) 继承
Java 经典笔试题(含答案)
选择题(共 50 题,每题 1.5 分,共 75 分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用 super 和 this 关键字时,以下描述正确的是(A) A) 在子类构造方法中使用 super()显示调用父类的构造方法,super()必须 写在子类构造方法的第一行,否则编译不通过 B) super()和 this()不一定要放在构造方法内第一行 C) this()和 super()可以同时出现在一个构造函数中
正式应聘的JAVA笔试题和答案
正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。
java常见基础知识笔试题
java常见基础知识笔试题Java常见基础知识笔试题:一、Java基础语法1. 请解释Java中的变量和常量有什么区别?2. 请问Java中的关键字有哪些?请列举出来。
3. 请解释Java中的注释有哪几种形式?4. 请说一下Java的数据类型有哪些?5. 请解释Java中的运算符有哪些?二、面向对象1. 请解释面向对象的三大特性是什么?2. 请解释Java中的继承,多态,封装和抽象类分别是什么?3. 请解释Java中的接口是什么?4. 请解释Java中的重载和重写有什么区别?5. 请解释Java中的构造方法和普通方法有何区别?三、异常处理1. 请解释Java中的异常处理机制是什么?2. 请解释Java中的异常分类有哪些?3. 请解释Java中的异常处理关键字try,catch,finally的作用分别是什么?4. 请解释Java中的自定义异常是什么?5. 请解释Java中的异常链是什么?四、集合类1. 请解释Java中的集合类有哪些?2. 请解释Java中的ArrayList和LinkedList的区别。
3. 请解释HashSet和TreeSet的区别。
4. 请解释HashMap和TreeMap的区别。
5. 请解释Java中如何遍历一个集合?五、多线程1. 请解释Java中的线程是什么?2. 请解释Java中的线程实现方式有哪些?3. 请解释Java中的线程池是什么?4. 请解释Java中的synchronized关键字是做什么的?5. 请解释Java中的volatile关键字是做什么的?六、IO流1. 请解释Java中的IO是什么?2. 请解释Java中的字节流和字符流有什么区别?3. 请解释Java中的输入流和输出流有什么区别?4. 请解释Java中的文件读写操作步骤是什么?5. 请解释Java中的RandomAccessFile是什么?以上是java常见基础知识笔试题。
希望这些问题能够帮助读者熟悉Java的基础语法、面向对象、异常处理、集合类、多线程以及IO流的相关知识,在笔试中更好地发挥自己的能力。
JAVA笔试题_附答案版
一:单选题1.下列哪一种叙述是正确的(D)A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2.如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么?DA. 0B. 1C. 2D.编译失败3.下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4.在Servlet处理请求的方式为:CA.以进程的方式B.以程序的方式C.以线程的方式Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5.JDBC中,用于表示数据库连接的对象是:BA.Statement连接的实例,执行sqlB.Connection建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6.用于调用存储过程的对象是:CA.ResultSet返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7.按照MVC设计模式,JSP用于实现:BA.ModelB.ViewC.ControllerD.容器8.如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收?CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9.如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么?BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10.在J2EE中属于Web层的组件有:AA.ServletB.EJBC.AppletD.HTML11.在Servlet的生命周期中,容器只调用一次的方法是:CA.serviceB.getServletConfigC.initD.destroy12.以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配exceptionD. 可能抛出系统异常的方法是不需要申明异常的13.如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么?AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C)A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
Java开发工程师笔试题(带答案)
Java开发工程师笔试题(带答案) Java开发工程师笔试试题一。
编程题1.写出一种排序算法请编写一种排序算法,代码如下:public void sort(int[] array){for(int i = 0.i < array.length - 1.i++){for(int j = 0.j < array.length - 1 - i。
j++){if(array[j]。
array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;2.求1+2+3+。
+n请编写代码实现1+2+3+。
+n的求和,代码如下:public int sum(int n){int result = (n + 1) * n / 2;return result;3.输出指定样式图案请编写代码,输入一个整数n,输出如下指定样式图案,代码如下:public void drawNumPic(int n){int[][] array = new int[n][n];int num = 1;for(int i = 0.i < n。
i++){if(i % 2 == 0){for(int j = 0.j < n。
j++){ array[i][j] = num++;else {for(int j = n - 1.j。
= 0.j--){ array[i][j] = num++;for(int i = 0.i < n。
i++){for(int j = 0.j < n。
j++){ System.out.print(array[i][j]); if(j。
= n - 1){System.out.print("*"); System.out.println();二。
选择题1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?A。
java基础笔试题(答案已整理)
java基础笔试题(答案已整理) Java基础试题一、选择题(1*30=30)1.Java提供哪几种运算符?(多选)A)算术运算符 B)位运算符 C)关系运算符 D)逻辑运算符 E)条件运算符ng包的哪个方法比较两个对象是否相等返回true?(b)A: toString() B: equals() C: compare() D: 以上都不正确3.下列对Java的变量与函数说法正确的是?(多选)A)变量是用来保存数据的 B)变量是用来实现操作过程的 C)函数是用来实现操作过程的 D)函数是用来保存数据的E)函数的参数是数据的入口4.已知:int[] a = new int[100];在下列给出的数组元素中,非法的是?(d)A: a[0] B: a[1] C: a[99] D: a[100]5.在Java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数、类型或顺序各不相同,传值也可以各不相同。
这种面向对象程序的特性称为?(c)A: 隐藏 B: 覆盖 C: 重载 D: Java不支持此特性6.()是一组常量和抽象方法的集合。
(d)A: 实例 B: 类 C: 包 D: 接口7.下面关于数组说法正确的是?(多选)A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一维指定内存,然后再分配其他维的存 E)int twain[][] = new int[4][5];可声明一个二维数组8.Java源文件和编译后的文件扩展名分别为?(b)A:。
class和.java B:。
java和.class C:。
class和.class D:。
java和.java9.设x=5,则y=x--和y=--x的结果,使y分别为?(c)A: 5,5 B: 5,6 C: 5,4 D: 4,410.若x是float类变量,x=10/4,则x的值是?(b)A: 2 B: 2.0 C: 2,5 D: 编译错误11.下面方法中,用于调度线程使其运行的是?(多选)A。
Java常见笔试题及答案
Java常见笔试题及答案一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet、类的子类并且存储该源程序文件的文件名为MyApplet。
13、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
java常见笔试题
java常见笔试题1. 题目一编写一个Java程序,输出小于等于给定数值n的所有质数。
解答:```javaimport java.util.Scanner;public class PrimeNumbers {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入一个数值n: ");int n = input.nextInt();System.out.printf("小于等于%d的质数有: ", n);for (int i = 2; i <= n; i++) {if (isPrime(i)) {System.out.print(i + " ");}}}if (num < 2) {return false;}for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {return false;}}return true;}}```2. 题目二编写一个Java程序,实现将一个字符串反转输出。
解答:```javaimport java.util.Scanner;public class StringReverse {Scanner input = new Scanner(System.in);System.out.print("请输入一个字符串: ");String str = input.nextLine();String reversed = reverse(str);System.out.println("反转后的字符串为: " + reversed); }public static String reverse(String str) {StringBuilder sb = new StringBuilder(str);return sb.reverse().toString();}}```3. 题目三编写一个Java程序,判断一个数是否为回文数。
java笔试题以及答案详解
java笔试题以及答案详解一一、单项选择题1.Java是从()语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC答案:B2.下列语句哪一个正确()A.Java程序经编译后会产生machine codeB.Java程序经编译后会产生byte codeC.Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有()A.class中的constructor不可省略B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行D.一个class只能定义一个constructor答案:C详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。
4.提供Java存取数据库能力的包是()A.java.sql B.java.awt C.ng D.java.swing 答案:A5.下列运算符合法的是()A.&& B.<> C.if D.:=答案:A详解:6.执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A.0 B.1 C.-1 D.死循环答案:C详解:7.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号答案:D详解:8.下列语句正确的是()A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象答案:A详解:9.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有()A.类(Class)B.Applet C.Application D.ServletJava程序的种类有:1、内嵌于web文件中,由浏览器来观看的Applet2、可独立运行的Application3、服务器端的Servlet2.下列说法正确的有()A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class pathC.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3.下列标识符不合法的有()A.new B.$Usdollars C.1234 D.car.taxi答案:ACD解释:4.下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变答案:BCD解释:5.不能用来修饰interface的有()A.private B.public C.protected D.static答案:ACD解释:6.下列正确的有()A.call by value不会改变实际参数的数值B.call by reference能改变实际参数的参考地址C.call by reference不能改变实际参数的参考地址D.call by reference能改变实际参数的内容答案:ACD7.下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法答案:CD解释:8.下列说法错误的有()A.Java面向对象语言容许单独的过程与函数存在B.Java面向对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC解释:9.下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B.J2SDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD解释:三、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。
JAVA笔试题(附答案)
Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
5、error和exception有什么区别?
error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
6、shorts1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
答案:ABC
9.下列说法错误的有()
A.能被java.exe成功运行的java class文件必须有main()方法
B.J2SDK就是Java API
C.Appletviewer.exe可利用jar选项运行.jar文件
D.能被Appletviewer成功运行的java class文件必须有main()方法
我对于D的理解是这样的:静态的只能访问静态的,非静态的可以访问静态的,也就是说类方法中不能调用实例方法。非要说他错,是不是加了绝对二字。
8.下列说法错误的有()
A.Java面向对象语言容许单独的过程与函数存在
B.Java面向对象语言容许单独的方法存在
C.Java语言中的方法属于类中的成员(member)
java笔试题库
java笔试题库一、选择题1. 下列选项中,不属于Java数据类型的是:a) intb) doublec) stringd) boolean2. 下列哪个关键字不是Java中的保留字?a) classb) publicc) staticd) final3. 以下代码片段中,运行结果是什么?public class Test {public static void main(String[] args) {int a = 5;int b = 2;System.out.println(a / b);}}a) 2.5b) 2c) 2.0d) 编译错误4. 下列选项中,属于Java关键字的是:a) doubleb) classc) stringd) float5. Java中的自动类型转换是指:a) 将一个整数转换为字符串b) 将一个字符串转换为整数c) 将一个小数转换为整数d) 将一个整数转换为小数二、填空题1. 声明一个名为"num"的整型变量并赋值为10的语句是:___________。
2. 定义一个名为"message"的字符串变量并赋值为"Hello World!"的语句是:___________。
3. 以下代码片段中,输出结果是什么?int x = 5;x += 3;System.out.println(x); // 输出结果为:___________。
4. 以下代码片段中,输出结果是什么?int a = 10;int b = ++a + a++;System.out.println(b); // 输出结果为:___________。
5. 以下代码片段中,输出结果是什么?int x = 10;int y = 20;int z = x > y ? x : y;System.out.println(z); // 输出结果为:___________。
java基础笔试题及答案
java基础笔试题及答案一、选择题1. 下列哪个关键字可以用来创建线程?A. classB. interfaceC. implementsD. extends答案:D2. Java中的“==”运算符用于比较什么?A. 引用是否相同B. 对象的内容C. 字符串的内容D. 整数的大小答案:A3. 在Java中,哪个类是所有类的根类?A. ObjectB. StringC. IntegerD. System答案:A4. 下列哪个方法用于获取对象的哈希码?A. equals()B. hashCode()C. toString()D. getClass()答案:B5. Java中,哪个关键字用于实现单例模式?A. privateB. publicC. staticD. final答案:C二、简答题1. 解释Java中的垃圾回收机制是什么?答案:Java中的垃圾回收机制是一种自动内存管理功能,它周期性地执行,以识别不再使用的对象,并释放这些对象占用的内存空间。
垃圾回收器会检查内存中的对象,并确定对象是否仍然被应用程序中的其他对象引用。
如果一个对象没有任何引用指向它,那么它就被认为是“垃圾”,垃圾回收器会回收其内存。
2. 什么是Java的异常处理机制?答案:Java的异常处理机制允许程序在发生错误时继续运行,而不是立即崩溃。
它通过使用try、catch、finally和throw关键字来实现。
try块用于捕获可能出现异常的代码,catch块用于处理这些异常,finally块用于执行无论是否发生异常都需要执行的代码,throw关键字用于手动抛出异常。
三、编程题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除操作。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = input.nextDouble();System.out.print("请输入第二个数字:");double num2 = input.nextDouble();System.out.print("请选择操作(+、-、*、/):"); char operation = input.next().charAt(0);double result;switch (operation) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0。
java开发笔试题
java开发笔试题一、选择题1. 在Java中,用final修饰的变量表示什么含义?A. 变量可以被重新赋值B. 变量只能被赋值一次C. 变量的值在任何情况下都不能改变D. 变量的值只能在声明时初始化2. 下列哪个选项是Java中的非访问修饰符?A. publicB. privateC. staticD. protected3. 在Java中,哪个关键字用于检查对象是否为null?A. issetB. hasValueC. isNotNullD. != null4. 下列关于Java异常处理的描述,哪项是错误的?A. try块中包含可能会抛出异常的代码B. catch块用于捕获并处理异常C. finally块中的代码无论是否发生异常都会被执行D. throw语句用于创建新的异常对象5. 在Java中,如何实现多线程?A. 继承Thread类B. 实现Runnable接口C. 调用Thread类的静态方法start()D. 调用Runnable接口的run()方法二、填空题1. 在Java中,每个类默认继承自______类。
2. ______是Java中用来处理输入输出的类库。
3. 要创建一个对象数组,需要使用关键字______。
4. 在Java中,可以使用______关键字来实现方法的多态。
5. ______是Java中用来创建线程的机制,它位于java.util.concurrent包中。
三、判断题1. Java中的接口可以包含具体实现的方法。
(对/错)2. 所有的Java异常都是ng.Throwable类的子类。
(对/错)3. 在Java中,所有的类都必须继承自一个类。
(对/错)4. 一个Java类可以同时实现多个接口。
(对/错)5. 使用synchronized关键字可以避免多线程环境下的并发问题。
(对/错)四、简答题1. 请简述Java中的垃圾回收机制。
2. 解释Java中的异常处理机制,并给出一个使用try-catch语句的示例。
java笔试题带答案
java笔试题带答案一.选择题1.下面关于Java语言说法错误的是:()A.java语言是完全面向对象的B。
java语言支持多继承C.java语言支持多线程D。
java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:()A.某123B。
12javaC.continueD。
java$ne某t3.下列关于注释语句的描述中,正确的一项是()A。
以//开始的是多行注释语句B。
以结束的是单行注释语句C。
以结束的是可以用于生成帮助文档的注释语句D。
以结束的是单行注释语句4.为了区分重载多态中同名的不同方法,要求()。
A)形式参数个数或者类型不同B)返回值类型不同C)调用时用类名或对象名做前缀D)形式参数名称不同5.下面定义数组的格式中正确的是:()A.inta[10]B。
inta=newint[10]C.int[]a=newint[5]D.inta[]6.下面说法中不正确的是:()A.类是对象的抽象,对象是类的实例B。
类是组成java程序的最小的单位C.java语言支持多继承D。
java一个程序中只能有一个public类7.定义类时,不可能用到的保留字是()。
A)privateB)claC)e某tendD)implement8.为AB类的定义一个公共的构造函数,该方法头的形式为()A.voidAB()B。
publicvoidmethod()C.publicmethod()D。
publicAB()9.下面说法中不正确的是:()A.java中一个类只允许实现一个接口B。
抽象类中允许有非抽象方法的存在C.类变量(实例变量)可以直接用类名调用D。
通过uper可以调用基类的构造函数10.容器JFrame默认使用的布局编辑策略是()A.BorderLayoutB。
FlowLayoutC。
GridLayoutD。
CardLayout11.以下哪个表达式是不合法的()A.String某=”Hello”;inty=9;某+=y;B.String某=”Hello”;inty=9;if(某==y){}C.String某=”Hello”;inty=9;某=某+y;D.String某=null;inty=(某!=null)&&(某.length()>0)12.claperon{publicintaddvalue(inta,intb){int;=a+b;return;}}clachilde某tendparent{}若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述哪个是正确的:A)intaddvalue(intI,intj)B)voidaddvalue()C)voidaddvalue(doublei)D)intaddvalue(inta)13.下面程序在fun()方法当出现数组下标超过界限的情况下的输出结果是:()publicvoidtet(){try{fun();Sytem.out.print(“情况1”);}catch(ArrayInde某OutOfBoundE某ceptione){Sytem.out.print(“情况2”);}catch(E某ceptione){Sytem.out.print(“情况3”);}finally{Sytem.out.print(“finally”);}}A.情况1B。
java笔试题大全带答案
java笔试题大全带答案一、选择题1.下列哪个选项是JAVA语言中的基本数据类型?A. IntegerB. BooleanC. StringD. Double答案:B. Boolean2.以下关于JAVA程序的描述中,错误的是:A. JAVA源程序文件的扩展名为.javaB. JAVA虚拟机是JAVA程序的运行环境C. JAVA程序由一个或多个类组成D. JAVA程序的入口函数是main函数答案:C. JAVA程序由一个或多个类组成(应为:JAVA程序由一个类组成)3.以下哪种循环结构可以根据循环条件决定是否执行循环体?A. for循环B. do-while循环C. while循环D. switch循环答案:C. while循环4.以下关于JAVA的面向对象特性的描述中,正确的是:A. 封装是指将数据和操作数据的方法绑定在一起,形成一个类B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为C. 继承是指一个类可以派生出多个子类D. 抽象是指一个类具有实例化对象的能力答案:B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为二、填空题1.下列代码的输出结果是______。
```javaint a = 5;int b = 2;System.out.println(a / b);```答案:22.以下关于JAVA异常处理的语句中,正确的是______。
A. tryB. exceptC. catchD. throw答案:C. catch3.以下哪个关键字声明的方法可以被子类重写?A. finalB. staticC. abstractD. private答案:C. abstract4.以下哪个关键字可以在子类中调用父类的同名方法?A. thisB. superC. extendsD. implements答案:B. super三、编程题请编写一个JAVA程序,实现以下功能:1. 定义一个名为Rectangle的类,包含如下属性和方法:- 属性:宽度(width)、高度(height)- 方法:计算矩形面积(getArea)、计算矩形周长(getPerimeter)2. 在main函数中创建一个Rectangle对象,并计算其面积和周长并打印输出。
java基础笔试题及答案
java基础笔试题及答案1. Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. public答案:A2. 下列哪个选项不是Java语言的基本数据类型?A. intB. floatC. charD. String答案:D3. 在Java中,下列哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. finally答案:A4. 下列哪个选项是Java中正确的继承关系?A. 类可以继承多个类B. 接口可以继承多个接口C. 类可以实现多个接口D. 接口可以实现类答案:C5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. public答案:B6. 下列哪个选项是Java中正确的访问修饰符?A. publicB. privateC. protectedD. all of the above答案:D7. 在Java中,下列哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. 下列哪个选项是Java中的集合框架?A. ArrayListB. LinkedListC. HashMapD. all of the above答案:D9. 在Java中,下列哪个关键字用于定义一个抽象类?A. abstractB. finalC. staticD. interface答案:A10. 下列哪个选项是Java中正确的多线程实现方式?A. 实现Runnable接口B. 继承Thread类C. 实现Callable接口D. all of the above答案:D11. 在Java中,下列哪个关键字用于定义一个静态方法?A. staticB. finalC. abstractD. synchronized答案:A12. 下列哪个选项是Java中正确的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D13. 在Java中,下列哪个关键字用于定义一个私有成员?A. privateB. protectedC. publicD. static答案:A14. 下列哪个选项是Java中正确的集合初始化方式?A. List<String> list = new ArrayList<>();B. List<String> list = new LinkedList<>();C. List<String> list = new HashMap<>();D. all of the above答案:A15. 在Java中,下列哪个关键字用于定义一个同步方法?A. synchronizedB. volatileC. transientD. strictfp答案:A16. 下列哪个选项是Java中正确的泛型声明方式?A. List list = new ArrayList<String>();B. List<String> list = new ArrayList();C. List<String> list = new ArrayList<String>();D. all of the above答案:B17. 在Java中,下列哪个关键字用于定义一个局部变量?A. finalB. staticC. transientD. volatile答案:A18. 下列哪个选项是Java中正确的异常类?A. ExceptionB. ErrorC. ThrowableD. all of the above答案:D19. 在Java中,下列哪个关键字用于定义一个常量?A. finalB. staticC. transientD. volatile答案:A20. 下列哪个选项是Java中正确的集合遍历方式?A. for loopB. while loopC. for-each loopD. all of the above答案:D。
Java笔试题及答案
J a v a笔试题及答案 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】Java笔试题及答案一、单项选择题是从()语言改进重新设计。
++答案:B2.下列语句哪一个正确()A. Java程序经编译后会产生machine codeB. Java程序经编译后会产生byte codeC. Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有()A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行D.一个class只能定义一个constructor答案:C详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。
package ;public class TestConStructor{public TestConStructor(){}public void TestConStructor(){}public static void main(String[] args){TestConStructor testConStructor = new TestConStructor(); ();}}4.提供Java存取数据库能力的包是()答案:A5.下列运算符合法的是()A.&&B.<> D.:=答案:A详解:java 中没有<> := 这种运算符, if else不算运算符6.执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()D.死循环答案:C详解:Do while 中的语句是至少要执行一次的。
执行顺序为:do 中的语句,然后价差while条件,如果为false,则终止;如果为true,则继续执行Do中的语句,然后再检查while条件,如此循环。
JAVA笔试题_附答案版
JAVA笔试题_附答案版一:单选题1. 下列哪一种叙述是正确的(D )A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2. 如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么? DA. 0B. 1C. 2D. 编译失败3. 下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4. 在Servlet处理请求的方式为: CA.以进程的方式B.以程序的方式C.以线程的方式 Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5. JDBC中,用于表示数据库连接的对象是: BA.Statement 连接的实例,执行sqlB.Connection 建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6. 用于调用存储过程的对象是: CA.ResultSet 返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7. 按照MVC设计模式,JSP用于实现: BA.ModelB.ViewC.ControllerD.容器8. 如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收? CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9. 如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么? BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10. 在J2EE中属于Web层的组件有: AA.ServletB.EJBC.AppletD.HTML11. 在Servlet的生命周期中,容器只调用一次的方法是: CA.serviceB.getServletConfigC.initD.destroy12. 以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配 exception D. 可能抛出系统异常的方法是不需要申明异常的13. 如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么? AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C )A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package 子孙类其他packagepublic √√√√protected √√√×friendly √√××private √×××不写时默认为friendly2、Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。
不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、Static Nested Class 和Inner Class的不同答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。
Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。
注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象4、&和&&的区别答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)5、Collection 和Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。
一般来说,assertion用于保证程序最基本、关键的正确性。
assertion 检查通常在开发和测试时开启。
为了提高性能,在软件发布后,assertion检查通常是关闭的7、String s = new String("xyz");创建了几个String Object答:两个,一个字符对象,一个字符对象引用对象8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少答:Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加后求其floor9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错答:short s1 = 1; s1 = s1 + 1;(s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译)10、Java有没有goto答:java中的保留字,现在没有在java中使用11、数组有没有length()这个方法? String有没有length()这个方法答:数组没有length()这个方法,有length的属性。
String有有length()这个方法12、Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型13、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。
equals()是判读两个Set是否相等equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值14、给我一个你最常见到的runtime exception答:常见的运行时异常有如下这些ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflow Exception,CMMException,CannotRedoException,CannotUndoException,DOMException,ClassCastException,EmptyStackException,MissingResourceExcep tion,UndeclaredThrowableException,ConcurrentModificationException,IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException,RasterFormatException,15、error和exception有什么区别答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。
比如说内存溢出。
不可能指望程序能处理这样的情况exception 表示一种设计或实现问题。
也就是说,它表示如果程序运行正常,从不会发生的情况16、List, Set, Map是否继承自Collection接口答:List,Set是,Map不是17、abstract class和interface有什么区别答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子IndexOutOfBoundsException,SecurityException,SystemException,NegativeArraySizeException,NoSuchElementException,NullPointerException,Pro ,ProviderException,UnmodifiableSetException, UnsupportedOperationException类中实现该方法。
知道其行为的其它类可以在类中实现这些方法接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义static final成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口18、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized答:都不能19、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)答:接口可以继承接口。
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数20、构造器Constructor是否可被override答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading21、是否可以继承String类答:String类是final类故不可以继承22、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后答:会执行,在return前执行23、用最有效率的方法算出2乘以8等於几答:2 << 324、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对答:不对,有相同的hash code25、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递答:是值传递。
Java 编程语言只有值传递参数。
当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。
对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的26、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上答:witch(expr1)中,expr1是一个整数表达式。
因此传递给switch 和case 语句的参数应该是int、short、char 或者byte。
long,string 都不能作用于swtich27、ArrayList和Vector的区别,HashMap和Hashtable的区别答:就ArrayList与Vector主要从二方面来说.一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的三.值:只有HashMap可以让你将空值作为一个表的条目的key或value28、char型变量中能不能存贮一个中文汉字?为什么?答:是能够定义成为一个中文的,因为java中以unicode编码,一个char 占16个字节,所以放一个中文是没问题的29、GC是什么?为什么要有GC答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。