mooc课程 java 期末考试试卷

更新时间:2023-08-20 12:04:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2.1 数据类型已完成

1

以下标识符中( )是不合法的。

A、_small B、Big C、$12ab D、7hello

我的答案:C错误

2

JAVA语言使用的字符集是( )。

A、ASCII B、EBCDIC C、Unicode D、BCD

我的答案:C

3

下面赋值语句不会产生编译错误或警告的是( )。

A、char a= abc ; B、byte b=145; C、float c=3.14; D、int i=12;

我的答案:A错误

4

下面数据类型转换中,必须进行强制类型转换的是( )。

A、byte-int;

B、C、short-float; D、float-double;

我的答案:B

5

下列数组定义及赋值,错误的是( )。

A、int a[]={1,2,3}; B、int a[]; C、a=new int[3]; a[1]=1; a[2]=2; a[3]=3; D、int a[][]=new int[3][]; a[0]=new int[2]; a[1]=new int[2]; a[2]=new int[2];

我的答案:D错误

2.3 控制语句已完成

1

JAVA语言中控制结构包括( )。

A、顺序结构、选择结构、循环结构 B、顺序结构、循环结构 C、顺序结构、选择结构 D、选择结构、循环结构

我的答案:A

2

当下面程序输出”第2区域时”时,x的范围为( )。

if(x<-100){System.out.println(“第1区域”);}

else if(x<0){System.out.println(“第2区域”);}

else {System.out.println(“第3区域”);}

A、x<=-100

B、C、x<0 && x>=-100 D、x>=0

我的答案:C

3

下面程序的运行结果为( )。

int i;

for(i=0;i<4;i++){

switch(i){

case 1:System.out.print(“1”);

case 2:System.out.print(“2”);break;

default:System.out.print(“0”);

}

}

A、12 B、01220 C、0120 D、120

我的答案:B

4

下列语句执行后,i、j的值是( )。

int i=0,j=10;

do{ if(i++>--j) break;}

while(true);

A、i=6,j=4 B、i=6,j=5 C、i=5,j=5

D、i=5,j=4 我的答案:A

5

下列语句执行后,j的值是( )。

int j=0,i=3;

while(--i>0)

j+=j-=i;

A、0 B、5 C、-5 D、-17

我的答案:C

6

下列语句执行后,c的值是( )。

char c;

for(c='z';c<'a';c-=4){

if(c<='o') break;

}

A、 z B、 n C、 m D、 p

我的答案:A

2.2 运算符已完成

1

执行下面程序后,结论正确的是( )。

intx,y,z;

x=1;

y=2;

z=(++x+y++==5?y+x--:--y+x);

A、x的值为1,y的值为3,z的值为5 B、x的值为2,y的值为2,z的值为5 C、x的值为1,y的值为3,z的值为4 D、x的值为2,y的值为2,z的值为4

我的答案:D

2

设各个变量的定义如下:( )选项的值为true。

int a=1,b=1;

boolean flag=a!=b++;

A、a++==b; B、!(++a==b); C、(++a==b) || flag; D、(++a==b) && flag;

我的答案:D 错误

3

若a是int型变量,表达式a=(int)(25.8/3%3);执行后a的值为( )。

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

我的答案:B

类的基础知识已完成

1

下列哪个类声明是正确的

A、abstract final class H1{…} B、abstract private move(){…} C、protected private number; D、public abstract class Car{…}

我的答案:D

2

符合对象和类的关系的是:

A、人和老虎 B、书和汽车 C、楼和建筑物 D、汽车和交通工具

我的答案:D

3

下面关于java中类的说法哪个是不正确的

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造函数是类中的特殊方法 C、类一定要声明为public的,才可以执行。 D、一个java文件中可以有多个class定义。

我的答案:C 错误

4

下面哪个单词是Java语言的关键字

A、Float B、this C、string D、unsigned

我的答案:B

5

Java编程所必须的默认引用包为

A、java.sys包 B、ng包 C、包 D、以上都不是

我的答案:错误

6

java应用在消费电子市场上开发平台名称为:

A、JDK B、J2ME C、J2SE D、J2EE

我的答案:B

7

以下哪个是JAVA的关键字?

A、NULL B、new C、instanceOf D、wend

我的答案:B

8

下面哪个是Java语言中正确的标识符

A、3com B、import C、that D、this

我的答案:C

9

在Java中函数main()的返回值是:()

