收藏 分享(赏)

2022java期末考试试题及答案.docx

上传人:马心欣 文档编号:21967179 上传时间:2023-12-15 格式:DOCX 页数:48 大小:39.19KB
下载 相关 举报
2022java期末考试试题及答案.docx_第1页
第1页 / 共48页
2022java期末考试试题及答案.docx_第2页
第2页 / 共48页
2022java期末考试试题及答案.docx_第3页
第3页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2022java期末考试试题及答案2022年java期末考试试题及答案1.请看下列代码:class ClassA class ClassB extends ClassA class ClassC extends ClassA public class Testpublic static void main(String args) ClassA p0 = new ClassA();ClassB p1 = new ClassB();ClassC p2 = new ClassC();ClassA p3 = new ClassB();ClassA p4 = new ClassC();<插入代码

2、>可以在<插入代码>处,填入的代码正确的是()A.p0 = p1;B.p1 =p2;C.p2 = p4;D.p2 = (ClassC)p1;正确答案:A2.运行下面程序:public class Foo public static void main(String args) StringBuffer a=new StringBuffer("A");StringBuffer b=new StringBuffer("B");operator(a,b);System.out.println(a+","+b);public

3、 static void operator(StringBuffer x,StringBuffer y)x.append(y);y=x;输出的结果是:()。A.A,BB.A,AC.B,BD.AB,B正确答案:D3.下列代码的输出结果是: ()。public class A public void info()System.out.println("A info");public class B extends Apublic void info()System.out.println("B info");public static void main(S

4、tring args) B b=new B();A a=b;a.info();A.B infoA infoB.A infoB infoC.A infoD.B info正确答案:D4.下列代码运行的结果是()。public class Base public static final String FOO = "foo"public static void main(String args) Base b = new Base();Sub s = new Sub();System.out.print(Base.FOO);System.out.print(Sub.FOO);Sy

5、stem.out.print(b.FOO);System.out.print(s.FOO);System.out.print(Base) s).FOO);class Sub extends Base public static final String FOO = "bar"A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo正确答案:D5.执行下列语句:int a = 0x9af700; / 00 00 00 10 01 10 10 1111 0111 0000 0000 00a <

6、<= 2;变量a的值为:()。A. 0x26bdc00B. 0xc6bdc00C. 0x3fa0000D. 0x7e02ffff正确答案:A6. 下面的代码用于对数组arr实现冒泡排序:for (int i = 0; i < arr.length - 1; i+) boolean isSwap = false;空白处if (!isSwap)break;下列选项中,空白处可以填入的代码是:()。/每轮比较结束把最小的放在前面A. for (int j = arr.length - 1; j > i; j-) if (arrj < arrj - 1) int temp =

7、arrj;arrj = arrj - 1;arrj - 1 = temp;isSwap = true;B. for (int j = arr.length - 1; j > 0; j-) if (arrj < arrj - 1) int temp = arrj;arrj = arrj - 1;arrj - 1 = temp;isSwap = true;C. for (int j = i + 1; j< arr.length; j+) if (arrj < arrj - 1) int temp = arrj;arrj = arrj - 1;arrj - 1 = temp;

8、isSwap = true;D. for (int j = i; j< arr.length; j+) if (arrj < arrj - 1) int temp = arrj;arrj = arrj - 1;arrj - 1 = temp;isSwap = true;正确答案:A7.下列语句创建对象的总个数是:()。String s=;a;+;b;+;c;+;d;+;e;A.1B.2C.3D.4正确答案:A8.运行下列程序:String str = "*oracle*oracle*oracle*"String str1 = "oracle"

9、int index = 0;while (index = str.indexOf(str1, index) != -1) System.out.print(index+;);index += str1.length();限制台输出的结果是:()。A.1 10 21B.2 11 22C.3 13 23D.5 13 22正确答案:B9. 下列表达式中,可以得到精确结果的是()。A. double d1 = 3.0 - 2.6; 0.4B. double d4 = 2.5 * 1.5;C. double d2 = 30/300;D. double d3 = 1/2 + 0.5;正确答案:B10.类S

