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语句中的方法体,无论无何都会先运行一遍。
版权声明:本文标题:Java基础教程考试题目 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710256051a564690.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论