java笔试训练题一

合集下载

Java笔试题库及其答案

Java笔试题库及其答案

一.单选题1)在JAVA中,要判断D盘下是否存在文件abc.txt,应该使用以下()判断语句。

(选择一项)a) if(new File(“d:abc.txt”) .exists() = =1)b) if(File.exists(“d:abc.txt”) = =1)c) if(new File(“d:/abc.txt”) .exists( ) )d) if(File.exists(“d:/abc.txt))答案:C2)在java中,()对象可以使用键/值的形式保存数据。

(选择一项)a)ArrayListb) HashSetc) HashMapd) LinkedList答案:C3)给定java代码,如下:public byte count(byte b1,byte b2){return___;}要使用这段代码能够编译成功,横线处可以填入()。

(选择一项)a)(byte) (b1-b2)b)(byte) b1-b2c) b1-b2d) (byte) b1/b2a)protectedb)privatec)publicd)friendly答案:C5)在Java中,下列()语句不能通过编译。

(选择一项)a) String s=“join”+“was”+“here”;b) String s=“join”+3;c) int a= 3+5d) float f=5+5.5;答案:D6)给定java代码如下,运行时,会产生()类型的异常。

(选择一项)String s=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOExceptiond)EOFException答案:B7)给定如下java代码,编译运行之后,将会输出()。

public class Test{public static void main(String args[]){int a=5;System.out.println(a%2==1) ?(a+1) /2:a/2);}}(选择一项)a)1b)2c)2.5d)3答案:D8) java程序中,main方法的格式正确的是()。

Java笔试题

Java笔试题

Java基本技能考核笔试题一、选择题(共30分,每题2分):1、下面哪一个选项是java基本数据类型?()A、shortB、BooleanC、unitD、Integer2、下列哪个叙述是正确的()A.final类可以有子类。

B.abstract类中只可以有abstract方法。

C.abstract类中可以有非abstract方法,但该方法不可以用final修饰。

D.不可以同时用final和abstract修饰同一个方法。

3、已知一个有序线性表为()(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( b )A,1 B,2 C,3 D,94、下面关于继承的哪一项叙述是不正确的。

()A、在java中只允许单一继承。

B、在java中一个类可以实现多个接口。

C、在java中一个类不能同时继承一个类和实现一个接口。

D、java的单一继承使代码更可靠。

5、下列哪种异常是检查型异常,需要在编写程序时声明()A、NullPointerExceptionB、ClassCastExceptionC、FileNotFoundExceptionD、IndexOutOfBoundsException6、指出下列程序运行的结果()public class Example {String str = new String("good");char[] ch = { 'a', 'b', 'c' };public static void main(String args[]) {Example ex = new Example();ex.change(ex.str, ex.ch);System.out.print(ex.str + " and ");System.out.print(ex.ch);}public void change(String str1, char ch[]) {str1= "test ok";ch[0] = 'g';}}A、good and abcB、good and gbcC、test ok and abcD、test ok and gb7、以下哪个方法用于定义线程的执行体?( )A、start()B、init()C、run()D、synchronized()8、下面的方法,当输入为2的时候返回值是多少?()public static int getValue(int i) {int result = 0;switch (i) {case 1:result = result + i;case 2:result = result + i * 2;case 3:result = result + i * 3;}return result;}A、0B、2C、4D、109、在Java中,com包中某类的方法使用下列()访问修饰符修饰后,可以被com.db包中的子类访问,但不能被com.db中其他类访问A、privateB、protectedC、publicD、friendly10、在使用JDBC API实现查询数据时,执行过程中以下接口或类的使用顺序正确的是()(1)Connection(2) DriverManager(3) ResultSet(4) StatementA、(1) (2) (3) (4)B、(2) (1) (3) (4)C、(2) (1) (4) (3)D、(3) (2) (1) (4)11、变量命名规范说法正确的是()A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;12、下列值不为true的表达式有( )A、“john" = = "john"B、"john".equals("john”)C、"john”= "john"D、"john".equals(new String("john"))13、有关类的说法,正确的是()A、类具有封装性,所以类的数据是不能被访问的B、类具有封装性,但可以通过类的公共接口访问类中的数据C、声明一个类时,必须使用public 修饰符D、每个类中必须有main 方法,否则程序无法运行14、下面关于内部类的说法,错误的是()A、内部类不能有自己的成员方法和成员变量B、内部类可用abstract 修饰定义为抽象类,也可以用private 或protected 定义C、内部类可作为其他类的成员,而且可访问它所在类的成员D、除static 内部类外,不能在类内声明static 成员15、给定如下Java 程序代码片段,编译运行这段代码,结果是()java.util.HashMap map = new java.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.get("name"));A.nullB.JackC.nullJackD.运行时出现异常二、简答题(共20分)1、介绍下乐观锁和悲观锁,以及实现乐观锁和悲观锁常用方式。

