admin 管理员组

文章数量: 1184232


2024年3月12日发(作者:小程序怎么发布)

Java基础教程考试题目

单选题

1、

下列选项中,属于字符常量的是( )

2分

A、"a"

B、'ab'

C、'1'

D、1

参考答案 :

C

答案说明 :

字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是

英文字母、数字、标点符号、以及由转义序列来表示的特殊字符,如’a’。

2、

下列选项中,哪一个是多行注释符号( )

2分

A、//**//

B、/*/*

C、//

D、/**/

参考答案 :

D

答案说明 :

/* */ 表示多行注释,以“/*”起始,以“*/”结束。

3、

下列异常声明中,正确的是( )

2分

A、publicvoidthrowsIOExceptionfun(){}

B、publicvoidfunthrowsIOException(){}

C、publicvoidfun()throwsIOException{}

D、publicvoidfun()throwsIOException,throwsSQLException{}

参考答案 :

C

答案说明 :

throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做

法称为方法声明抛出一个异常。

4、

以下关于成员属性与成员方法的描述中,错误的是( )

2分

A、成员属性我们也叫成员变量,它就是描述对象的特征。它可以定义在类中,也可以定义

在方法中

B、成员方法用于描述对象的行为

C、在类中定义的变量,我们称为成员变量

D、在类中定义的方法,我们称变成员方法

参考答案 :

A

答案说明 :

类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用

于描述对象的行为,可简称为方法。定义在类中的变量被称为成员变量,定义在方法中的变量被称为

局部变量。

5、

关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的( )

2分

A、1234

B、1000

C、1234.0

D、以上都不对

参考答案 :

B

答案说明 :

Java中,整数之间相除,会忽略小数部分,得到的结果还是整型数据。

6、

请阅读下面的程序

public class Example03 {

public static void main(String[] args) {

int x = 3;

if (x > 5) {

n("a");

} else {

n("b");

}

}

}

程序的运行结果是()

2分

A、true

B、false

C、a

D、b

参考答案 :

D

答案说明 :

因为判断条件不成立3>5不成立,所以执行会执行else中的语句,输出b。

7、

关于final修饰成员变量说法正确的是()

2分

A、被final修饰的成员变量为常量

B、被final修饰的成员变量不能被继承

C、被final修饰的成员变量可以被多次赋值

D、final只能在接口中修饰成员变量

参考答案 :

A

答案说明 :

被final修饰的变量可以被继承,被final修饰的类不能被继承,被final修饰的变量为常量不能被

第二次赋值或改变引用。

8、

下列集合中,不属于Collection接口的子类的是( )

2分

A、ArrayList

B、LinkedList

C、TreeSet

D、Properties

参考答案 :

D

答案说明 :

Properties集合属于Map集合的子类。

9、

请阅读下面的程序。

Class WhileDemo5 {

public static void main(String[]

int n = 5;

while (n < 10) {

(n);

n++;

}

}

}

