Day06测试

YangeIT大约 7 分钟

Day06测试

点击回到笔记 📒👈

测试目的

  1. 此次测试的目的是要通过测试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕,考完试后, 老师讲解的时候你要注意听!

那时候学会了, 记住了,也一样不影响你高薪就业!

本套题共26道选择题

其中单选15道,多选8道,分析题2道,代码题1道。

单选2分/题,多选3分/题,分析题15分/题,代码题16分/题。

1. 单选题(单选2分/题):🔡

1.1 如果有int n = 5941; 那么下面获取千位数正确的是()

A. n % 10

B. (n % 100) / 10

C. (n % 1000) / 100

D. n / 1000


1.2 下列选项中可以正确定义一个无参方法的是()

A. 
public static void method(){
	System.out.println("这是一个无参方法");
}
B. 
public static void method(int a){
	System.out.println("这是一个无参方法");
}
C. 
public static int method(){
	System.out.println("这是一个无参方法");
    return ;
}
D.
public static int method(){
	System.out.println("这是一个无参方法");
    return "0";
}

1.3 以下选项中随机数范围为10到80(包含10和80)的是()

A. 
Random r = new Random();
int num = r.nextInt(10)+80;
B. 
Random r = new Random();
int num = r.nextInt(10)+70;
C. 
Random r = new Random();
int num = r.nextInt(81)+10;
D. 
Random r = new Random();
int num = r.nextInt(71)+10;

1.4 执行下列代码,打印结果是()

int a = 8;
do{
    a++;
}while(a < 9);
System.out.println(a);

A. 7

B. 8

C. 9

D. 10


1.5 以下关于数据类型的转换,说法错误的是()

A. int a = 1; byte b =1; System.out.println(a+b);打印结果为2

B. int类型的数据转为double类型,需要强制转换

C. int 强制转换 short 去掉2个字节,可能会造成数据丢失

D. short h =1; h = h+1; 需要使用强制转换才能编译成功


1.6 下面哪个循环会导致死循环?()

A. for(int i = 0; i< 0; i++)
B. for(int i = 10; i > 0; i--)
C. for(int i = 0; i < 10; i--)
D. for(int i = 0; i > 0; i++)

1.7 下列关于方法定义说法错误的()

A. 定义在类中方法外

B. 返回值类型,必须要和renturn 语句返回的类型相同,否则编译失败

C. 必须是public类型的

D. 不能在return后面写代码,return意味着方法结束,所有后面的代码永远不会执行,属于无效代码


1.8 下面说法正确的是()

A. JVM就是Java虚拟机,包含java核心类库

B. JRE就是java运行环境,包含java程序编译运行的工具环境

C. JDK就是java开发环境,javac是其中的一个工具

D. 功能范围:JDK > JVM > JRE


1.9 在Java中,以下( )选项中的java命令能够将java源文件编译为字节码文件?

A. java

B. javaw

C. javac

D. jar


1.10 下面程序的运行结果()

public class 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. 2

B. 4

C. 6

D. 8


1.11 下面哪种类型的文件可以在java虚拟机中运行? ( )

A. .java

B. .jre

C. .exe

D. .class


1.12 下列函数中能和函数int max(int a, int b, double c)构成重载关系的是( )

A. double max(int a, int b, double c) 
B. void max(int a, double c, int b)
C. int max2(double a, int b)
D. int max(int x, int y, double z)  

1.13 给定java代码,如下:

public byte count(byte b1, byte b2){
  return ____;
}

要使这段代码能够编译成功,横线处可以填入( )

A. (byte)(b1-b2) 
B.  b1-b2
C. (byte)b1+b2
D. (byte)b1/b2

1.14 给定java代码,如下,编译运行,结果是()

public static void main(String[] args){
    boolean flag;
    System.out.println("flag="+flag);  
}

A. 编译错误

B. 编译通过,单出现运行时错误

C. 正常运行,输出flag=false

D. 正常运行,输出flag=


1.15 下面程序执行的结果是?()

public static void main(String[] args){
    int x=2,y=3;
    switch(x){
        default:
            y++;
        case 3:
            y++;
        case 4:
            y++;
    }
    System.out.println("y="+y); 
}

A. 3

B. 4