10、uper及Sub定义如下:public class Super private void f() System.out.println("Super.f()");public void g() f();public void k() f();public class Sub extends Super private void f() System.out.println("Sub.f()");public void k() f();运行下列语句:Super obj = new Sub();obj.g();obj.k();输出的结果是:()。A. Sub

11、.f()Sub.f()B. Sub.f()Super.f()C. Super.f()Sub.f()D. Super.f()Super.f()正确答案:C11. 下列数组声明语句中,错误的是:()。A.int arr = new int8;B.int arr = new int8;C.int arr = ;D.int arr = new int;正确答案:B12.执行下列语句:int num=3+2; 变量num的值为()。A.-3B.3C.-2D.-1正确答案:C13.请看下列代码:interface Data public void load(); abstract class Info p

12、ublic abstract void load(); 下列选项中,能正确运用Data接口和Info类的是()。A.public class Employee extends Info implements Data public void load() /*do something*/ B.public class Employee implements Info extends Data public void load() /*do something*/ C.public class Employee implements Info extends Data public void D

13、ata.load() /*d something */ public void load() /*do something */ D.public class Employee extends Info implements Data public void load() /*do something */ public void Info.load() /*do something*/ 正确答案:A14.下列代码编译和运行的结果是()。public class A public void start() System.out.println("TestA");public

14、 class B extends A public void start() System.out.println("TestB");public static void main(String args) (A) new B().start();A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误正确答案:B15.类A,B的定义如下:class A private int a = 100;A() System.out.print("A()");System.out.println(a);class B extends A

15、 private int a = 200;B() System.out.print("B()");System.out.println(a);运行下面的代码:new B();输出的结果是:()。A. A() 100B() 200B. A() 200B() 200C. B() 200A() 100D. B() 200A() 200正确答案:A16.下列代码的输出结果是()public static void main(String args) String test = "a1b2c3"String tokens = test.split("d&

16、quot;);for (String s : tokens)System.out.print(s + " ");A.a b cB.1 2 3C.a1b2c3D.a1 b2 c3正确答案:A17. 关于Java线程说法错误的是()。A.创建线程的有2种方式,方式1是继承Thread类,方式2是实现 Runnable 接口B.解决线程平安运用问题 synchronized关键字,使得同一时间只有一个线程执行该关键字限定的代码段C.线程间通信所运用的方法有,wait,notify,notifyAll,它们都是 Thread 的方法D.Java线程包括5个状态,线程的创建,可运行,

17、运行,堵塞和消亡正确答案:C18.下列代码的输出结果是()。boolean b=true?false:true=true?false:true;/b=tuer?false:falseSystem.out.println(b);A.trueB.falseC.nullD.空字符串正确答案:B19.请看下列代码编译和运行的结果是()。interface DeclareStuff public static final int EASY = 3;void doStuff(int t);/ public rabstractpublic class TestDeclare implements Decla

18、reStuff public static void main(String args) int x = 5;new TestDeclare().doStuff(+x);void doStuff(int s) s += EASY + +s;System.out.println("s=" + s);A.s=14B.s=16C.s=10D.编译失败正确答案:D20. 运行下面的程序:String fileNames = "abc.txt", "bcd.exe", "cde.exe", "def.dat&quo

