Java基础阶段复习试题2[附答案解析]
2024年等级考试-计算机二级-Java语言程序设计考试历年真题常考点试题2带答案

2024年等级考试-计算机二级-Java语言程序设计考试历年真题常考点试题带答案(图片大小可任意调节)第1卷一.单选题(共20题)1.编译JavaApplet源程序文件产生的字节码文件的扩展名为()A.javaB.classC.htmlD.exe2.获取 InetAddress 对象的 IP 地址所用到的方法是A.etHostlPAddress()B.getHostlP()C.getHostAddress()D. getHost()3.下列叙述中正确的是哪一个( ) 。
A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述 3种说法都不对4.有整型数组: int[] x={12,35,8,7,2};, 则调用方法 Arrays.sort(x)后,数组 x 中的元素值依次是 ( ).A.2 7 8 12 35B.12 35 8 7 2C.35 12 8 7 2D.8 7 12 35 25.定义类头时能使用的修饰符是A. privateB.staticC.abstractD.protected6.开发软件时对提高开发人员工作效率至关重要的是 ( ) 。
A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序员的数量D.计算机的并行处理能力7.下列有关Java的叙述错误的是A.是—种强类型语言B.与平台无关C.可以使用汉字变量名D.不检查数组下标越界8.下述概念中不属于面向对象方法的是 () 。
A.对象、消息B.继承、多态C.类、封装D.过程调用9.设 int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的 switch 语句是A.switch (x + y) { ...... }B.switch ( ch + 1 ) { ...... }C. switch ch D) { ...... }D.switch ( a + b ) { ...... }10.关于包的描述错误的是A.包可以将相关的类和接口组织在一起,便于识别和管理B.包中的类可以访问同一包的其它类的私有成员C.不同包中的相同命名,不会产生冲突D.用修饰的顶级类和接口对包外代码可见11.在 Java 中, 表示换行符的转义字符是 () 。
2.Java基础知识测试和答案讲解