C. 5

D. 6


2. 多选题(多选3分/题):

2.1 关于随机数Random,一下说法正确的是()

A. 需要导入的是:import java.util.Scanner;

B. 创建一个Random对象,调用nextInt()方法,会生成一个随机数。

C. int nextInt(int x): 返回一个随机数,范围在0(包括)和指定值x(包括)之间的int值。

D. Random r = new Random(): 创建一个随机数对象。


2.2 下面关于Scanner的方法中说法正确的是()

A. Scanner的nextDouble()方法可以录入一个double类型的数字。

B. Scanner的nextInt()方法可以录入数字和字符。

C. Scanner的nextLine()方法会把整行字符串全部录入。

D. Scanner的nextLine()方法可以录入数字和字符,且都是字符串。


2.3 下面程序输出的结果是()

public class test{
	public static void main(String[] args){
        int x = 1,a = 0,b = 0;
        switch(x){
            case 0:
                b++;
            case 1:
                a++;
            case 2:
               	a++;
                b++;
        }
        System.out.println("a="+a);
        System.out.println("b="+b);
    }
}

A. a = 2

B. b = 1

C. a = 1

D. b = 2


2.4 当a=1,b=3,c=5,d=4时,关于下面代码说法正确的是()

public class test{
	public static void main(String[] args){
        int a = 1,b = 3,c = 5, d = 4,x;
        if(a < b){
            if(c < d){
                x = 1;
            }else if(a < c){
                if(b > d){
                    x = 2;
                }else {
                    x = 3;
                }
            }else{
                x = 6;
            }
        }else{
            x = 7;
        }
	}
}

A. 因a<b为true,所以会执行if(c<d)

B. 代码执行后结果为x=2

C. 但c<d为true,故执行if(a<c)

D. 代码执行后结果为x=3


2.5 以下方法在main方法中调用正确的有()

public class test{
	public static void main(String[] args){
    }
    public static void fun1(){
        System.out.println("this is fun1");
    }
	public static String fun2(){
        return "this is fun2";
    }
}
A. fun1();
B. System.out.println(fun1());
C. String str = fun2();
D. System.out.println(fun2());

2.6 关于运算符说法正确的有()

A. && 短路与,符号左边是false,右边不再运算

B. + 可以用来做加法运算,也可以当连接符

C. % 表示取整,/ 表示取余

D. i++ 就是先变量参与操作,之后变量做自增, ++i 先变量做自增,之后变量参与操作


2.7 下面关于循环描述正确的是()

A. while循环先判断循环条件,后执行循环操作

B. while 至少会执行一次

C. do-while先进行循环条件判断,后执行循环操作

D. do-while循环至少执行一次,后进行循环判断


2.8 若只能修改一处,想要输出结果为0,可以对哪一步进行修改()

public static void main(String[] args){
    int[] arr = new int[1];    // 1
    arr[0] = 3;                // 2
    System.out.println(arr[1]);  //3
}
A. 2 处修改为 arr[3] = 0
B. 3 处修改为System.out.println(arr[0]-3);
C. 1 处修改为 int[] arr = new int[2];
D. 2 处修改为 arr[1] = 0

3. 分析题(分析题15分/题):

3.1 第一题:下面图片中共有4处错误,每个红框标出的代码中均存在一处错误,请找出具体的错误,并给出修改方案。

答案格式要求:

  • 错误代码行号,修改后的正确代码

    例如:15,int[] arr = new int[5];

数组分析题-1
数组分析题-1

回答

代码写在Idea中


3.2 第二题:下面图片中共有5出错误,每个红框标出的代码中均存在一处错误,请找出具体的错误,并给出修改方案。

​ 答案格式要求:

  • 错误代码行号,修改后的正确代码

    例如:15,int[] arr = new int[5];

回答

代码写在Idea中


4. 代码题(代码题16分/题):

4.1 随机生成7个12-99之间的整数存入到数组arr中,利用键盘录入一个1-10之间的数num,要求统计出数组arr中有多少个元素是num的倍数,打印输出最后的结果。

例如:

​ 数组:{12,55,35,50,66}

​ 录入数字:num = 5

​ 数组中5的倍数的个数:3

回答

代码写在Idea中