Java小测试1-笔试题
- 格式:doc
- 大小:76.50 KB
- 文档页数:9
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基本技能考核笔试题一、选择题(共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笔试题?单项选择题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程序中的起始类名称必须与存放该类的文件名相同。
1.下列不可作为java语言修饰符的是(D)A) a1 B) $1 C) _1 D) 112.有一段java 应用程序, 它的主类名是a1, 那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对3.整型数据类型中, 需要内存空间最少的是(D)A) short B) long C) int D) byte4.Jav.类可以作为(C)A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5.在创建对象时必须(C)A) 先声明对象, 然后才能使用对象B) 先声明对象, 为对象分配内存空间, 然后才能使用对象C) 先声明对象, 为对象分配内存空间, 对对象初始化, 然后才能使用对象D) 上述说法都对6.在调用方法时, 若要使方法改变实参的值, 可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7.Java中(C)A) 一个子类可以有多个父类, 一个父类也可以有多个子类B) 一个子类可以有多个父类, 但一个父类只可以有一个子类C) 一个子类可以有一个父类, 但一个父类可以有多个子类D) 上述说法都不对8.Java语言具有许多优点和特点, 哪个反映了Java程序并行机制的特点?(B)A) 安全性B) 多线性C) 跨平台D) 可移植9.Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲, 后者没有C) 前者是字符读写, 后者是字节读写D) 二者没有区别, 可以互换使用10.以下声明合法的是( D )A.default String s;B.public final static native int w( )C.abstract double d;D.abstract final double hyperbolicCosine( )11.关于以下application的说明, 正确的是( C )1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ])6. {7. System.out.println(“x=”+ x);8. }9. static { x/=3;}10..}A.4行与9行不能通过编译, 因为缺少方法名和返回类型B.9行不能通过编译, 因为只能有一个静态初始化器C、编译通过, 执行结果为: x=5D、编译通过, 执行结果为:x=312.关于以下程序代码的说明正确的是( D )1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. hs1.x++;6. HasStatic hs2=new HasStatic( );7. hs2.x++;8. hs1=new HasStatic( );9. hs1.x++;10. HasStatic.x- -;11. System.out.println(“x=”+x);12. }13. }A. 5行不能通过编译, 因为引用了私有静态变量B. 10行不能通过编译, 因为x是私有静态变量C、程序通过编译, 输出结果为: x=103D、程序通过编译, 输出结果为:x=10213.以下选项中循环结构合法的是( C )A.while (int i<7){ i++;System.out.println(“i is “+i);}B. int j=3;while(j){System.out.println(“ j is “+j);}C.int j=0;for(int k=0; j + k !=10; j++,k++){System.out.println(“ j is “+j + “k is”+ k);}D. int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14...类Test1定义如下:1. public class Test1{2.public float aMethod(float a, float b){ }3.4. }将以下哪种方法插入行3是不合法的。
Java笔试题一答案.docxJava笔试题面试岗位:高级中级初级笔试时间:姓名:一、jQuery1、Java如果需要匹配包含文本的元素,用下面哪种来实现?(单选)A、text()B、contains()C、input()D、attr(name)?考点:jquery的选择器(B)2、在jquey中,如果想要从DOM中删除所有匹配的元素,下面哪一个是正确的?(单选)A、delete()B、empty()C、remove()D、removeAll()?考点:jquery的文档处理(C)3、为每一个指定元素的指定事件(像click)绑定一个事件处理器函数,下面哪个是用来实现该功能的?(单选)A、trigger (type)B、bind(type)C、one(type)D、bind?考点:jquery的事件操作(B)4、当一个文本框中的内容被选中时,想要执行指定的方法时,可以使用下面哪个事件来实现?(单选)?A、click(fn)B、change(fn)C、select(fn)D、bind(fn)?考点:jquery的事件处理(C)5、在jquery中,想让一个元素隐藏,用________实现,显示隐藏的元素用_________实现。
?考点:jquery的页面效果(hide(),show())6、在jquery中想要实现通过远程http get请求载入信息功能的是下面的哪一下事件?(单选)A、$.ajax()B、load(url)C、$.get(url)D、$. getScript(url)?考点:jquery的ajax (C)7、在一个表单中,如果想要给输入框添加一个输入验证,可以用下面的哪个事件实现?(单选)?A、hover(over ,out)B、keypress(fn)C、change()D、change(fn)?考点:jquery的事件处理(D)8、如果想在一个指定的元素后添加内容,下面哪个是实现该功能的?(单选)A、append(content)B、appendTo(content)C、insertAfter(content)D、after(content)?考点:jquery的文档处理(D)二、Java1、JAVA的基本数据类型有哪些?String 是不是基本数据类型?数值型:——整型:byte(字节型)、short(短整型)、int(整型)、long(长整型)——浮点型:float(单精度浮点数)、double(双精度浮点数)字符型:char布尔类型:boolean String不是基本数据类型,它属于引用数据类型当中的class类型。
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 字节内存空间。
第一题:判断题1.Java 语言是一种面向对象程序设计语言。
( 对 )2.在 Java 有布尔类型,该类型只能有两个值: 1 和 0。
( 错)3.Java 中一个类可以同时继承多个其他类,但只能实现一个接口。
( 错)4.在 Java 中字符串的长度和字符串中字符的个数是相等的。
( 对 )5.程序中的异常是错误的一种,通过调试程序可以解决异常。
( 错 )6.使用 Java 语言既可以读写二进制文件,又可以读写文本文件。
( 对 )7.框架 JFrame 作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。
( 错 )8.当最小化小程序时就会调用小程序的stop() 方法,暂时释放所占资源。
( 对)9.调试 Java 程序也就是运行 Java 程序,使用 java 命令即可完成。
( 错 )10.线程就是程序,只不过是代码较少。
( 错 )第二题:选择题以下对 Java 语言描述不正确的是( C )A Java 语言是一个完全面对对象的语言B Java 是结构独立、与平台无关的语言C Java 是一种编译性语言D Java 是一种解释性语言以下说法正确的是( C )A Java 程序文件名必须是和程序文件中定义的类型一致B Java 程序文件名可以和程序文件中定义的类名不一致C Java 源程序文件的扩展名必须是 .java D以上 A、C 说法正确, B 说法不正确以下有关运行 Java 应用程序( Application )正确的说法是( B )A Java 应用程序是由 Java 编译器解释执行的B Java 应用程序经编译后生成的字节代码可由Java 虚拟机解释执行C Java 应用程序经编译后可直接在操作系统下运行D Java 应用程序经编译后可直接在浏览器中运行4、以下有关标识符说法中正确的是( C )A、任何字符的组合都可以形成一个标识符B、Java 的关键字也可以作为标识符使用C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合D、标识符是不分大小写5、以下说法正确的是(D )A、基本字符数据类型有字符和字符串两种B、字符类型占两个字节,可保存两个字符C、字符类型占两个字节,可保存一个字符D、以上说法都是错误的6、以下有关类型转变的说法错误的是( D )A、低精度类型向高精度类型转换时,不会丢失数据精度B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的7、以下正确的关系表达式( D )A、x≥yB、 x+yz C 、>=x D 、x+y!=z8、以下正确的逻辑表达式(A)A、(x+y>7)&&(x-y<1) B 、!(x+y)C、(x+y>7 )||(z=a) D 、(x+y+z )&&(z>=0)9、以下有关条件运算符(?:)说法正确的是(D)A、条件运算符是一个三元运算符,其格式是:表达式1? 表达式 2:表达式 3B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean 值C、若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值D、以上说法都正确10、在 if(表达式)语句中,“表达式”的值必须是( C )A、任意整数值B、字符串C、布尔逻辑值D、非零值11、在 switch (表达式)语句中,“表达式”的值必须是( D )A、整数值B、字符值C、布尔逻辑值D、整数或字符值12、下列关于 for 循环和 while 循环的说法中,正确的是( A )A、while 循环能实现的操作, for 循环也能实现B、while 循环判断条件一般是程序结果,for 循环判断条件一般是非程序结果C、两种循环任何时候都可以替换D、两种循环结构中必须都有循环体,循环体不能为空13、下面表达式中,用来访问数组中的第一个值的是( C )A、intArray[1] B 、intArray.1 C 、intArray[0]D 、intArray.014 下面的表达式中正确的是(C )String s=” 你好”;if(s==”你好”) System.out.println(true);String s=” 你好”;if(s!=”你好”) System.out.println(false);String s=”你好”;if(s.equals(”你好”)) System.out.println(true);St rin gs=”你好”;if(e q u als(s,”你好”))Syst e m.o u t.p r intln(true);15String str;System.out.println(str.length()); 以上语句的处理结果是( A )A、编译报错B、运行结果是 null C 、运行结果为0 D、随机值16、执行 String [ ] s=new String[10]; 代码后,下面结论正确的是(D)A、s[10] 为””B、s[10]为 nullC、s[0] 未定义D、s.length 为 1017、构造器( B )被调用。
JA V A笔试题带答案一.选择题1.下面关于Java语言说法错误的是:()A.java语言是完全面向对象的B。
java语言支持多继承C.java语言支持多线程D。
java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:()A.*123 B。
12java C.continue D。
java$next3.下列关于注释语句的描述中,正确的一项是()A。
以//开始的是多行注释语句B。
以结束的是单行注释语句C。
以结束的是可以用于生成帮助文档的注释语句D。
以结束的是单行注释语句4.为了区分重载多态中同名的不同方法,要求()。
A)形式参数个数或者类型不同B)返回值类型不同C)调用时用类名或对象名做前缀D)形式参数名称不同5.下面定义数组的格式中正确的是:()A.int a[10] B。
int a=new int[10] C.int []a=new int[5] D.int a[]6.下面说法中不正确的是:()A.类是对象的抽象,对象是类的实例B。
类是组成java程序的最小的单位C.java语言支持多继承D。
java一个程序中只能有一个public类7.定义类时,不可能用到的保留字是()。
A)private B)classC)extends D)implements8.为AB 类的定义一个公共的构造函数,该方法头的形式为()A.void AB( ) B。
public void method( )C.public method ( ) D。
public AB( )9.下面说法中不正确的是:()A.java中一个类只允许实现一个接口B。
抽象类中允许有非抽象方法的存在C.类变量(实例变量)可以直接用类名调用D。
通过super可以调用基类的构造函数10.容器JFrame 默认使用的布局编辑策略是()A.BorderLayout B。
FlowLayout C。
GridLayout D。
CardLayout11.以下哪个表达式是不合法的()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)12.class person{public int addvalue(int a,int b){int s;s=a+b;return s;}}class child extends parent{}若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue 方法头的描述哪个是正确的:A)int addvalue(int I,int j) B)void addvalue()C)void addvalue(double i) D)int addvalue(int a)13.下面程序在fun()方法当出现数组下标超过界限的情况下的输出结果是:()public void test(){try{fun();System.out.print(“情况1”);}catch(ArrayIndexOutOfBoundsException e){ System.out.print(“情况2”);}catch(Exception e){ System.out.print(“情况3”);}finally{ System.out.print(“finally”);}}A.情况1 B。
java第一阶段考试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 在Java中,哪个包包含了基本的输入输出类?A. java.utilB. ngC. java.ioD. 答案:C3. 下列哪个数据类型是Java中的原始数据类型?A. StringB. intC. ArrayListD. HashMap答案:B4. Java中的哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,以下哪个是正确的方法声明?A. public static void main(String args[])B. public static void main(String[] args)C. public static void main(String args)D. public static void main(String args[])答案:B6. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B7. 在Java中,以下哪个是正确的继承关系?A. 类继承类B. 接口继承接口C. 类继承接口D. 接口继承类答案:C8. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案:A9. 在Java中,以下哪个是正确的字符串连接操作?A. "Hello" + 5B. "Hello" + '5'C. "Hello" + "World"D. "Hello" + null答案:C10. Java中,哪个关键字用于声明一个抽象方法?A. abstractB. finalC. staticD. synchronized答案:A二、填空题(每题2分,共20分)1. 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小测试-笔试试卷一、选择题(共25题,每题4分,满分100分)1) 在Java类中,使用以下(D)声明语句来定义公有的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中,下列关于方法重载的说法中错误的是(C )。
{正确(CD)}A. 方法重载要求方法名称必须相同B. 重载方法的参数列表必须不一致C. 重载方法的返回类型必须一致D. 一个方法在所属的类中只能被重载一次3) 给定Java代码如下所示,在横线处新增下列(C)方法,是对cal方法的重载。
{正确(AC)}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){ }4) 在Java中,下面对于构造函数的描述正确的是(D)。
A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5) 下面Java代码的运行结果是(C)。
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,性别是雄。
B. 执行构造方法。
企鹅的名字是null,健康值是0,性别是null。
C. 企鹅的名字是null,健康值是0,性别是null。
D. 执行构造方法。
企鹅的名字是null,健康值是10,性别是雄。
6) 下列选项中关于Java中封装的说法错误的是(D)。
A. 封装就是将属性私有化,提供公有的方法访问私有属性B. 属性的访问方法包括setter方法和getter方法C. setter方法用于赋值、getter方法用于取值D. 类的属性必须进行封装,否则无法通过编译7) 使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是(C)。
A. 使用赋值和取值方法访问属性B. 编写常规方法访问属性C. 在赋值和取值方法中,加入对属性的存取限制D. 编写main方法创建对象,调用赋值和取值方法访问属性8) 分析如下所示的Java代码,其中this关键字的意思是(B)。
public class Test {private String name;public String getName() {return name;}public void setName(String name) { = name; //this关键字所在的行}}A. name属性B. Test类的内部指代自身的引用C. Test类的对象引用Test类的其他对象D. 指所在的方法9) 在Java中,以下程序编译运行后的输出结果为(D)。
public class Test {int x, y;Test(int x, int y) {this.x = x;this.y = y;}public static void main(String[] args) {Test pt1, pt2;pt1 = new Test(3, 3);pt2 = new Test(4, 4);System.out.print(pt1.x + pt2.x);}}A. 6B. 3 4C. 8D. 710) 在Java语言中,下列关于类的继承的描述,正确的是(B)。
A. 一个类可以继承多个父类B. 一个类可以具有多个子类C. 子类可以使用父类的所有方法D. 子类一定比父类有更多的成员方法11) Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(A)。
A. C不仅继承了B中的公有成员,同样也继承了A中的公有成员B. C只继承了B中的成员C. C只继承了A中的成员D. C不能继承A或B中的成员12) 给定一个Java程序Test.java的代码如下所示,编译时,会出现以下(C)情况。
{正确答案(A)}class Parent {public int count() { // 第1行return 0;}}public class Test extends Parent {private int i;public int count() { // 第2行return i % 9; // 第3行}}A. 编译通过B. 在第1行引发编译错误C. 在第2行引发编译错误D. 在第3行引发编译错误13) 给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是(A)。
{正确(B)}class Parent1 {Parent1(String s){System.out.println(s);}}class Parent2 extends Parent1{Parent2(){System.out.println("parent2");}}public class Child extends Parent2 {public static void main(String[] args) {Child child = new Child();}}A. 编译错误:没有找到构造器Child()B. 编译错误:没有找到构造器Parent1()C. 正确运行,没有输出值D. 正确运行,输出结果为:parent214) 给定Java程序Child.java的代码如下所示,则编译运行该类的结果是(A)。
{正确(D)}class Parent {Parent() {System.out.println("parent");}}public class Child extends Parent {Child(String s) {System.out.println(s);}public static void main(String[] args) {Child child = new Child("child");}}A. 输出:childB. 输出:childparentC. 输出:parentchildD. 编译错误15) 下列选项中关于Java中super关键字的说法错误的是(B)。
A. super关键字是在子类对象内部指代其父类对象的引用B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C. 子类可以通过super关键字调用父类的方法D. 子类可以通过super关键字调用父类的属性16) 分析如下所示的Java代码,则选项中的说法正确的是(C)。
class Parent{public String name;public Parent(String pName){ = pName;}}public class Test extends Parent { //1public Test(String Name){ //2name="hello"; //3super("kitty"); //4}}A. 第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B. 第3行错误,应使用super关键字调用父类的name属性,改为="hello";C. 第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D. 程序编译通过,无错误17) 以下关于Object类说法错误的是(B)。
A. 一切类都直接或间接继承自Object类B. 接口亦继承Object类C. Object类中定义了toString()方法D. Object类在ng包中)18) 在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了(D)。
正确(B)A. 子类重写父类的方法B. 子类重载同一个方法C. 定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参数传入方法D. 运行时,根据实际创建的对象类型动态决定使用哪个方法19) 给定Java代码如下所示,则编译运行后,输出结果是(C)。
class Parent {public void count() {System.out.println(10%3);}}public class Child extends Parent{public void count() {System.out.println(10/3);}public static void main(String args[]) {Parent p = new Child();p.count();}}A. 1B. 1.0C. 3D. 3.333333333333333520) 分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在横线处应填入(B)。
{正确(AD)}class A {public void test() {System.out.println("A类的test()方法");}}class B extends A {public void test() {System.out.println("B类的test()方法");}public static void main(String args[]) {}}A. A a = new B();a.test();B. A a = new A();a.test();C. B b = new A();b.test();D. B b = new B();b.test();21) 编译运行如下Java代码,输出结果是(D)。