Java笔试题

Java笔试题

Java笔试题Java笔试题:Java基础概念一、Java笔试题?单项选择题1(Java是从()语言改进重新设计。

A(Ada B(C++ C(Pasacal D(BASIC 答案:B 2(下列语句哪一个正确()( Java程序经编译后会产生machine code AB( Java程序经编译后会产生byte code C( Java程序经编译后会产生DLLD(以上都不正确答案:B3(下列说法正确的有()( class中的constructor不可省略 AB( constructor必须与class同名,但方法不能与class同名C( constructor在一个对象被new时执行 D(一个class只能定义一个constructor答案:C4(提供Java存取数据库能力的包是() A(java.sql B(java.awt C(ng D(java.swing答案:A5(下列运算符合法的是()A(&& B(<> C(if D(:=答案:A6(执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A(0 B(1 C(-1 D(死循环答案:C7(下列哪一种叙述是正确的()A( abstract修饰符可修饰字段、方法和类 B(抽象方法的body部分必须用一对大括号{ }包住 C(声明抽象方法,大括号可有可无D(声明抽象方法不可写出大括号答案:D8(下列语句正确的是()(形式参数可被视为local variable AB(形式参数可被字段修饰符修饰C(形式参数为方法被调用时,真正被传递的参数 D(形式参数不可以是对象答案:A9(下列哪种说法是正确的()(实例方法可直接调用超类的实例方法 AB(实例方法可直接调用超类的类方法C(实例方法可直接调用其他类的实例方法 D(实例方法可直接调用本类的类方法答案:D二、Java笔试题?多项选择题1(Java程序的种类有()A(类(Class) B(Applet C(Application D(Servlet2(下列说法正确的有()A(环境变量可在编译source code时指定 B(在编译程序时,所能指定的环境变量不包括class pathC( javac一次可同时编译数个Java源文件 D( javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3(下列标识符不合法的有()A(new B($Usdollars C(1234 D(car.taxi 答案:ACD4(下列说法错误的有()A(数组是一种对象B(数组属于一种原生类C( int number=[]={31,23,33,43,35,63}D(数组的大小可以任意改变答案:BCD5(不能用来修饰interface的有()A(private B(public C(protected D(static 答案:ACD6(下列正确的有()( call by value不会改变实际参数的数值 AB( call by reference能改变实际参数的参考地址 C( call by reference不能改变实际参数的参考地址 D( call by reference能改变实际参数的内容答案:ACD7(下列说法错误的有()(在类方法中可用this来调用本类的类方法 AB(在类方法中调用本类的类方法时可直接调用 C(在类方法中只能调用本类中的类方法D(在类方法中绝对不能调用实例方法答案:ACD8(下列说法错误的有()A( Java面向对象语言容许单独的过程与函数存在 B( Java面向对象语言容许单独的方法存在 C( Java语言中的方法属于类中的成员(member) D( Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9(下列说法错误的有()A(能被java.exe成功运行的java class文件必须有main()方法B( J2SDK就是Java APIC( Appletviewer.exe可利用jar选项运行.jar文件 D(能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD三、Java笔试题?判断题1(Java程序中的起始类名称必须与存放该类的文件名相同。

正式应聘的JAVA笔试题和答案

正式应聘的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软件研发笔试题及答案1. Java基础问题1:请解释Java中的“==”和equals()方法的区别。

答案1:在Java中,“==”用于比较两个基本数据类型的值是否相等,或者两个引用是否指向同一个对象。

而equals()方法是一个Object类的方法,用于比较两个对象的内容是否相等。

默认情况下,equals()方法的行为与“==”相同,但是可以被覆写以实现自定义的比较逻辑。

问题2:Java中,什么是接口(Interface)?答案2:接口是Java中的一种引用类型,它是一种完全抽象的结构,可以包含常量、抽象方法和默认方法。

接口不能直接实例化,必须由实现该接口的类来实现其方法。

接口是一种规范,用于规定类必须实现哪些方法。

2. Java集合框架问题3:List接口和Set接口有什么区别?答案3:List接口允许元素重复,并且元素有序,即元素的插入顺序是保持不变的。

Set接口不允许元素重复,并且元素无序,即元素的存储顺序不保证。

问题4:HashMap和Hashtable有什么区别?答案4:HashMap是非线程安全的,允许一个null键和多个null 值;Hashtable是线程安全的,不允许null键和null值。

HashMap通常比Hashtable的性能要好,因为它不是线程安全的,所以没有线程同步的开销。

3. Java多线程问题5:请解释synchronized关键字的作用。

答案5:synchronized关键字用于在Java中实现同步,它可以用来修饰方法或者代码块。

当一个方法或者代码块被synchronized修饰时,同一时刻只能有一个线程执行该段代码,从而保证了线程安全。

问题6:如何创建线程?答案6:创建线程有两种方式:继承Thread类和实现Runnable接口。

继承Thread类需要重写run()方法,然后创建Thread类的实例并调用start()方法。

实现Runnable接口需要实现run()方法,然后创建Thread类的实例,将Runnable对象作为参数传入构造函数,最后调用start()方法。

Java开发工程师招聘笔试题及解答2024年

Java开发工程师招聘笔试题及解答2024年

2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。

B. String类是可变的,可以对其进行修改。

C. String类是可变的,每次对String对象的操作都会创建新的对象。

D. String类是不可变的,每次对String对象的操作都会创建新的对象。

4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。

B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。

C. 垃圾回收器会定期检查并回收那些不再有引用的对象。

D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。

5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。

java类笔试题目

java类笔试题目

java类笔试题目java类笔试题目Java是一个纯的面对对象的程序设计语言,它继承了 C++ 语言面对对象技术的核心,Java舍弃了C ++语言中简单引起错误的指针(以引用取代)、运算符重载、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

以下是我整理的java类笔试题目,欢迎参考阅读!java类笔试题目一、单项选择题1.Java是从( )语言改进重新设计A.AdaB.C++C.PasacalD.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答案:C4.供应Java存取数据库力量的包是( )A.java.sqlB.java.awtngD.java.swing答案:A5.下列运算符合法的是( )A.c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是( )A.0B.1C.-1D.死循环答案:C7.下列哪一种叙述是正确的( )A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必需用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不行写出大括号答案:D8.下列语句正确的是( )A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不行以是对象答案:A9.下列哪种说法是正确的( )A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有( )A.类(Class)B.AppletC.ApplicationD.Servlet2.下列说法正确的有( )A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class pathC.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个名目(directory)答案:BCD3.下列标识符不合法的有( )A.newB.$UsdollarsC.1234D.car.taxi答案:ACD4.下列说法错误的有( )A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意转变答案:BCD5.不能用来修饰interface的有( )A.privateB.publicC.protectedD.static答案:ACD6.下列正确的有( )A.call by value不会转变实际参数的数值B.call by reference能转变实际参数的参考地址C.call by reference不能转变实际参数的参考地址D.call by reference能转变实际参数的内容答案:ACD7.下列说法错误的有( )A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中肯定不能调用实例方法答案:ACD8.下列说法错误的有( )A.Java面对对象语言容许单独的过程与函数存在B.Java面对对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9.下列说法错误的有( )A.能被java.exe胜利运行的java class文件必需有main()方法B.J2SDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer胜利运行的java class文件必需有main ()方法三、推断题1.Java程序中的起始类名称必需与存放该类的文件名相同。

java基础笔试题(答案已整理)

java基础笔试题(答案已整理)

java基础笔试题(答案已整理)Java基础试题一、选择题(1*30=30)1.Java提供哪几种运算符?多选(ABCD)A) 算术运算符 B) 位运算符 C) 关系运算符 D) 逻辑运算符E) 条件运算符ng包的哪个方法比较两个对象是否相等返回true?(B)A: toString() B: equals() C: compare D: 以上都不正确3.下列对Java的变量与函数说法正确的是?多选(ACE)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.下面关于数组说法正确的是?多选(ABCDE)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.下面方法中,用于调度线程使其运行的是?多选(BC)A。

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

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

J a v a基础笔试机试测试题(带答案)work Information Technology Company.2020YEARJava基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(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的值是()。

java笔试题库

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开发工程师笔试题带答案

Java开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1.任意写出一种排序算法。

(6分)public void sort(int [] array){//代码区}2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等核心字以及条件判断语句)(8分)public int sum(int n){//代码区return 0;}3.完毕下面措施,输入一种整数,输出如下指定样式图案。

(12分)输入:3,输出:1*2*37*8*94*5*6输入:4输出:1*2*3*49*10*11*1213*14*15*165*6*7*8public void drawNumPic(int n){//代码区}二.选择题(定项选择每题3分,不定项选择每题4分,共63分)1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B )A.int floatB.int doubleC.long floatD.long double2.只有实现了__接口的类,其对象才干序列化( A )A.SerializableB.CloneableparableD.Writeable3.代码System. out. println(10 % 3 * 2);将打印出?( B )A. 1B.2C.4D.64.如下程序运营的成果为( A )public class Example extends Thread{@Overridepublic void run(){try{Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}System.out.print("run");}public static void main(String[] args){Example example=new Example();example.run();System.out.print("main");}}A.run mainB.main runC.mainD.runE.不能拟定5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B )A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值B.局部变量指的是在措施中定义的变量,如果没有初始化,会有默认值C.类变量指的是用static修饰的属性D.final变量指的是用final 修饰的变量6.在如下所示的类Test中,共有(D)个构造措施。

java工程师笔试题及答案

java工程师笔试题及答案

java工程师笔试题及答案# Java工程师笔试题及答案一、选择题(每题2分,共10分)1. 下列哪个不是Java的基本数据类型?- A. int- B. String- C. double- D. boolean答案:B(String是引用类型)2. Java中,哪个关键字用于定义类?- A. class- B. struct- C. interface- D. enum答案:A(class用于定义类)3. 在Java中,哪个方法是每个类都必须重写的?- A. `toString()`- B. `equals()`- C. `hashCode()`- D. `main()`答案:A(`toString()`方法通常被重写以提供类的字符串表示)4. 下列哪个是Java集合框架中的接口?- A. ArrayList- B. List- C. HashMap- D. Set答案:B(List是接口)5. 在Java中,哪个关键字用于实现多态?- A. extends- B. implements- C. override- D. abstract答案:A(extends关键字用于继承,是实现多态的一种方式)二、简答题(每题5分,共20分)1. 简述Java中接口和抽象类的区别。

答案:接口定义了方法的规范,但不能包含实现。

一个类可以实现多个接口。

抽象类可以包含方法的实现,并且可以包含非抽象方法。

一个类只能继承一个抽象类。

2. 解释Java中的异常处理机制。

答案:Java的异常处理机制基于`try`、`catch`和`finally`块。

`try`块包含可能抛出异常的代码,`catch`块捕获并处理异常,`finally`块包含无论是否发生异常都会执行的代码。

3. 什么是Java的垃圾回收机制?答案:垃圾回收是Java运行时环境自动释放不再使用的对象所占用的内存的过程。

垃圾回收器定期运行,查找没有被任何引用的对象,并释放它们占用的内存。

java笔试题大全带答案

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笔试100试题1

JAVA笔试100试题1

JAVA笔试100试题1JAVA试题(100道)―――――――――――――――――――――――――――――――――――――― 题目1:下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte题目2:d如下程序中:(1)public class CharToInt (2){(3)public static void main(String[] args) (4){ (5)int a,b=10; (6)char c='语'; (7)a=b+c; (8)System.out.println(\结果是:\(9)} (10)}下面的说法中正确的是:(选择1项)A) 程序运行到第6行会出现编译错误,因为c为char类型,不能把一个汉字赋给一个字符型。

B) 程序运行到第7行会出现编译错误,因为字符型与整型不能进行加法运算。

C) 程序能够正常编译和运行,但是不会输出任何结果。

D) 程序将字符型转换为unicode编码并和b的数值相加的和输出。

题目3:下面的说法中,错误的是:d(选择1项)A) 在Java中标志符可以是字母、下划线、数字或$符号。

B) 在Java中布尔类型不能和数字之间不能来回转换,即false和true不对应任何零或非零的值。

C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。

D) 在Java中布尔值可以用true或false来表示,但是同时也可以用1或0来表示。

题目5:b程序如下:class Test {public static void main(String[] args) { int i=1000; for(;;) { if(i999) { _______________ } } } }下面对程序的横线处填写不同语句的分析正确的是:(选择一项)A) 填充break 使程序能够有退出循环的可能性。

java笔试题目及答案

java笔试题目及答案

java笔试题目及答案# Java笔试题目及答案题目一:Java基本数据类型问题: Java中的基本数据类型有哪些?请列举并说明它们的取值范围。

答案:Java中的基本数据类型包括以下几种:1. byte - 8位有符号整数,取值范围从 -128 到 127。

2. short - 16位有符号整数,取值范围从 -32,768 到 32,767。

3. int - 32位有符号整数,默认类型,取值范围从 -2^31 到 2^31-1。

4. long - 64位有符号整数,取值范围从 -2^63 到 2^63-1。

在数值后加上后缀 L 或 l 表示。

5. float - 32位单精度浮点数,用于存储小数。

6. double - 64位双精度浮点数,默认的浮点数类型。

7. char - 16位Unicode字符,可以存储任何字符。

8. boolean - 只有两个可能的值:true 和 false。

题目二:Java集合框架问题:请简述Java集合框架中的List和Set的区别。

答案:List和Set都是Java集合框架中的一部分,但它们有以下主要区别:- List 允许存储重复的元素,并且元素有序,即元素插入的顺序就是元素的顺序。

- Set 不允许存储重复的元素,并且元素无序,即元素的存储顺序不是按照插入顺序。

常见的List实现有ArrayList、LinkedList等,而Set的常见实现有HashSet、TreeSet等。

题目三:Java多线程问题:什么是线程安全?Java中如何实现线程安全?答案:线程安全指的是当多个线程访问某个类或者对象时,这个类或者对象能够正确地处理来自多个线程的请求,不会出现数据不一致的问题。

在Java中实现线程安全的方法有:1. 使用synchronized关键字:可以修饰方法或者代码块,确保同一时间只有一个线程可以执行该段代码。

2. 使用volatile关键字:确保变量的修改对所有线程立即可见。

java考试题及答案

java考试题及答案

java考试题及答案Java考试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪类编程语言?A. 过程式编程语言B. 面向对象编程语言C. 函数式编程语言D. 逻辑编程语言答案:B2. Java程序的执行入口是以下哪个方法?A. main()B. init()C. start()D. run()答案:A3. 下列哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A4. Java中,哪个关键字用于定义一个方法?A. methodB. functionC. procedureD. void答案:D5. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. derivedD. subclass答案:A6. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D7. Java中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C8. Java中,哪个类是所有Java类的父类?A. ObjectB. ClassC. SystemD. Thread答案:A9. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. package答案:B10. 下列哪个是Java集合框架中的接口?A. ListB. SetC. MapD. All of the above答案:D二、简答题(每题10分,共30分)1. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它通过垃圾回收器定期检查不再被引用的对象,并释放它们占用的内存。

垃圾回收器运行在后台,开发者不需要手动释放对象内存。

2. 描述Java中多态的概念及其实现方式。

java笔试题及答案

java笔试题及答案

java笔试题及答案题目:Java 笔试题及答案一、基础语法1. 请解释 Java 中的接口和抽象类的区别。

答:接口(Interface)是一种完全抽象的类,它允许声明方法,但不允许实现这些方法。

接口中的方法默认是 public 和 abstract 的,且从 Java 8 开始,接口也可以包含默认方法和静态方法。

抽象类(Abstract Class)可以包含抽象方法和非抽象方法,允许有构造器,成员变量,以及具体的方法实现。

一个类可以实现多个接口,但只能继承一个抽象类。

2. 请解释 Java 中的集合框架。

答:Java 集合框架是 Java 中存储和处理一组对象的一套标准接口和类。

集合框架分为两大类:不包含重复元素的集合(如 List、Set)和可能包含重复元素的集合(如 Map、Bag)。

集合框架提供了一系列的接口和实现类,如 List 接口的实现类有 ArrayList 和LinkedList,Set 接口的实现类有 HashSet 和 TreeSet 等。

二、面向对象1. 请解释封装、继承和多态的概念。

答:封装是将对象的状态信息隐藏在对象内部,并通过公共方法对外提供服务。

继承允许新的类(子类)继承现有类(父类)的属性和方法,实现代码的复用。

多态是指允许使用子类的对象来替代父类的对象,子类可以重写父类的方法,从而在运行时表现出不同的行为。

2. 请解释抽象类和接口在实现多态中的作用。

答:抽象类通过定义抽象方法来规定子类必须实现的功能,而接口则通过声明方法签名来规定实现类必须提供的方法实现。

抽象类和接口都可以被子类继承或实现,这样可以确保子类具有某些共同的行为,是实现多态的基础。

三、异常处理1. 请解释 Java 中的异常处理机制。

答:Java 中的异常处理机制是通过 try-catch-finally 结构来实现的。

当 try 块中的代码可能会抛出异常时,catch 块用来捕获并处理这些异常。

Java考试试题有答案

Java考试试题有答案

一、单选题(共60题,每小题1分,共60分)1、Java JDK中调试器的命令是( A )。

A.javacB.javaC.jdbD.javah2、运行jar文件中class文件需要在java命令后面加的参数为(D )。

A.-cp B -g C -d D -verbose3、下面哪项在java中是不合法的标识符?(D )A.$userB.pointC.You&meD._endline4、下列哪一项不是Java保留字?( A )A.sizeofB.superC.abstractD.break5、下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变?( A )A.BorderLayoutB.CardLayoutC.GridLayoutD.FlowLayout6、下面哪些java语句会导致无限循环?( B )I、while (true) i = 0;II、while (false) i = 1;III、while (!false) i = 0;A、III onlyB、I and III onlyC、I onlyD、I, II and III7、下面是Example.java文件的完整代码,请找出会产生编译错误的行(C)。

1) class BaseClass {2) public String str;3) public BaseClass(){4) System.out.println(“ok”);}5) public BaseClass(String s){6) str=s;}}7) class SubClass extends BaseClass{8) }9) public class Example{10) public void method(){11) SubClass s=new SubClass(“hello”);12) BaseClass b=new BaseClass(“world”);13) }14) }A.7B.10C.11D.128、可以在下面代码段point x处写入的是( D )。

Java基础笔试题及答案

Java基础笔试题及答案

Java基础笔试题及答案Java基础笔试题及答案一.选择题(共50题,每题2分,共100分。

多选题选不全或选错都不得分。

)1.以下属于面向对象的特征的是(C,D)。

(两项)A)重载B)重写C)封装D)继承2.以下代码运行输出是(C)publicclassPerson{privateStringname=”Person”;intage=0;}publicclassChildextendsPerson{publicStringgrade;publicstaticvoidmain(String[]args){Personp=newChild();System.out.println();}}A)输出:PersonB)没有输出C)编译出错D)运行出错3.在使用super和this关键字时,以下描述正确的是(A)A)在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B)super()和this()不一定要放在构造方法内第一行C)this()和super()可以同时出现在一个构造函数中D)this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是(D)A)只能对一个类中的方法进行封装,不能对属性进行封装B)如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C)封装的意义不大,因此在编码时尽量不要使用D)封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是(A)A)Java中的继承允许一个子类继承多个父类B)父类更具有通用性,子类更具体C)Java中的继承存在着传递性D)当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是(D)classPerson{publicPerson(){System.out.println(“thisisaPerson”); }}publicclassTeacherextendsPerson{ privateStringname=”tom”; publicTeacher(){System.out.println(“thisisateacher”); super();}publicstaticvoidmain(String[]args){ Teacherteacher=newTeacher();System.out.println();}}A)thisisaPersonthisisateachertomB)thisisateacherthisisaPersontomC)运行出错D)编译有两处错误7.以下说法错误的是()A)super.方法()可以调用父类的所有非私有方法B)super()可以调用父类的所有非私有构造函数C)super.属性可以调用父类的所有非私有属性D)this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是(A,C)(两项)B)final修饰的类肯定不能被继承C)final修饰的方法不能被重载D)final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是(D)A)private-default-protected-publicB)public-default-protected-privateC)private-protected-default-publicD)public-protected-default-private10.以下(D)不是Object类的方法A)clone()B)finalize()C)toString()D)hasNext()11.多态的表现形式有(A)A)重写B)抽象C)继承D)封装12.以下对重载描述错误的是(B)A)方法重载只能发生在一个类的内部B)构造方法不能重载C)重载要求方法名相同,参数列表不同D)方法的返回值类型不是区分方法重载的条件13.以下(D)添加到ComputerBook中不会出错classBook{protectedintgetPrice(){return30;}}publicclassComputerBookextendsBook{}A)protectedfloatgetPrice(){}B)protectedintgetPrice(intpage){}C)intgetPrice(){}D)publicintgetPrice(){return10;}14.以下对抽象类的描述正确的是(C)A)抽象类没有构造方法B)抽象类必须提供抽象方法C)有抽象方法的类一定是抽象类D)抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有(D)A)接口没有提供构造方法B)接口中的方法默认使用public、abstract修饰C)接口中的属性默认使用public、static、final修饰D)接口不允许多继承。

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

java训练题一、单选题1.下列选项中,哪一项不属于Java语言的简单数据类型( B )A. 整数型B. 数组C. 字符型D. 浮点型2.如果在编译Java程序时,编译结果报告说找不到编译的代码,通常的错误不是如下的哪一项?( A )A. 没有import相应的包B. 文件名拼写错误C. 未加.java后缀D. 源文件不在当前目录下3.以下的选项中能正确表示Java语言中的一个整型常量的是( B )A. 435.B. –34C. 34,000D. 4 5 64.现在一个变量为boolean b1; ,下面赋值语句中正确的是( A )A. b1=true;B. b1=True;C. b1=“true”;D. b1=0;5.现在2个char类型的变量a1=‘a’,a2=2;,当执行a1=(char)(a1+a2);语句之后,a1的值应该是( B)A. ‘a’B. ‘c’C. 12D. 语句在编译时出错6.下列哪一个是表达式1+2+“aa”+3的值是( B )A. “12aa3”B. “3aa3”C. “12aa”D. “aa3”7.执行以下列程序段之后,变量n的值为(A )public class Test7{public static void main(String[] args){ int y=2, z=3, n=4;n=n+-y*z/n;System.out.println(n);}}A. 3B. –1C. –12D. –38.执行下列代码段之后,变量z的值为(D )public class Test8{public static void main(String[] args){ int x=2, y=3, z=4;z-=--y-x--;System.out.println(z);}}A. 1B. 2C. 3D. 49.对下列表达式值的判断正确的一个是( C )A. 23<43的值为falseB. 18>=19的值为trueC. 12<=12的值为trueD. 66!=22的值为false10.下列关于equals()方法和==运算符的说法,不正确的一个是(C )A.equals()方法可以用来比较复合数据类型的数值是否相等B.==运算符可以用来比较简单数据类型的数据值是否相等C.==运算符和equals()方法的功能一样,可以相互替换D.==运算符和equals()方法的功能不完全一样,不可以相互替换11.表达式(12==0)&&(1/0<1)的值为( D )A. trueB. falseC. 0D. 运行时抛出异常12.能构成多分支的语句是( C )A. for语句B. while语句C. switch语句D. do-while语句13.下程序的输出结果是( A )public class ex13{public static void main(String[] args){ for(int cnt=0; cnt<10; cnt++){ if(cnt==5) break;System.out.print(cnt);}}}A. 01234B. 6789C. 0123456789D. 514.下列程序执行后,输出的结果是( A )public class ex14{public static void main(String[] args){ int a=10;if(a<10||a>10)System.out.println(“a<>10”);elseSystem.out.println(“a=10”);}}A. a=10B. a<>10C. a>10D. a<1015.执行下开程序之后,输出的结果为( C )public class ex15 {public static void main(String[] args){ int a=0;label: for(; a<4; a++){ for(int j=0; j<2; j++){ if(a==2) break label;System.out.print(a*2+j+“”);}System.out.println(“a=”+a);}}}A. 0 1 a=0B. 0 1 a=12 3 a=2 2 3 a=2C. 0 1 a=0D. 1 2 a=02 3 a=1 3 4 a=116.下列程序的执行结果是( B )public class ex16{public static void main(String[] args){ int j=2, i=8;while(j<--i){ for(int k=0; k<4; k++)j++;}System.out.println(j);}}A. 10B. 6C. 4D. 217.下列程序的执行结果是( C)public class ex17{public static void main(String[] args){ int i=0, j=100;while(j>=0){ if(j%3==0)i+=j;j--;}System.out.println(i)}}A. 5050B. 2500C. 1683D. 171718.下列哪一个不是分支语句( D)A. switch语句B. if-else语句C. if语句D. break语句19.下列程序的执行结果是( D )public class ex19{public static void main(String[] args){ int sum=0;for(int i=1; i<=50; i+=5)sum+=i;System.out.println(sum);}}A. 50B. 200C. 250D. 23520.下列程序的执行结果是( D )public class ex20{public static void main(String []args){ int i1=12, i2=5;switch(++i1){ case 11: i2=i2<<1;case 12: i2=i2<<2;case 13: i2<<3; break;default: ;}System.out.println(i2);}}A. 5B. 10C. 20D. 4021.下列程序的执行结果是( A )public class ex21{public static void main(String []args){ String str=“Hello,”;str=str+”Guys!”;System.out.println(str);}}A. Hello,Guys!B. Hello,C. Guys!D. 编译不通过22.下面哪个可以作为命名Java中的类名?(D )A.classB.¥8$C. 3sD.String23. 哪一个运算符返回除法运算的余数?(B )A. /B. %C. modD.?24.若有如下定义: int i=8; String s=“123”; 则下面哪个描述是不正确的?( C )A.执行i=Integer.parseInt(s); System.out.println(“i=”+i);则输出结果为i=123B.若执行s=String.valueOf(i); System.out.println(“s=”+s);则输出结果为s=8C.若执行s=Int.toString(i); System.out.println(“s=”+s);则输出结果为s=8D.执行s=new String(“567”);System.out.println(“s=”+s);则输出结果为:s=56725.有关数组的定义正确的是( C)A. int a[3];B. int[3] a;C. int[] a;D. int a();26.在Java中,能表示条件表达式为“真”的是(A )A. trueB. 1C. 非0的任何数D. false27.下列程序的执行结果是( C )public class ex27{public static void main(String[] args){ String s1=“abc”+“def”;String s2=new String(s1);if(s1==s2)System.out.println(“s1==s2”);if(s1.equals(s2))System.out.println(“s1 equals s2”);}}A. 不输出任何结果B. s1==s2C. s1 equals s2D. s1==s2s1 equals s228. 下面说法正确的是( )A.Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是以.java或.txt等。

B.JDK的编译命令是java。

C.一个Java源程序编译后可能产生几个字节码文件。

D.在命令运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。

29. 下面的数据类型( D )是float型。

A. 33.8B. 129C. 89LD. 8.6F30.定义整型变量: int n=456; ,表达式的值不为5的是( )A. n/10%10B. (n-n/100*100)/10C. n%10-1D. n/1031.下列方法x的定义中,正确的是( )A. int x(){ char ch=‟a‟; return (int)ch; }B. void x {…}C. int x(int i){ return (double)(i+10); }D. x(int a){ return a; }32.设有定义语句int a[]={66,88,99}; 则以下对此语句叙述错误的是( )A. 定义了一个名为a的一维数组B. a数组有3个元素C. a数组的下标为1~3D. 数组中的每个元素是整型33.下面是在命令行运行Java应用程序A:java A the first snow came.怎么才能在main(String args[])方法中访问单词“first”( )A. args[0]B. args[1]C. args[2] args[3]34.以下语句执行后输出的结果是( )String s=new String(“hello,Java!”);System.out.println(s.length());A. 10B. 11C. 9D. 1535.给出下面程序的代码:byte[] a1, a2[];byte a3[][];byte [][]a4;下列数组操作语句中哪一个是不正确的?( A )A. a2=a1;B. a2=a3;C. a2=a4;D. a3=a4;二、填空题1.在Java语言中的变量,必须先声明后使用,必须进行初始化的变量是局部变量。

相关文档
最新文档