Java期末考试复习笔记

一、选择题

1.1 有以下名词javac,JVM,javadoc, Eclipse,其中包含在JDK中但不包含在JRE 中的有.()个。

A.1
B.2
C.3
D.4 .

答案:B
其中javac,javadoc 属于JDK但不属于JRE
JVM属于JRE
Eclipse 不属于JDK

1.2 下列不是Java合法标识符的单词数量是(): class, main, java.lang,helloWorld#, 1980_s

A.2
B.3
C.4
D.5 .

答案:C

标识符只由字母、数字、下划线“_”和“$”组成并且不能以数字开头
class是关键字、java.lang中包含“.”、_helloWorld#包含“#”、1980_s以数字开头
注意:main不是java中的关键字,它只是程序的入口

1.3 下列赋值语句中不正确的是().

A. long In=8888888888L;
B. Integer n=3.3; .
C.float f-3.33E3F;
D.String s=(String)new Object();

答案:B

doube无法转换为integer可以尝试用以下方式

  • math.round()
  • Integer n = (int)3,3;

1.4 下列表达式的输出结果不是55的是(

) .
A.3+'4’
B.3+“4”
C.‘4’+3
D.'3’+4 .

答案:B

其中ACD都是单字符(单引号)转ascii码相加,而B不是

1.5 5.下列描述中正确的是(

A. super关键字可用于访问所有父类中定义的成员
.B. this关键字可以用于访问类中所有的成员.
C. super关键字可用在静态方法史·
D. this关键字可用于访问直接父类中定义的public成员

选择B

A:super无法访问父类中的私有成员
B:this只能访问本类的所有成员
C:super不能用在静态方法中
D:thihs无法子类1调用同名方法的实现

1.6 下列关于new关键字的描述中正确的是(

)
A.建立一个现有对象的拷贝,并用该对象的值进行初始化
B.建立一个新的对象,并对其进行初始化
C.将一个对现有对象的引用指向这个新的对象。
D.新建一个基本数据类型对象

答案:B

new就是干这种事情。

1.7 下列描述中正确的是().

A.Java中允许继承两个抽象类
B. Java中不能实现多个接口。
C.一个接口可以继承另一个接口
D.一个接口可以实现另一个接口.

答案:C

Java只允许单继承,Java中允许实现多个接口。接口和接口之间父子关系用继承extends

1.8 关于访问修饰符的描述中,正确的是(

) .
A.父类中声明为private的方法,子类可重写为public .
B.静态方法可声明为private .
C.默认的访问范围比 protected的小·
D.抽象方法的访问范围没有任何限定,也可以用private修饰

答案:C

protected可以访问同一个类,同一个包和子类
而默认的访问只能访问同一个类,同一个包,因此C对

其他错误:
A:子类无法继承private方法
B:语法没问题但这样做没有意义
D:抽象方法要被重写所以不能用private修饰

1.9 下列关于异常的描述中,不需要在程序中声明或处理的数量是(

ArrayIndexOutofBoundsException,IOException, Error,NumberFormatException,所有Run–timeException的子类
A.4
B.3
C.2
D.1 .

答案:B
ArrayIndexOutofBoundsException需要处理
IO也需要处理
后面三种不需要处理。

1.10 没有这道题

1.11 下列关于PreparedStatement的说法中正确的是( )

A.这是一种方法,能够把语句中的?”替换成任意字符
B.只能用于select语句中
C.只能用于update语句中
D.以上说法均不正确

答案:D
A:?号是指无内容的意思
BC只能用于错

1.12 已知有四语句构建四个字符串:String s1=”Hello"; String s2=“He”+“llo”;String s3=new String(”

Hello");String s4=s1.substring(O);则四个变量s1,s2,s3,s4指向几个不同的字符串首地址()
A.1
B.2
C.3
D.4.

答案:B
除了new会创建新地址,其他都是同一个指向.

1.13 下列数组初始化操作中正确的是()。

A. int[]i={2,3,4,4};
B.double[ ] d=new double(30);
C.char[ ]cr=new char(1…30);
D. float[] f={1.2,3.4,5.6}; .

答案:A
C经典的错误,B等号右边圆括号改成方括号。D要加上f

1.14 定义一个类public class News<_>{},以下各选项中只有一项填入后无法使代码编译通过,请问是哪个() .

A.?
B. News
C.N
D.Object .

答案:A

需要标识符确定

1.15 有语句List list=new ArrayList<>(),以下操作中正确的是(

A. list.add(1,2,3);
B.list.add(new Integer(1)); ·
C. list.add(1.2);
D. list.add(3*4-5); .

答案:D
A选项只能添加一项,B无须新创建,Java8不可以用。C浮点数有问题,

1.16 需要从任意源中读取数据,可以是文件、数组、外围设备或网络接口等,该使用的流是() .

A. InputStream
B.OutputStream
C. Input/OutputStream
D.以上都不是。

答案:A

1.17 从普通文件in.dat中读入内容,有DataInputStream ins=new DataInputStream(new__(”。in.dat"'));则横线处该填入的是(

).
A.File
B. FileInputStream .
C. FileOutputStream
D.无.

答案:B
因为有DataInputStream存在

1.18 利用TCP套接字实现服务器和客户端的连接,应当创建的Socket对象类型分别为( )-

A.Socket和 Socket
B. ServerSocket和 Socket .
C. ServerSocket和 ClientSocket
D.Socket和 ClientSocket .

答案:B
书上有的.直接记忆,或者这样记忆Socket是客户端用的,ServerSocket是服务器用的.

1.19 建立并初始化ServerSocket对象后,调用下列哪个方法可使服务器开始侦听指定端口等待连接() .

A.无
B. listen()
C. wait()
D. accept() -

答案:A
因为,在new的时候已经制定端口

1.20 对以下代码,用命令行参数运行:java Test,描述正确的是()。

1. public class Test {
    
     .
2.public static void main(String[] args){
    
     .3.for(int i=1; i<=args.length; i++).
4.System.out.println(args[iD;
5.}-
6.}·

A.代码能通过编译,且正常运行,输出Test
B.代码能够通过编译,但运行时会出错。
C.代码无法通过编译
D.以上说法都不对

答案:D
编译通过并且正常运行,不输出任何东西。

1.21

1. public class Test{
    
    .
2.public static void main(String[] args){
    
     -3. final char a='A', e='E';.
4. char grade='B';'.
5. switch(grade){
    
     .6. default: .
7. case a: . ...
8. case 'B':'C: System.out.print("'great "); .9. case 'D:System.out.print("'good");break; .10. case e: .
11. case F:System.out.print("not good "); .12. }·
13}
14} 

对上述代的描述正确的是()。
A.代码无法通过编译
B.代码能正确运行,输出great .
C.代码能正确运行,输出 great good
D.代码能正确运行,输出good .

答案:A
因为第8行有:

1.22

1.public class Test{
    
     
2.int num=1;.
3. public ? int triple(int num){
    
     
4. return 3*num;
5.}
6. public ? int countNum(){
    
    .7. return num; 
8. }
9.}

在上述代码中,若要将”?”处改为static,则合适的位置应当是在第(
)行.
A.3
B.6
C.3,6均可
D.3,6均不可

答案:A
6这个地方没有定义num,使用的是顶上的num,如果使用static,就会报错

1.23

    class A{
    
    
        A(int n){
    
    
            System.out.println(n);
        }
    }
    class B extends A{
    
    
        B(int n){
    
    
            super(n);
        }
    }
    public class C{
    
    
        public static void main(String[] args){
    
    
            B b=new B( 1);
        }
    }

A.代码能够通过编译,且正常运行。
B.代码能够通过编译,但无法正确运行.
C.代码无法通过编译,因为A没有提供无参构造方法。
D.代码无法通过编译,因为B没有提供无参构造方法。

答案:A

1.24

1.class C18} .
2. class C2 extends C1}.
3. class C3 extends C2}·
4. class C4 extends C2}·
5. public class C{
    
    .
6. public static void main(String[largs){
    
     
7.C1 c1=new C10;
8.C1 c2=new C2o;
9. C1 c3=new C30;-
10.C1 c4=new C40; 
.11.}.
I
12.}
对上述代码,以下描述中正确的是(
) .


A.代码能够通过编译,且正确运行
B.代码能够通过编译,但运行时会报错。
C.代码无法通过编译,第8行会报错
D.代码无法通过编译,第9行会报错。

答案:A

1.25

1. public static int testa(int a, int b){
    
    .2.^try {
    
     .
3.return a / b; .
I
4.catch(ClassCastException e){
    
     .
5. return 10; 
6. }catch(RuntimeException e){
    
    .7. return 20;
8. } finally{
    
    .9. return 30; .10.}·
11.}.


对上述代码,当a和 b均为0时,函数的返回值是()。
A.抛出异常
B.30
C.20
D.10.

答案:B

1.26

1. try {
    
    .
2. Statement stmt=conn.createStatement(); .
3. String query=SELECT* from Student where Name like ’王%"";4. ResultSet rsrstmt.executeQuery(query); -
5. if(rs==null){
    
    .
6.System.out.println("'No results"'); 
6. }else{
    
     .
7.  System.out.println(rs.getString('Name'));
9. }.
10.}catch(SQLException e){
    
    .
11.System.out.println(SQLException"); 
12.}·

关于此代码片段,假设已经建立了数据库的连接,SQL查询能够得到结果,则下述描述正确的是().
A.代码无法通过编译,在第4行报错
B.输出第一个王姓学生的名字。
C.输出No results
D.输出SQLException.

答案:B

1.27

1.String str=54321";
2.String subs=str.substring(4); .
3.System.out.println(subs.charAt(2));-
对上述代码片段,以下描述正确的是。A.输出2
B.输出1
C.无输出
D.运行时报错.

答案:D

1.28

1.class Mammal}·
2.class Bat extends Mammal{ .
3. class Cat extends Mammali}.
4. class Sat {}.
5.class FurN extends Mammal>{.
6. void clean(){ .
7. Fur bat = newFur();
8. Fur cat = newFur(); .
9.Fur sat = new Fur();.
10. } .
11.}.
上述代码无法通过编译,请问出现第一个编译错误的是在第()行.A.5
B.7
C.8
D.9.

答案:D

1.29

1. import java.io.*; 
2. public class Test {
    
    .
3.public static void main(String[1 args) throws IOException{
    
     
4. try {
    
    .
5.PrintWriter output =new PrintWriter("t.txt"); 
6. output.printf(2%c','1'); .
7. output.printf(%s"',"234');
8. output.printf(%.2f',56.789); 
9. output.close(); .
10. }catch(IOException ex){
    
    
11. ex.printStackTrace(); 
12.} 
13.}
14.} 

文本文件默认编码为ASCII,运行程序后,文件t.txt的大小是(
)字节
A.18
B.16
C.9
D.8.

答案:C

1.30


1. public class Test{
    
     .
2. public static void main(String[] args){
    
    
3. int start=1;.
4.int sum=0;
5.do{
    
    .
6.if(start%2==O) .
continue; 
sum+=start; .
9. }while(start++<=10); .
10. System.out.println(sum); 
11.}
12.} .


运行该程序后,程序的输出是
(31).

答案:36,

理由:1+3+5+7+9+11

1.31

1.public class Test {
    
    .
2.public static void main(String[] args){
    
     
3. String url="www.amazon.com"; 
4.int si-url.indteXdeXo."):
6. String sub=_
7.String rep-url.replace(sub,"baidu"); 
8. System.out.println(rep);
9. }.
10.} .

上述代码的功能是将任意形如www.xxx.com的网址变换成www.baidu.com,横线处该填入的代码是
(32).

答案:url.substring(si+1,ei);

1.32

public class Test {
public static String cry(int num){return"1"+num;
public static String cry(Integer num){return ”2"'+num;
public static String cry(Object num){return “3”+num; .
}
public static void main(String[] args){
System.out.println(cry(5.0));
}
述程序运行后的输出是
(33).

答案:35.0

1.33

public class Test {
    
     
public static String cry(int num){
    
    return"1"+num;
public static String cry(Integer num){
    
    return2"'+num;
public static String cry(Object num){
    
    return "3"+num; .
}
public static void main(String[] args){
    
    
System.out.println(cry(5.0)); 
}


述程序运行后的输出是
(33).
答案:3

1.34

lass Ai
public void printClass(){
    
    System.out.print("A");
class B extends A {
    
    .
public void printClass(){
    
    ·System.out.print("B);
}.
class C extends B{
    
    ,
public void printClass({
    
    .super.printClass(); .
System.out.println("C");}} ,
public class Test {
    
    .
public static void main(String[]args){
    
    ·A[]a={
    
    new A(), new B(), new CO};for(A ea:a) .
ea.printClass(); }

编译运行上述代码后,程序的输出是

答案:ABBC

1.35

package com.company;

import java.util.ArrayList;
import java.util.List;


public class Main {
    
    
    public static void main(String[] args) {
    
    
        try{
    
    
            System.out.print("A");
            throw new ArrayIndexOutOfBoundsException();

        }catch(RuntimeException ex){
    
    
            System.out.print("B");
        }catch(Exception ex){
    
    
            System.out.print("C");
        }finally {
    
    
            System.out.print("D");
        }


    }
}



运行上述代码后,程序的输出结果是
(36).

答案:ABD

1.36

public static<  >void selectionSort(E[]list){
    
     .
for (int i = 1; i< list.length; i++){
    
    -
E currentElement = list[i];-
int k; .
while(list[k].compareTo(currentElement)>0) {
    
    .list[k+1]=list[k];·
k--;v
}·
1/Insert the current element into list[k+1]. list[k+1]=currentElement; -
.}12.}·

述代码实现了任意类型数组的选择排序方法,请补全方法头定义处缺失的代码
(37).

答案:E

1.37

1. public class Test {
    
    .
2.public static void main(String[] args){
    
    .
3.List<String  dryFruits=new ArrayList<>(); ·4. dryFruits.add(Walnut?'); .
5.  dryFruits.add("'Apricot"); .6. dryFruits.add('Aimond”); .7. dryFruits.add('Date");.
8. for(int i=0; i<dryFruits.size(); i++){
    
    9.if(dryFruits.get(i).startsWith(”A'))10.dryFruits.remove(i);.
11.}.
12.System.out.println(dryFruits); .13. }·
14.} ·

当运行上述代码后,输出的内容是
(38).

答案:[Walnut, Almond, Date]

1.38

  1. DataOutputStream output=new DataOutputStream(new FileOutputStream(“t.dat”));.2. output.writeByte(123); .
  2. output.writeFloat(123.4F); 4. output.writeUTF(”花魁?);-
    I
    有以上代码片断,当执行完以上代码片断后,往文件t.dat中写入的字节数是
    (39).

答案:13

1.39

  1. public class Test { .
  2. public static void main(String[] args){·3. xMethod(26480);·
  3. }.
    5.public static void xMethod(int n){·6. ifn>0){·
  4. System.out.print(n%10+”3);.8.xMethod(n/10);.
  5. } .
    10.}11.}·

当编译运行上述程序后,输出结果是
(40) .

答案:08462

1.40

放弃,等寝室大佬

1.41

在这里插入图片描述
在这里插入图片描述

1.42

在这里插入图片描述

package com.company;



import java.util.Scanner;

public class Main {
    
    

    static String decToBin(int num){
    
    
        return Integer.toString(num,2);
    }
    public static void main(String[] args) {
    
    
        int num;
        Scanner sc = new Scanner(System.in);
        do {
    
    
            num = sc.nextInt();
            System.out.println(decToBin(num));
        }while(num!=0);
    }
}

1.43

等寝室大佬写

package com.company;


import java.io.*;

class Species{
    
    
    static abstract  class Human{
    
    
        void eat(){
    
    
            System.out.println("Human eat");
        }
        void sleep(){
    
    
            System.out.println("Human sleep");
        }
    }

    interface Flyable{
    
    
        default void fly(){
    
    
            System.out.println("Flyable flies");
        }
    }
    interface Dreamable{
    
    
        default void dream(){
    
    
            System.out.println("Flyable flies");
        }
    }
    static class Superman extends Human implements Flyable{
    
    
        void eat() {
    
    
            System.out.println("Superman eats");
        }
        void sleep(){
    
    
            System.out.println("Superman sleeps");
        }
        public void fly(){
    
    
            System.out.println("Superman flies");
        }
        public String toString() {
    
    
            return "Superman is flying";
        }
    }

    static class Mortal extends Human implements Dreamable{
    
    
        void eat(){
    
    
            System.out.println("Mortal eats");
        }
        void sleep(){
    
    
            System.out.println("Mortal sleeps");
        }
        public void dream() {
    
    
            System.out.println("Mortal dreams");
        }
        public String toString(){
    
    
            return "Mortal is dreaming";
        }
    }

    static class Eagle implements Flyable{
    
    
        public void fly() {
    
    
            System.out.println("Eagle flies");
        }
        public String toString(){
    
    
            return "Eagle is about to fly";
        }
    }

}
public class Main {
    
    
    public static void main(String args[]) {
    
    
        PrintStream out = System.out;
        out.println(new Species.Mortal());
        Species.Flyable[] flies = {
    
    new Species.Superman(),new Species.Eagle()};
        for(Species.Flyable cur:flies){
    
    
            out.println(cur);
        }
    }

}



/// 星期六
/// 星期鈤
// 星期1
// 2 3 4

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/124910758