A、String B、int C、char

D、void

我的答案:D

10

数组中可以包含什么类型的元素?

A、int型 B、string型 C、数组 D、以上都可以

我的答案:D

类的初始化已完成

1

构造方法何时被调用

A、类定义时 B、创建对象时 C、调用对象方法时 D、使用对象的变量时

我的答案:B

2

构造方法在————时被调用?

A、类定义时 B、创建对象时 C、调用对象方法时 D、使用对象的变量时

我的答案:B

3

认真阅读代码,选择正确的选项

public class MyClass {

public static void main(String arguments[]) {

amethod(arguments);

}

public void amethod(String[] arguments) {

System.out.println(arguments);

System.out.println(arguments[1]);

}

}

A、这段代码是错误的,main方法不能接受字符串参数 B、这段代码是错误的,amethod方法中的字符串数组尚未初始化 C、这段代码是错误的,main方法不能调用实例方法 D、这段代码是正确的

我的答案:C

4

Java应用程序经过编译后会产生一个以______为扩展名的字节码文件。

A、.java B、.class C、.exe D、.html

我的答案:B

5

在Java中,一个类可以同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )

A、隐藏 B、覆盖 C、重载 D、Java不支持此特性

我的答案:C

6

编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为

A、.java B、.class C、.html D、.exe

我的答案:B

7

下面关于构造函数的说法不正确的是

A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。 B、构造函数不可以重载。 C、构造函数没有返回值。 D、构造函数一定要和类名相同

我的答案:B

8

命令javac -verbose 中选项的作用是:

A、显示JVM加载class的过程 B、显示JVM的版本 C、显示JVM调用内存的情况 D、显示JVM的错误跟踪过程

我的答案:A

9

在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。

A、import java.awt.* B、import java.applet.Applet C、import java.io.* D、import java.awt.Graphics

我的答案:C

10

给出类的定义如下:

1.class Test(int i)

{

void test(int i){

System.out.println(“I am an int.”);

}

void test(String s){

System.out.println(“I am a string.”);}

public static void main(String args[])

{

Test t=new Test();

char ch=“y”;

t.test(ch); }

}

下列描述哪个正确?

A、程序将不会编译,因为空的方法不能被覆盖。 B、命令行t.test(ch);将不会编译,因为没有对应的方法。 C、代码将编译并输出以下结果: I am an String. D、代码将编译并输出以下结果: I am a int.

我的答案:D 错误

11

编译及运行以下代码,下列选项哪个是正确的

public class Sandys{

private int court;

public static void main(String argv[]){

Sandys s = new Sandys(99);

System.out.println(s.court);

}

Sandys(int ballcount){

court=ballcount;

}

}

A、编译错误:the variable court is defined as private B、编译错误:s is not initialized when the System.out method is called C、编译通过,没有输出 D、编译通过,输出99

我的答案:D

方法与变量使用已完成

1

关于static修饰符,以下哪个选项是正确的。

A、被static修饰符修饰的成员变量不能被修改。 B、在方法中创建的static变量,每次方法调用中对它的值做的修改都不能保留下来。 C、一个类的所有类对象共享这个类的static变量。 D、static修饰符只能用于修饰基本类型变量。

我的答案:C

2

方法内的变量:

A、一定在方法内所有位置可见 B、可能在方法内的局部可见 C、可以在方法外可见 D、方法外也可用

我的答案:B 错误

3

给出如下代码:

class Test{

private int m;

public static void fun(){ // some code... } }

如何使成员变量m 被函数fun()直接访问?

A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m

我的答案:C

4

类JOptionPane提供了几个产生标准对话框的方法,它们能够给用户提供有用的信息,具体的有:

A、closeDialog() B、openDialog() C、inputDialog() D、outputDialog()

我的答案:D 错误

5

运行下列程序,会产生什么结果:

class Outer1{

private int a;

void foo(double d,final float f){

String s;

final boolean b;

class Inner{

void methodInner(){

System.out.println(“in the Inner“);

}

}

}

public static void main(String args[])

{

Outer1 me=new Outer1();

me.foo(123,123);

System.out.println(“outer“);

}

}

A、in the Inner outer B、outer C、in the Inner D、编译不通过

我的答案:B

6

编译及运行以下代码,下列选项哪个是正确的

public class Ref{

public static void main(String argv[]){

Ref r = new Ref();

r.amethod(r);

}

public void amethod(Ref r){

int i=99;

multi(r);

System.out.println(i);

}

public void multi(Ref r){

r.i = r.i*2;

}

}

A、编译错误 B、输出99 C、输出198 D、运行时出错

我的答案:A

访问权限练习已完成

1

如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词

A、

public

B、private C、protected D、transient

我的答案:A

2

不允许作为类及类成员的访问控制符的是:

A、public B、private C、static D、protected

我的答案:B 错误

3

下面哪个修饰符修饰的方法只能被本类中的其他方法使用

A、protected B、static

C、private D、public

我的答案:C

4

如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?

A、private B、public C、protected D、no modifier

我的答案:C 错误

5

某个类的成员变量可以被其子类访问,但不能被其他包中的类访问,该如何定义?

A、变量应该用public 做修饰。 B、变量应该用private做修饰。 C、变量应该用protected做修饰。 D、变量不需做任何修饰。

我的答案:C

6

关于被私有保护访问控制符private、 protected修饰的成员变量,以下说法正确的是( )

A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B、可以被两种类访问和引用:该类本身、该类的所有子类 C、只能被该类自身所访问和修改 D、只能被同一个包中的类访问

我的答案:C 错误

7

this关键字指的是?

A、当前对象指针 B、当前类的实例对象 C、当前对象引用 D、当前类的方法

嵌套类练习已完成

1

考虑类A:

public class A{

public int x=1;

public void increaseBy(int n)

{ x=x+n; } }

以下哪个选项输出结果不会产生4?

A、A a = new A();a.x = 3 + a.x;System.out.print(a.x); B、A a = new A();a.increaseBy(2);a.increaseBy(1);System.out.print(a.x); C、

A a = new A(){public void increaseBy (int n) {super.increaseBy(n);}};a.increaseBy(4);System.out.print(a.x);

D、A a = new A();a.increaseBy(3);System.out.print(a.x);

我的答案:C

包的应用已完成

1

以下哪几段代码可以成功编译?()

1)

import java.awt.*;

package Mypackage;

class Myclass {}

2)

package MyPackage;

import java.awt.*;

class MyClass{}

3)

/*This is a comment */

package MyPackage;

import java.awt.*;

class MyClass{}

A、1)和2) B、2)和3) C、1)和3) D、1)、2)和3)

我的答案:B

2

创建一个名为 MyPackage 的包的语句正确的是______。

A、import MyPackage ; B、import package MyPackage ; C、package MyPackage ; D、package import MyPackage ;

我的答案:C

继承基本概念练习已完成

1

下列关于继承的哪项叙述是正确的_______。

A、在java中允许多重继承 B、在java中一个类只能实现一个接口

C、在java中一个类不能同时继承一个类和实现一个接口

D、java的单一继承使代码更可靠

我的答案:D

2

给出下面代码:

1) class Parent {

2} private String name;

3} public Parent(){}

4} }

5) public class Child extends Parent {

6} private String department;

7} public Child() {}

8} public String getValue(){ return name;

9} public static void main(String arg[]) {

10} Parent p = new Parent();

11} }

12} }

那些行将引起错误?

A、第3行

B、第6行

C、第7行

D、第8行

我的答案:D

3

设有下面两个类的定义:

class Person {

class Student extends Person }

{

long id; // 身份证号

int score; //入学总分

String name; // 姓名

int getScore

() { return score; }

}

}

问:类Person和类Student的关系是( )。

A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误

我的答案:D 错误

4

构造方法不能被继承。

我的答案:√

5

一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值类型。 我的答案:√ 错误

方法和成员变量练习已完成

1

看下面一段程序:

class Aclass{

void go(){

System.out.println(“Aclass“);

}

}

public class Bclass extends Aclass{

void go{

System.out.println(“Bclass“);

}

public static void main(String args[]){

Aclass a=new Aclass();

Aclass a1=new Bclass();

a.go();

a1.go();

}

以上程序运行结果是:

A、Aclass Aclass B、Bclass Bclass C、Aclass Bclass D、Bclass Aclass

我的答案:C

2

在Java中,以下关于方法重载和方法重定义描述正确的是?

A、方法重载和方法的重定义实现的功能相同 B、方法重载出现在父子关系中,方法重定义是在同一类中 C、方法重载的返回值类型必须一致,参数项必须不同 D、方法重定义的返回值类型必须相同或相容。

本文来源:https://www.bwwdw.com/article/zv3j.html

Top