19、t;,"efg.exe" ;for (String fileName : fileNames) if (fileName.endsWith(".exe") System.out.print(fileName.substring(0, fileName.lastIndexOf(".exe")+" ");限制台的输出结果是:()。A. bcd. cde. efg.B. bc cd efC. bcd.exe cde.exe efg.exeD. bcd cde efg正确答案:D21.下列代码的作用说法不正确的是:()。c

20、lass Card implements java.io.SerializableA.开启序列化功能,使得Card类的对象可以存储到文件中B.开启序列化功能,使得Card类的对象可以在网络上传输C.使得Card类的子类的对象可以被序列化D.导致Card的子类的对象不行以被反序列化正确答案:D22. 运行下列代码,输出为false的是:()。A. String st1 = "abc"System.out.println("abc" = st1);B. String st2 = "abc"System.out.println(st2.eq

21、uals(new String("abc");C. Integer i = 100; /System.out.println(100 = i);D. ArrayList list = new ArrayList();System.out.println(list.contains(null);正确答案:D23.运行下列程序:String str = "*java*java*java*"String str1 = "java"int index = 0;while (index = str.indexOf(str1, index) !=

22、 -1) System.out.print(index+;);index += str1.length();限制台输出的结果是:()。A. 1 8 17B. 2 9 18C. 5 12 21D. 6 13 22正确答案:B24. 下列代码中不能正确获得到Class类的对象的是:()。A.String sub = "hello"Class c1 = sub.getClass();B.Class c2 = int.TYPE;C.Class c1 = Class.forName ("java.lang.Integer");D.Button b = new Bu

23、tton();Class c1 = b.getClass();Class c2 = c1.getSuperclass();正确答案:B25.URLEncoding是一种应用于HTTP协议的编码方式,字符串;你好;基于UTF-8的URLEncoding编码为: ;%E4%BD%A0%E5%A5%BD;其中E4、BD、A0为字符;你;的UTF-8编码的十六进制形式(3个字节),而E5、A5、BD为字符;好;的UTF-8编码的十六进制形式。下面的代码用程序的方式输出字符串;你好;的基于UTF-8的URLEncoding序列:String msg = "你好"空白处1StringB

24、uilder sb = new StringBuilder();for (int i = 0; i < bs.length; i+) 空白处2sb.append("%").append(str);System.out.println(sb.toString();空白处1及空白处2分别应填入的代码是()。A. byte bs = msg.getChars("utf-8");和 String str = Integer.toHexString(bsi& 0xff).toUpperCase();B. byte bs = msg.getBytes(

25、"utf-8");和 String str = Integer.toHexString(bsi).toUpperCase();C. byte bs = msg.getBytes("utf-8");和 String str = Integer.toHexString(bsi & 0xff).toUpperCase();D. byte bs = msg.getBytes();和 String str = Integer.toHexString(bsi).toUpperCase();正确答案:C26.程序执行的结果是()。public class Te

26、st String name="Tom"public Test(String name)name=name;public static void main(String args)Test t = new Test("Jack");System.out.println(t.name);A.nullB.TomC.JackD." "正确答案:B27. 下列属于不合法Java标识符的是()。A._avajB.5saveC.AvajD.$80正确答案:B28.下列代码的输出结果是()。public static void main(Strin

27、g args) Runnable r = new Runnable() public void run() System.out.print("Cat");Thread t = new Thread(r) public void run() System.out.print("Dog");t.start();A.CatB.DogC.没有任何输出D.抛出运行时异样正确答案:B29. 下面关于final说法正确的是:()。A.final修饰类时,该类能被继承。B.final修饰方法时,该方法能被重写。C.当运用static final 修饰的常量时,将采纳编

28、译期绑定的方式。D.当运用final和abstract共同修饰一个类时,final应至于abstract之前。正确答案:C30. 下面关于final说法错误的是:()A. final修饰类时,该类不能被继承。B. final修饰方法时,该方法不能被重写。C. 当引用到运用static final 修饰的常量时,将采纳编译期绑定的方式。D. 当运用final和abstract共同修饰一个类时,final应至于abstract之前。正确答案:D31.请看下列代码:public static void main(String args) <插入代码>System.out.println(

29、s);假如程序输出的结果是4247,那么在<插入代码>处应当填入代码是()。A.String s = "123456789"s = (s-"123").replace(1,3,"24") - "89"B.StringBuffer s = new StringBuffer("123456789");s.delete(0,3).replace( 1,3, "24").delete(4,6);C.StringBuffer s = new StringBuffer(&qu

30、ot;123456789");s.substring(3,6).delete( 1 ,3).insert( 1, "24");D.StringBuilder s = new StringBuilder("123456789");s.substring(3,6).delete( 1 ,2).insert( 1, "24");正确答案:B32. 下面关于interface,叙述错误的是:()A.一个interface可以继承多个interfaceB.接口中的方法可以由private修饰C.interface中可以定义static

31、 final 常量D.interface中可以无任何方法定义正确答案:B33.分析如下代码,输出结果为()。public static void main(String args) int i = 0;boolean re = falsere = (+i) + i = 2) ? true : false;System.out.println("i=" + i + ",re="+re);A.i=1,re=trueB.i=0,re=trueC.i=1,re=falseD.i=0,re=false正确答案:A34. 下列数组声明语句中,错误的.是:()。A.

32、int arr = new int;B. int arr = new int;C. int arr = ;D. int arr = new int2正确答案:B35.下列代码的运行结果是()public static void main(String args) String str = "420"str += 42;System.out.print(str);A.42B.420C.462D.42042正确答案:D36.所谓;水仙花;数是一个整数等于各位数字立方的和,例如:153 = 1*1*1+5*5*5+3*3*3,下面的程序用于输出21000内的水仙花数:for (i

33、nt n = 2; n <= 1000; n+) 空白处if (s = n) System.out.println(n);下列选项中,空白处可以填入的代码是:()。A. int s = 0, n1 = n;while (n1 > 0) int t = n1 % 10;s += t * t * t;n1 /= 10;B. int s = 0, n1 = n;while (n1 > 0) int t = n1 / 10;s+= t * t * t;n1 %= 10;C. int s = 0;for(int n1 = n; n1>0; n1 /= 10) int t = n1

34、%10;s += t * t * t;D.int s = 0;for(int n1 = n; n1>0; n1 %= 10) int t = n1 / 10;s += t * t * t;正确答案:AC37. 下面的方法属于StringBuffer的是:()。A. sizeB. insertC. deleteD. length正确答案:BCD38.类Super的定义如下:class A protected void f() throws IOException ………下列代码段中,没有编译错误的是:()。A. class B extends A

35、public void f() throws Exception ………B. class B extends A public void g() throws IOException f();C. class B extends A public void g() try f();………catch(Exception e) ………catch(IOException e1) ………D. class B extends A publ

36、ic void g() try f();catch(IOException e) throw new RuntimeException(e);正确答案:BD39.查看如下代码:public class Foo public void method(String str,int age)下列选项中,和 Foo 类中 method 方法重载的方法是()。A.public int method(String str,int age)B. public void method(int year,String s)C. public int method(int year,String s)D. pub

37、lic int method(String str)正确答案:BCD40. 下列关于Java的说法,错误的是()。A. Java语言是纯粹的面对对象的语言。B. Java程序的运行必需有Java虚拟机(JVM)的支持。C. Java语言支持指针。D. Java语言支持多重继承。正确答案:CD41.矩阵是指纵横排列的数据表格,最早来自于方程组的系数及常数所构成的方阵,如:a11 a12. a1na21 a22. a2n. . .am1 am2. amn矩阵乘积规则示例如下:两个矩阵a和b可以相乘的条件是a矩阵的列数和b矩阵的行数相同,例如:假设矩阵a为;2行3列;:a11 a12 a13a21

38、a22 a23矩阵b为;3行2列;:b11 b12b21 b22b31 b32a和b可以相乘,乘积矩阵为:a11*b11+a12*b21+a13*b31 a11*b12+a12*b22+a13*b32a21*b11+a22*b21+a23*b31 a21*b12+a22*b22+a23*b32Matrix类的定义如下:public class Matrix private double data;private int rows;private int cols;public Matrix(int rows, int cols) if (rows <= 0 | cols <= 0)

39、throw new IllegalArgumentException("");this.rows = rows;this.cols = cols;data = new doublerowscols;public Matrix(int rows, int cols, String line) if (rows <= 0 | cols <= 0 | line = null)throw new IllegalArgumentException("");String dataStr = line.split(",");if ( 空白处1 ) throw new IllegalArgumentException("");this.rows = rows;this.cols = cols;data = new doublerowscols;for (int i = 0; i < dataStr.length; i+) ( 空白处2 )public Matrix mul(Matrix ma) if ( 空白处3 ) throw new IllegalArgumentException();Matrix mc = new Matrix(rows, ma.cols);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其他相关文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报