单选题:(每道题目2分)1. 下列哪个声明是错误的?(B)A. int i=10;B. float f=1.1;C. double d=34.4;D. byte b=127;2. 下面哪个不是java中的关键字?(C)A. publicB. trueC. mainD. class3. 下面程序哪个语句是正确的CA. byte a=0,b=3; byte c =a+b;B. short s =23; s=s+12;C. short s=23; s+=12;D. float f = 23+23.23;4. 下面程序执行的结果是?(B)class Test{public static void main(String[] args){System.out.println(“”+‘a’+1);}}A. 98B. a1C. 971D. 1975. 下面程序执行的结果是?(B)int i = 100;while(true){if (i++ > 100){break;}System.out.println(i);}A. 100B. 101C. 102D. 报错6. 下面程序的运行结果是 ( D )int a=3, b=1;if(a==b){System.out.println("a="+a);}A. a=1B. a=3C. 编译错误D. 正常运行但没有输出7. 下面程序的运行后,结果正确的是:Bint a=1,b=2;int c=(a+b>3?a++:++b);A. a=2,b=3B. a=1,b=3C. a=1,b=2D. c=28. 下面程序的运行结果Bclass Demo{public static int fun(int c){return c+=2;}public static void main(String[] args) {int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 89. 下面数组定义错误的是(C)A. int [] arr ={23,45,65,78,89};B. int [] arr=new int[10] ;C. int [] arr=new int[4]{3,4,5,6};D. int [] arr={‘a’, 23 , 45 , 6};10. 下面程序执行的结果是?(D )int x =1,y=1;if(x++==2 & ++y==2){x=7;}System.out.println("x="+x+" , y="+y);A. x=1 y=2B. x=7 y=1C. x=7 y=2D. x=2 y=211. 下面不属于基本数据类型的是(D)A. intB. doubleC. longD. int[]12. 下面程序执行的结果是?( C)boolean b=true;if(b=false){System.out.println("a");}else if(b){System.out.println("b");}else if(!b){System.out.println("c");}else{System.out.println("d");}A. aB. bC. cD. d13. 下面程序执行的结果是?(D)int x=2,y=3;switch(x){default:y++;case 3:y++;case 4:y++;}Sysetem.out.println("y="+y);A. 3B. 4C. 5D. 614. 下面程序执行的结果for(int i=1;i<=10;i++){if (i%3==0){continue;}System.out.println(“java基础班”);}在屏幕上打印几次“java基础班”?( 7 )A. 5B. 6C. 7D. 815.阅读下面代码段:public class Demo{public static void main (String[] args) {int[] arr = new int[10];System.out.println(arr[1]);}}执行结果正确的说法是( C )A. 编译时将产生错误B. 编译时正确,运行时将产生错误C. 输出零D. 输出空16 .和下面代码能完成相同的选项是(B)int i=1;int sum=0;while(i<=100){if(i%2==0){sum=sum+i;}i++;}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对17. 以下代码输出是( D )int i=0;int sum=0;while(i<=10){i++;if( i%2 !=0 )continue;sum+=i;}System.out.println(sum);A. 55B. 45C. 35D. 3018. 给出下列代码片段:if ( x > 0 ) { System.out.println(“Hello”); }else if ( x >-3 ) { System.out.pirntln ( “I am Tom”); } else { System.out.println (“How are you?”); }请问将打印字符串“How are you ?”的x的范围是(C )A. x>0B. x > -3C. x <= -3D. x <=0 & x >-319.下列代码执行的结果为( A)class Demo{public static void main(String[] args){int num = max(43,34);System.out.println(num);}public static int max(int a,int b){return a>b?a:b;}}A. 43B. 23C. 77D. 920 .下面程序执行的结果是( A)class Demo{public static void main(String [] args){int a=10;if(a++>10){a=20;}System.out.println(a);}}A. 11B. 12C. 20D. 21多选题:(每道题目3分)21. 下面哪些是合法的标志符(BCD)A. 2variableB. variable2C. what$D. _3_22. 下列函数中能和函数int max(int a, int b, double c)构成重载关系的是( BC )A. double max(int a, int b, double c)B. void max(int a, double c, int b)C. int max(double a, int b)D. int max(int x, int y, double z)23. 下面的说法正确的是( AC )A. byte ,short,char 数据类型可以自动转化为intB. float 数据类型可以自动转换为long。
二级java语言试题及答案

二级java语言试题及答案1. 选择题- 1.1 以下哪个选项是Java语言的特点之一?- A. 面向对象- B. 编译型语言- C. 动态类型- D. 以上都不是- 答案: A- 1.2 Java语言中,以下哪个关键字用于定义类?- A. class- B. public- C. static- D. void- 答案: A2. 填空题- 2.1 Java语言中的主函数入口是`____`。
- 答案: main- 2.2 在Java中,`____`关键字用于声明一个方法。
- 答案: void3. 简答题- 3.1 简述Java语言的垃圾回收机制。
- 答案: Java语言的垃圾回收机制是指系统自动回收不再被引用的对象所占用的内存空间。
Java虚拟机(JVM)负责管理内存,当对象不再被任何变量引用时,垃圾回收器会将其标记为可回收,并在适当的时候释放这些内存资源。
4. 编程题- 4.1 编写一个Java程序,实现计算两个整数的和。
- 答案:```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2);System.out.println("The sum is: " + sum);}public static int addNumbers(int a, int b) {return a + b;}}```5. 阅读题- 5.1 阅读以下Java代码片段,并回答问题:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```- 5.1.1 这段代码的作用是什么?- 答案: 这段代码的作用是输出字符串"Hello, World!"到控制台。
JAVA基础强化练习题2(附答案)

public class Forest implements Serializable { private Tree tree = new Tree(); public static void main(String[] args) { Forest f = new Forest(); try { FileOutputStream fs = new FileOutputStream("Forest.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(f); os.close(); } catch (Exception ex) { ex.printStackTrace();
10. 运行下列程序:
public static void main(String[] args) { String str = "**oracle***oracle*****oracle***"; String str1 = "oracle"; int index = 0; while ((index = str.indexOf(str1, index)) != -1) { System.out.print(index + ""); index += str1.length(); }
A. class B extends A { public void f() throws Exception { ……… } }
B. class B extends A { public void g() throws IOException { f(); } }
JAVA考前模拟题与答案解析(二)

答:B
二、不定项选择题(在每小题的五个备选答案中选出正确答案,并将正确答案的序号填入题干后面的括号内,错
选多选,漏选均不得分。)
1、给出如下代码:
class Test
{
private int m;
public static void fun()
}
在代码说明// assignment x=a, y=b处写入如下哪几个代码是正确的?
A、 Base(a,b);
B、x=a, y=b;
C、x=a; y=b;
D、this(a,b);
答: C,D
4、已知如下定义:String s = "story"; 下面哪个表达式是合法的?
E、 native
答:A,C,D,E
8、如下哪些是Java中正确的整数表示?
A、22 B、0x22 C、022 D、22H
答: A,B,C
9、下面的代码段中,执行之后i 和j 的值是什么?
int i = 1;
int j;
j = i++;
A、 1, 1 B、1, 2 C、2, 1 D、2, 2
B、float []f[] = new float[6][6];
C、float f[][] = new float[][6];
D、float [][]f = new float[6][6];
E、float [][]f = new float[6][];
答:A,B,C,D
14、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等?
JAVA基础试题及其答案2

} } a) void my Method(final int p) b) final int il; c) final int i2=p d) il=20 e) i2=20; 11) 给定如下 java 代码,编译时会在()出现错误。 class Parent{ } class Child extends Parent{
for (int i=0;i<3; i++) { System.out.print(i) ;
} System.out.print(i) ; } } a) 编译时报错 b) 正确运行,输出 012 c) 正确运行,输出 123 d) 正确运行,输出 0123 15) 给定一个 Java 程序的方法结构如下;以下方法体实现语句正确的是( )。(选择两项) public Integer change( int i) { } a) Integer int =new Integer( i) ; return int; b) Integer t = Integer.valueOf( i) ; return t; c) return new Integer( i) ; d) return i; 16) 在 java 中,在尝试对 null 对象操作时,会产生( )类型的异常。(选择一项) a) ArithmeticException b) NullPointerException c) IOException
",JOptionPane.CLOSED_OPTION) ;
22) 给定某 java 程序的 main 方法,如下;(选择一项)
JAVA基础笔试2

1.下面哪些是Thread类的方法()A start()B run()C exit()D getPriority()答案:ABD解析:看Java API docs吧:/javase/7/docs/api/,exit()是System类的方法,如S ystem.exit(0)。
2.下面关于ng.Exception类的说法正确的是()A继承自Throwable B Serialable CD不记得,反正不正确答案:A解析:Java异常的基类为ng.Throwable,ng.Error和ng.Exception继承Throwable,R untimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeExceptio n。
扩展:错误和异常的区别(Error vs Exception)1)ng.Error:Throwable的子类,用于标记严重错误。
合理的应用程序不应该去try/catch这种错误。
绝大多数的错误都是非正常的,就根本不该出现的。
ng.Exception:Throwable的子类,用于指示一种合理的程序想去catch的条件。
即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。
2)Error和RuntimeException及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exce ption类都是检查了的异常(checked exceptions).checked exceptions:通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。
比如FileNotFoundException,ParseException等。
检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。
unchecked exceptions:通常是如果一切正常的话本不该发生的异常,但是的确发生了。
Java复习题含答案

一、单选题1、JAVA是1995年由(A )公司发布的A.SUNB.MicrosoftC.borlandD.Fox Software2、在Java中,负责对字节代码解释执行的是 BA.应用服务器B.虚拟机C.垃圾回收器D.编译器3、设有定义int i = 6 ;,则执行以下语句后,i的值为(C )。
i += i - 1;A.10B. 121C. 11D. 1004、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .hD. .c5、定义一个类,必须使用的关键字是( B )A. publicB. classC.staticD. interface6、JAVA中不属于基本数据类型的是(C )。
A.StringB.intC.charD.boolean7、0.6332的数据类型是(B)A. floatB. doubleC. FloatD. Double8、关于类和对象的叙述正确的是:( D )A.类是对象的实例化B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.Java的类分为两大部分:系统定义的类和用户自定义的类9、void 的含义:( C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算10、设 x = 2, y = 4, z = 5,则表达式 y*=z--/++x 的值是(C)A. 3B. 3. 5C. 4D. 511、访问权限最小的控制符是( D )。
A. publicB. protectedC. defaultD. private12、编译Java程序的命令是(B )A. cmdB. javacC. javaD. javadoc13、下列程序test类中的变量c的最后结果为(D )public class testpublic static void main(String args[]){int a = 10;int b;int c;if(a>50){b = 9;}c = b + a;}}A. 10B. 0C.19D.编译错误14、下列不属于面向对象编程的三个特征为( B )A.封装B.指针操作C.多态性D.继承15、下面程序定义了一个类,关于该类说法正确的是(A'Abstract class abstractClass{A.该类能调用new abstractClass(),实例化为一个对象B.该类不能被继承C.该类的方法都不能被重载D.以上说法都不对16、System.out.println(“5”+2);的输出结果是(A )A. 52B. 7C. 2D. 517、下面哪些是合法的标示符( A )A. $perB. 123C. *pointD. this 18、定义常量时需要用到的关键字是( C)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习题2如有雷同,纯属巧合!1.下列哪一种叙述是正确的()A. abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号2.下列说法正确的有()A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行D.一个class只能定义一个constructor3.以下哪个表达式是不合法的()A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) { }C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 04.下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.abstract方法必须在abstract类中D.static方法中能处理非static的属性5.()修饰符允许对类成员的访问不依赖于该类的任何对象A、abstractB、staticC、returnD、public6.关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问7.使用()方法可以获得Calendar类的实例。
A.get()B.equals()C.getTime()D.getInstance()8.下面的集合中,()不可以存储重复元素。
A.SetB.CollectionC.MapD.List9.关于Map和List,下面说法正确的是( )。
A.Map继承ListB.List中可以保存Map或ListC.Map和List只能保存从数据库中取出的数据D.Map的value可以是List或Map10.给定如下Java代码,编译运行的结果是()。
import java.util.*;public class Test {public static void main(String[] args){LinkedList list=new LinkedList(); A ? Blist.add(“A”);list.add(2,”B”);String s=(String)list.get(1);System.out.println(s);}}A.编译时发生错误B.运行时引发异常C.正确运行,输出:AD.正确运行,输出:B11.以下代码运行输出是()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) 输出:PersonB) 没有输出C) 编译出错D) 运行出错12.在使用super 和this关键字时,以下描述正确的是()A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块13.以下对封装的描述正确的是()A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性14.以下对继承的描述错误的是()A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法15.以下说法错误的是()A.super.方法()可以调用父类的所有非私有方法B.super()可以调用父类的所有非私有构造函数C.super.属性可以调用父类的所有非私有属性D.this和super关键字可以出现在同一个构造函数中16.访问修饰符作用范围由大到小是()A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private17.多态的表现形式有()A) 重写B) 抽象C) 继承D) 封装18.以下对重载描述错误的是() overload(重载) override(重写)A) 方法重载多发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件19.以下对抽象类的描述正确的是()A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化20.以下对接口描述错误的有()A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承21.以下代码,描述正确的有()interface IDemo{public static final String name; //1void print(); //2public void getInfo(); //3}abstract class Person implements IDemo{ //4public void print(){}}A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现22.以下描述错误的有()A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的23.以下描述正确的有()A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写24.以下对异常的描述不正确的有()A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常25.在try-catch-finally语句块中,以下可以单独与finally一起使用的是()A) catchB) tryC) throwsD) throw26.下面代码运行结果是()public class Demo{public int add(int a,int b){try{return a+b;}catch(Exception e){System.out.println(“catch 语句块”);}finally{System.out.println(“finally 语句块”);}return 0;}public static void main(String[] args){Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34));}}A) 编译异常B) finally语句块和是:43C) 和是:43 finally语句块D) catch语句块和是:4327.以下描述不正确的有()A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略28.以下对自定义异常描述正确的是()A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义29.在Java中,关于HashMap类的描述,以下错误的是( )。
A) HashMap使用键/值得形式保存数据B) HashMap 能够保证其中元素的顺序C) HashMap允许将null用作键D) HashMap允许将null用作值30.在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。
A) FileInputStreamB) FileReaderC) FileWriterD) File31.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()A) ArrayList和LinkedList均实现了List接口B) ArrayList的访问速度比LinkedList快C) 添加和删除元素时,ArrayList的表现更佳D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值32.在Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法建立与数据源的连接语句为:Connection con = DriverManager.getConnection(“jdbc:odbc:news”);URL连接中的”news”表示的是()A) 数据库中表的名称B) 数据库服务器的机器名C) 数据源的名称D) 用户名33.在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在()包中。
A) ngB) java.sqlC) java.utilD) java.math34.获取ResutlSet对象rst的第一行数据,以下正确的是()A) rst.hashNext();B) rst.next();C) rst.first();D) rst.nextRow();35.以下负责建立与数据库连接的是()A) StatementB) PreparedStatementC) ResultSetD) DriverManager36.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?()A) 安全性B) 多线性C) 跨平台D) 可移植37.关于以下程序段,正确的说法是() .1. String s1=”abc”+”def”;2. String s2=new String(s1);3. if(s1= =s2)4. System.out.println(“= = succeeded”);5. if (s1.equals(s2))6. System.out.println(“.equals() succeeded”);A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行D、行4、行6都不执行38.以下哪个方法用于定义线程的执行体?()A、 start()B、init()C、run()D、synchronized()39.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。