下列选项中,哪一个是程序运行的结果(

2分

args) {

A、无输出

B、输出56789

C、死循环

D、编译错误

参考答案 :

B

答案说明 :

while条件为true,循环体执行,每执行一次输出n的值,并且n递增。

10、

请定义一个由public修饰符修饰的int型成员变量MAX_LENGTH,并使该值保持为常数100,

则定义这个变量的语句是()

2分

A、publicintMAX_LENGTH=100

B、publicconstintMAX_LENGTH=100

C、finalintMAX_LENGTH=100

D、publicfinalintMAX_LENGTH=100

参考答案 :

D

答案说明 :

应题目的要求,需要将该值保持为常数,那么就需要使用关键字final,所以选择D,const是java的

保留关键字,在java中使用final定义常量。

11、

下面选项中,完全面向对象的编程语言是( )

2分

A、C

B、COBOL

C、JAVA

D、FORTRAN

参考答案 :

C

答案说明 :

Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面

向对象程序设计语言。

12、

以下语法格式中,哪一个是三元运算符的语法格式( )

2分

A、表达式1:表达式2?表达式3

B、表达式1?表达式2:表达式3

C、表达式1:表达式2:表达式3

D、以上答案都不对

参考答案 :

B

答案说明 :

三元运算符语法格式:

表达式1?表达式2:表达式3;

13、

阅读下段代码,

class Dog

{

public String name;

Dog(String name){

=name;

}

}

public class Demo1

{

public static void main(String[] args){

Dog dog1 = new Dog("xiaohuang");

Dog dog2 = new Dog("xiaohuang");

String s1 = ng();

String s2 = ng();

String s3 = "xiaohuang";

String s4 = "xiaohuang";

}

}

返回值为true的是( )

2分

A、(dog2)

B、(s2)

C、(s4)

D、dog1==dog2

参考答案 :

C

答案说明 :

选项A比较的是两个对象的地址,结果为false,选项B比较的是dog1和dog2对象的to String()

值,结果为false,选项C,比较的是内容,内容相同,所以为true,选项D比较的是dog1和dog2对

象的地址,结果为false。

14、

class MyException extends (1) {

}

public class Demo {

public static void main(String[] args) {

try {

show();

} catch ( (2) e) {

tackTrace();

}

}

public static void show() (3) MyException {

throw new MyException();

}

以上程序,创建了一个自定义异常(编译异常),请补全空白处代码(

2分

A、(1)Exception(2)MyException(3)throws

B、(1)MyException(2)Exception(3)throws

C、(1)Exception(2)Exception(3)throws

D、(1)Exception(2)MyException(3)Exception

参考答案 :

A

答案说明 :

自定义的异常类继承自Exception或其子类。Throws用于抛出异常。

15、

下列方法中可以用于往HashSet集合中添加元素的是( )

2分

A、add(Ee)

B、contains(Objecto)

C、clear()

D、iterator()

参考答案 :

A

答案说明 :

用于往集合中添加元素的方法是add(E e)。

contains(Object o)方法用于判断set集合中是否包含指定的元素,

clear()方法移除此set集合中的所有元素,

iterator()方法用于获取在此 set 中的元素上进行迭代的迭代器。

16、

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

2分

A、user

B、$inner

C、class

D、login_1

参考答案 :

C

答案说明 :

class为java中的关键字。

17、

阅读下列的程序

class Person{

static{

n(name);

}

private static String name = "hello";

}

class Demo{

public static void main(String[] args){

Person p = null;

}

}

下列选项中,程序的运行结果是()

2分

A、无结果输出

B、输出null

C、输出hello

D、编译失败

参考答案 :

D

答案说明 :

编译失败,静态成员按照编写顺序加载。

18、

100属于下列哪种类型的常量( )

2分

A、布尔类型

B、字符类型

C、整数类型

D、浮点类型

参考答案 :

C

答案说明 :

100属于整数类型的常量。

19、

请阅读下面的程序片段

int x = 3;

if (x > 5) {

("a");

} else {

("b");

}

下列选项中,哪个是程序的运行结果( )

2分

A、a

B、b

C、ab

D、编译错误

参考答案 :

B

答案说明 :

if语句中的判断条件成立时,会执行if语句中的内容,否则会执行else语句中的内容。

20、

下列关于集合的描述中,哪一个是错误的( )

2分

A、集合按照存储结构可以分为单列集合Collection和双列集合Map。

B、List集合的特点是元素有序、元素可重复。

C、Set集合的特点是元素无序并且不可重复。

D、集合存储的对象必须是基本数据类型。

参考答案 :

D

答案说明 :

集合可以存储多种数据类型的数据,包括引用数据类型。

21、

Java语言中,集合类都位于哪个包中( )

2分

A、

B、

C、

D、tions

参考答案 :

A

答案说明 :

集合类都位于包中。

22、

while语句的循环体中不能包含的语句是( )

2分

A、while语句

B、方法定义语句

C、if语句

D、switch语句

参考答案 :

B

答案说明 :

while循环体中可以嵌套其它循环语句以及条件判断语句,但不能包含方法定义语句。

23、

下列关于类与对象的说法中,错误的是( )

2分

A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

B、对象是类的实例化。

C、类用于描述多个对象的共同特征,它是对象的模板。

D、类与对象没有什么实际关系。

参考答案 :

D

答案说明 :

对象是通过类来创建的。

24、

下列关于类与对象的说法中,正确的是( )

2分

A、类可以看做是一个模型,可以直接拿来创建对象。

B、类在Java中是一个可有可无的概念。

C、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

D、以上说法都不对。

参考答案 :

C

答案说明 :

类是对某一类事物的抽象描述,而对象则是该类事物的个体。

25、

假设x为int类型,那么下列选项中可以作为if语句的判断条件的是(

2分

A、x=4

B、x&3

C、x++

D、x<10

参考答案 :

D

答案说明 :

if判断条件只能是布尔值,上述选项中,只有x<10这个表达式的值是布尔值。

多选题

26、

下面选项中,属于逻辑运算符的是( )

2分

A、&&

B、||

C、^

D、~

参考答案 :

A,B,C

答案说明 :

逻辑运算符包括&、|、^、!、&&、||,不包括~,~是位运算符。

27、

下列基本类型与包装类的对应关系中,正确的是( )

2分

A、int->Integer

B、float->Float

C、char->Character

D、boolean->boolean

参考答案 :

A,B,C

答案说明 :

除了Integer和Character类,其它包装类的名称和基本数据类型的名称一致,只是类名的第一个字

母大写即可。D选项的包装类型首字母应该大写才对。

28、

下列关于静态代码块的描述中,正确的是( )

2分

A、静态代码块指的是被static关键字修饰的代码块

B、静态代码块随着类的加载而加载

C、使用静态代码块可以实现类的初始化

D、每次创建对象时,类中的静态代码块都会被执行一次

参考答案 :

A,B,C

答案说明 :

静态代码块中的代码只会给执行一次。

29、

下列选项中,哪个是子类重写父类方法时,必须与父类方法一致的()

2分

A、返回值类型

B、修饰符

C、函数名

D、参数列表

参考答案 :

A,C,D

答案说明 :

子类在重写父类方法时,要求子类方法的返回值类型、函数名和参数列表必须与父类方法一致。

30、

下列关于方法重载的说法中,正确的是( )

2分

A、方法名相同,参数个数不同可以形成方法重载。

B、方法名相同,参数的类型不同可以形成方法重载。

C、方法名相同,参数的类型排列顺序不同可以形成方法重载。

D、方法名相同,返回值类型不同,可以形成方法重载。

参考答案 :

A,B,C

答案说明 :

方法重载与返回值无关,只要方法名与类名相同,参数列表不相同就可以构成重载。这里所说的参数

列表就是指参数个数、参数类型、参数排列顺序不同。

31、

下列关于使用Javac命令编译后生成文件的说法中,正确的是( )

2分

A、编译后生成文件的后缀名为.class

B、编译后生成文件的后缀名为.java

C、编译后生成的文件为二进制文件

D、编译后生成的文件可以在Java虚拟机中运行

参考答案 :

A,C,D

答案说明 :

使用Javac命令编译后生成的文件是二进制文件,后缀名为.class。

32、

关于下列ArrayList类的方法,是从List接口中继承而来的是( )

2分

A、toArray()

B、clone()

C、set()

D、add()

参考答案 :

A,C,D

答案说明 :

clone()方法返回此 ArrayList 实例的副本而不是本身。

33、

下列选项中,可以正确创建一个字符串的是( )

2分

A、String s = "itcast";

B、String s = new String("itcast");

C、String s = new String(new char[] {'i','t','c','a','s','t'});

D、String s = new String(new int[]{1,2,3});

参考答案 :

A,B,C

答案说明 :

使用int类型数组创建字符串,需要初始偏移量和长度两个参数。

34、

下列选项中,关于类的继承说法正确的是( )

2分

A、一个类只能有一个直接父类

B、多个类可以继承一个父类

C、一个类的父类可以再去继承另外的一个类

D、一个类可以有多个直接父类

参考答案 :

A,B,C

答案说明 :

一个类只能有一个直接父类,多个类可以继承一个父类,一个类的父类可以再去继承另外的父类。

35、

下列数据类型中,哪些类型的数据是Random对象能够随机生成的( )

2分

A、int

B、string

C、double

D、float

参考答案 :

A,C,D

答案说明 :

Random实例对象,能够生成:boolean、double、float、int、long类型的随机数。

判断题

36、

代码int[][] arr = new int[3][4]可以正确的定义一个二维数组。

1分

参考答案 :

答案说明 :

题中的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,每个二维数组中的元素又是一

个长度为4的数组。

37、

面向对象的特点主要可以概括为封装性、继承性和重载性。

1分

参考答案 :

答案说明 :

面向对象的特点主要可以概括为封装性、继承性和多态性。

38、

List集合可以使用ListIterator接口中的方法进行元素的反向迭代。

1分

参考答案 :

答案说明 :

ListIterator中提供了hasPrevious()方法和previous()方法,通过这两个方法可以实现反向迭代元

素。

39、

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

1分

参考答案 :

答案说明 :

continue语句表示终止本次循环,执行下一次循环。

40、

定义在类中的变量叫成员变量,定义在方法中的变量叫局部变量。

1分

参考答案 :

答案说明 :

在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。

填空题

41、

在字符常量中,反斜杠被称为。

2分

参考答案 :

【转义字符】

答案说明 :

在字符常量中,反斜杠()是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。

如n,r,t等都是。

42、

Java中的所有类,都直接或者间接的自Object类。

2分

参考答案 :

【继承】

答案说明 :

Object类,它是所有类的父类,即每个类都直接或间接继承自该类。

43、

Hashtable类有一个子类,主要用来存储字符串类型的键和值。

2分

参考答案 :

【Properties】

答案说明 :

Hashtable类有一个子类Properties在实际应用中非常重要,Properties主要用来存储字符串类型的

键和值。

44、

在类中定义的用于描述对象的行为。

2分

参考答案 :

【方法】

答案说明 :

类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用

于描述对象的行为,可简称为方法。

45、

定义一个抽象类的关键字是。

2分

参考答案 :

【abstract】

答案说明 :

Abstract是定义抽象类的固定修饰符。

简答题

46、

请编写一个Person类,该类有一个成员变量name,请提供无参构造方法,以及带参构造

方法对name变量进行赋值。

5分

我的答案:

class Person {

String name;

public Person(){

name = "ligao";

n(name);

}

public Person(String name){

= name;

}

}

参考答案 :

class Person {

String name;

public Person() {

}

public Person(String n) {

name = n;

}

}

答案说明 :

Person类的无参和有参构造方法构成重载,在有参的构造方法中为全局变量name赋值。

47、

有一个二维数组int[][] arr={{1,2,3},{4,5,6},{7,8,9}};使用foreach对数组进行遍

历,将结果打印到控制台上,输出的结果。

5分

我的答案:

package ligao;

import .*;

class Person{

public static void main(String[] args){

int[][] arr={{1,2,3},{4,5,6},{7,8,9}};

for (int[] is : arr) {

n(arr);

}

}

}

参考答案 :

public class Demo {

public static void main(String[] args) {

int[][] arr={{1","2","3}","{4","5","6}","{7","8","9}};

for(int[] oneArr:arr){

for(int n:oneArr){

(n+" ");

}

n();

}

}

}

答案说明 :

首先使用foreach对二维数组进行遍历,然后再使用foreach对数组中的元素进行遍历,输出结果。

48、

使用do…while循环语句计算正数5的阶乘。

5分

我的答案:

package ligao;

public class LiGao {

public static void main(String[] args){

int x =1;

do{

n(x=x*5);

}while (x>=1){

n(x=x*5);

x++;

}

}

}

参考答案 :

public class Test {

public static void main(String[] args) {

int i = 1;

long sum = 1;

do {

sum *= i;

i++;

} while (i <= 5);

n(sum);

}

}

答案说明 :

注意do…while语句中的方法体,无论无何都会先运行一遍。


本文标签: 方法 成员 变量 对象 类型