资源描述
04班月考 试卷分析
考试时间:2016-04-01 14:05~16:05
考试班级:XSHJ5ZXDZ00000210201
题干
关于Java中类和对象,下面选项中说法错误的是( )。
题型
选择题
图片
A
类是具有相同属性和共同行为的一组对象的集合
B
对象定义了一个概念模型,类是真实的实体
C
对象拥有的特征对应类的属性,对象执行的操作对应类的方法
D
对象的特征和行为被封装在类中,不可分割
标准答案
b
技能点
理解类和对象的概念
正确率
0%
题干
在Java中,下列关于类的描述,正确的是 ()
题型
选择题
图片
A
在同一个class中,不允许声明两个重名(同名)的全局变量和局部变量。
B
在两个方法中,不能声明重名(同名)的局部变量。
C
构造方法必须和类名相同,并且不能有返回值。
D
定义一个类时,必须写构造方法。
标准答案
c
技能点
掌握类的创建方式
正确率
0%
题干
在Java中,以下变量命名正确的是( )。
题型
选择题
图片
A
string
B
void
C
_&c
D
_name
标准答案
ad
技能点
掌握Java命名规则
试题解析
本题考察Java命名规则,不能为关键字,$ 、字母、下划线开头都行,后面的可以是数字、字母、下划线、$,void为关键字,string不是关键字,C中有&不可以,所以正确答案为AD
正确率
0%
题干
以下Java中的数据类型属于引用数据类型的是( )。
题型
选择题
图片
A
int
B
double
C
String
D
char
标准答案
c
技能点
掌握数据类型的分类
正确率
0%
题干
开发Java程序有三个步骤:编写源程序、编译、运行,其中( )会产生后缀名是.class 的文件
题型
选择题
图片
A
编写源程序
B
编译
C
运行
D
Java程序不会产生.class文件
标准答案
b
技能点
掌握基本的Java程序开发过程
正确率
0%
题干
在Java中,使用Eclipse进行代码调试时,步骤顺序为
①设置断点
②启动调试
③跟踪程序,观察变量变化
④单步调试执行
题型
选择题
图片
A
①②④③
B
②①③④
C
①②③④
D
④③②①
标准答案
a
技能点
使用MyEclipse调试解决简单的程序问题
正确率
0%
题干
在Java中,下列数据类型转换错误的是( )。
题型
选择题
图片
A
int i = (int)34.3;
B
int i = (int)(2/3);
C
int i = (int)"a";
D
char a = (char)3;
标准答案
c
技能点
能够实现不同数据类型之间的转换
正确率
0%
题干
编译运行如下Java代码,输出结果是()。
class Animal{
public void run(){
System.out.print ("动物在跑");
}
}
class bird extends Animal {
public void fly(){
System.out.print ("小鸟在飞");
}
public void run(){
System.out.print ("小鸟在地上跑");
}
}
class Test {
public static void main(String[] args) {
Animal al= new bird ();
al.run();
}
}
题型
选择题
图片
A
动物在跑
B
小鸟在飞
C
小鸟在地上跑
D
编译出错
标准答案
c
技能点
多态的概念、实现条件、好处
正确率
0%
题干
在Java中,关于在类中导入包的理解错误的是( )。
题型
选择题
图片
A
导入包即声明在当前类中要使用到的别的类所处的位置
B
使用import关键字导入包
C
既可以导入系统提供的包又可以导入用户自定义的包
D
导入包的语句可以写在Java类定义的任何位置
标准答案
d
技能点
理解包的概念和作用
正确率
0%
题干
在Java中,以下程序的运行结果是( )。
class Person{
public String name;
}
class Test1 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
}
}
题型
选择题
图片
A
输出:null
B
正常运行,但不会输出任何内容
C
编译出错,不能运行
D
能运行,但运行时会出现异常
标准答案
a
技能点
封装的作用、步骤
试题解析
正确答案为A。因此创建Person对象后没有给它的属性name赋值,它的默认值为null,因此输出为null。
正确率
0%
题干
在Java中,下列关于this的说法错误的选项是( )。
题型
选择题
图片
A
在构造方法中如果使用this调用其他构造方法,只能是第一条语句
B
在类方法中this要求是第一条语句
C
在实例方法中this不要求是第一条语句
D
可以使用“this.方法名()”或“this.属性名”来引用当前对象的成员
标准答案
b
技能点
掌握this关键字的用法
正确率
0%
题干
在Java中,面向对象的优点说法错误的是( )。
题型
选择题
图片
A
能够使用类来模拟现实世界中实体的特征和行为
B
对象的行为和属性被封装在类中
C
使用对象的时候,首先必须知道对象内部的实现细节
D
可以将类理解为模板,利用类可以创建多个类的对象
标准答案
c
技能点
理解对象的属性和方法
正确率
0%
题干
以下关于Java中的接口,说法错误的是( )。
题型
选择题
图片
A
接口中所有方法都是抽象方法
B
接口中可以定义常量和变量
C
一个接口可以继承多个接口,但不能继承类
D
接口不能实例化,也不能有构造方法
标准答案
b
技能点
接口语法及其使用
试题解析
b错误,接口里只能定义静态常量。
在jdk8里a也是错误,但是在jdk8之前是对的,因为在jdk8里是可以有静态方法的实现的。
正确率
0%
题干
在Java中,以下关于继承描述错误的是( )。
题型
选择题
图片
A
继承是Java中实现代码重用的重要手段之一
B
Java中只支持单继承,每个类都是Object的子类
C
子类无法直接访问父类中由private修饰的属性和方法
D
子类可以继承父类的构造方法
标准答案
d
技能点
继承的语法及其好处
试题解析
该题考点为Java中继承的特点及使用。Java中使用extends实现继承,继承是实现代码重用的重要手段,因此A正确;Java中只支持单根继承,即一个类只能有一个直接父类,但是一个类可以有多个子类,Java中所有类都是Object的子类,因此B正确。父类的如下内容,子类是无法继承的:private修饰的成员、构造方法、子类与父类不在同包,使用默认访问权限的成员。因此答案C是正确的,而D是错误的
正确率
0%
题干
在Java中,假定在某个类中定义了如下方法,调用时可以使用()作为参数。
public String method(int i, String str ){
return (str + i);
}
题型
选择题
图片
A
1,1
B
1,"hello,world"
C
"Yohoo!","hello,world"
D
以上参数都正确
标准答案
b
技能点
掌握带参方法的定义及调用
正确率
0%
题干
在Java的类和对象中,下面的选项中,哪些项属于“汽车类”的属性( )。
题型
选择题
图片
A
品牌
B
刹车
C
价格
D
速度
标准答案
acd
技能点
理解类和对象的关系
试题解析
我们可以将类的特征定义为属性,行为定义为方法,在选项ACD中,都是汽车的特征,因此都可以作为其属性。选项B刹车为行为,并非特征,因此不可以定义为属性
正确率
0%
题干
在一个文件里面写如下代码,则此文件的文件名应该为( )。
class Student{}
public class Teacher{ }
题型
选择题
图片
A
Student.java
B
Student.class
C
Teacher.java
D
Teacher.class
标准答案
c
技能点
使用面向对象进行设计的步骤
试题解析
一个Java文件(.java)中可以包含多个类,但是只能包含一个公共类(public),这个公共类名与Java文件名要保持一致,因此正确答案为C
正确率
0%
题干
关于重写和重载的说法正确的是()
题型
选择题
图片
A
重载和重写都是涉及同一个类的同名方法,只是重载要求参数列表不同
B
重载方法不能缩小被重载方法的访问权限
C
重载要求参数列表不同,重写要求参数列表相同
D
重载要求返回值类型相同
标准答案
c
技能点
理解方法重载和重写的区别
试题解析
重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关;重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同。所以可知描述正确的是C选项。
正确率
0%
题干
在Java中,下划线处可以填入的正确代码是( )
public static void main(String[] args) {
int[] arr=new int[]{1,2,5,9,3,7};
System.out.println("对数据进行升序排序,并打印出来");
___①___
for(int i=0;i<arr.length;i++){
System.out.println(___②___);
}
}
题型
选择题
图片
A
①处:arr.sort();
②处:arr[i]
B
①处:arr.sort();
②处:arr[i+1]
C
①处:Arrays.sort(arr);
②处:arr[i]
D
①处:Arrays.sort(arr);
②处:arr[i+1]
标准答案
c
技能点
能够使用Arrays类实现对数组的操纵
正确率
0%
题干
关于构造方法,下列说法不正确的是:()。
题型
选择题
图片
A
构造方法名要跟类名一致
B
构造方法不能使用private来修饰
C
构造方法的作用是在创建对象时立即对其进行初始化
D
构造方法没有返回值
标准答案
b
技能点
理解构造方法的作用
试题解析
构造方法名必须和类名一致,并且没有返回值,构造方法是在创建对象时调用,对其进行初始化工作,构造方法一般使用public修饰,但在单例模式中,也可以使用private修饰,因此答案B是错误的
正确率
0%
题干
Java中,关于toString方法下面说法正确是()。
题型
选择题
图片
A
自定义的类中实现的toString是重写自Object类的
B
所有的对象都拥有toString方法
C
toString是String类的独有方法
D
若一个类有toString方法,System.out.print的时候一定要写明obj.toString()
标准答案
ab
技能点
了解Object类
试题解析
本题考查的是Object类的toString()方法的使用。所有的对象都是Object类的子类,因此都能够继承其toString()方法,可以在本类中根据需求重写toString()方法。在控制台输出时,可以直接写对象名,省略.toString()。如System.out.print(对象名)。
正确答案为AB。
正确率
0%
题干
以下关于Java中final关键字描述错误的是( )。
题型
选择题
图片
A
用final修饰的类,不能再被继承
B
用final修饰的方法,不能被子类重写
C
用final修饰的变量,将变成常量,只能赋值一次
D
用final修饰的构造方法,不能再被重载
标准答案
d
技能点
使用final关键字修饰变量、类和类的成员
试题解析
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
正确率
0%
题干
在Java中,以下( )标识符是不合法的。
题型
选择题
图片
A
IDoLikeTheLongNameClass
B
$byte
C
_ok
D
4_case
标准答案
d
技能点
掌握变量的声明及使用方法
正确率
0%
题干
如下的Java代码输出的结果是( )。
public static void main(String[] args) {
int i = 4;
do {
i++;
System.out.print(i);
} while (i < 7);
}
题型
选择题
图片
A
567
B
456
C
67
D
4567
标准答案
a
技能点
掌握基于do-while语句的流程控制
试题解析
本题考察do-while语句,do-while是先执行循环体后判断控件条件,从5开始到7结束,所以选择A
正确率
0%
题干
在Java中,以下关于接口和抽象类的说法不正确的是( )。
题型
选择题
图片
A
抽象类和接口中都可以定义抽象方法
B
抽象类也可以实现接口
C
接口可以继承接口,抽象类不可以继承抽象类
D
接口中只可以定义常量属性,但是抽象类中既可以定义常量属性也可以定义变量属性
标准答案
c
技能点
接口和抽象类的异同
试题解析
当父类为抽象类,子类不重写父类中的抽象方法是的时候,我们可以把子类页定义成抽象类,所以C选项是错误的。其他选择均正确
正确率
0%
题干
Java中,下列类型修饰符中修饰范围最大的是( )。
题型
选择题
图片
A
public
B
default
C
private
D
Protected
标准答案
a
技能点
修饰符private、默认、protected、public的访问权限
试题解析
本题考查访问修饰符的访问权限。public修饰的成员可以在任何处被访问,应选择A。
正确率
0%
题干
下列有关switch的说法,正确的是( )。
题型
选择题
图片
A
switch结构可以完全替代多重if结构
B
条件判断为等值判断,并且判断的条件为数组时,可以使用switch结构
C
条件判断为等值判断,并且判断的条件为字符时,可以使用switch结构
D
条件判断为等值判断,并且判断的条件为整型变量时,可以使用switch结构
标准答案
cd
技能点
掌握基于switch语句的流程控制
试题解析
switch语句中控制表达式的类型可以是byte、short、char、int(jdk7后,允许String)。它适用于等值判断,在等值判断时,可以替换if语句
正确率
0%
题干
阅读Java抽象类的代码,以下有( )处错误。
private abstract class Operation{
public final abstract int divide(int a,int b);
public abstract double add(double a,int b){
return a+b;
}
}
题型
选择题
图片
A
1
B
2
C
3
D
4
标准答案
c
技能点
抽象类和抽象方法的特点、应用
试题解析
三处错误,
抽象类不能使用私有访问修饰符修饰;
抽象方法不能使用final进行修饰;
抽象方法不能还有实现。
正确率
0%
题干
以下Java代码的输出结果为( )。
public abstract class Person {
public abstract void study();
}
class Chinese extends Person {
public void study(){
System.out.println("学汉语");
}
}
public class Test {
public static void main(String[] args) {
Person p1=new Chinese();
System.out.println(p1 instanceof Person);
System.out.println(p1 instanceof Chinese);
System.out.println(p1 instanceof Object);
}
}
题型
选择题
图片
A
true、true、false
B
true、false、false
C
true、false、true
D
true、true、true
标准答案
d
技能点
向上转型、向下转型、instanceof运算符
试题解析
正确答案为D。instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。Chinese类是Person类的子类,p1是Chinese类的实例对象,因此输出结果为D。
正确率
0%
题干
在Java中,使用static关键字可以修饰方法和属性,下面选项中关于静态方法描述正确的是( )。
题型
选择题
图片
A
在静态方法中不能直接调用非静态方法
B
在非静态方法中不能直接调用静态方法
C
使用类名可以直接调用非私有的静态方法
D
在静态方法中可以使用this关键字
标准答案
ac
技能点
能够使用static修饰类的成员
试题解析
b错误,在非静态方法中可以直接调用静态方法
d错误,静态方法不能使用this关键字
正确率
0%
题干
给定如下Java代码,下列横线处填入( )选项,可以实现divide()方法的重写,并且能够编译正确。
class Arithmetic{
public int divide(int a,int b){
return a/b;
}
}
public class Demo extends Arithmetic{
________________________________
}
题型
选择题
图片
A
private int divide(int a,int b){
return a/b+1;
}
B
public double divide(int a,int b){
return a/b+1;
}
C
public int divide(int a,int b){
return a/b+1;
}
D
public int divide(int a){
return a/b+1;
}
标准答案
c
技能点
在Java中实现方法重写
试题解析
a错误,重写,访问修饰符不能缩小
b错误,double不能自动转化成int类型,
d错误,重写,参数列表个数必须相同。
正确率
0%
题干
Java中,以下返回true的表达式有()。
题型
选择题
图片
A
"george" = = "george"
B
"george" = "george"
C
"george".equals(new String("george"))
D
"george" == new String("george")
标准答案
ac
技能点
理解==与equals()的区别
试题解析
本题考查的是对==与equals()方法的理解。==运算符是比较两对象是否是同一对象,Object类中的equals()方法在没有被重写之前,也是比较两个对象是否是同一对象,而在String类中重写了equals()方法为比较两个字符串的值是否相等。因此正确答案为AC。
正确率
0%
题干
在Java中,如下代码段的输出结果为()。
int num=0;
while(num<5){
num=num+1;
if(num==3){
break;
}
}
System.out.print(num);
题型
选择题
图片
A
0
B
3
C
4
D
5
标准答案
b
技能点
掌握基于break语句的流程控制
正确率
0%
题干
在Java中,以下定义的方法可以编译通过的是( )。
题型
选择题
图片
A
public String check(){
System.out.print("正在执行方法");
return 1+1;
}
B
public int check (){
double number = 3+3.5;
return number;
}
C
public int check (){
return 2+ 'a';
}
D
public double check (){
return 5+2;
System.out.print("正在执行方法");
}
标准答案
c
技能点
掌握无参方法的定义与调用
试题解析
本题中,A方法返回类型为String,而return为int;B返回类型为int而return为double,double不能自动转为int类型;C:返回类型为int ,return 2+ 'a';char会自动转为int类型,然后计算与2的和返回;D:方法返回值之后就不能再有其他语句了。所以选C
正确率
0%
题干
阅读下列Java代码片段,则输出结果是( )。
int sum = 0;
for (int i = 10, j = ++i; i < j; i -= 2, j += 2) {
sum += i + j;
}
System.out.println(sum);
题型
选择题
图片
A
0
B
12
C
16
D
21
标准答案
a
技能点
掌握基于for语句的流程控制
试题解析
本题考查for语句、各种运算符的使用,由于++i为先自加1然后再使用,所以j的值为11,然后进行判断i<j错误,结束for循环,结果sum的值没有变,所以选择A
正确率
0%
题干
在JAVA中,以下代码的运行结果是( )。
public class Test {
public static void main(String args[]) {
char c = chang('B');
System.out.println(c);
}
public static char chang(char c) {
if (c >= 'A' && c <= 'Z') {
c = (char) (c + 32);
}
if (c >= 'a' && c <= 'z') {
c = (char) (c - 32);
}
return c;
}
}
题型
选择题
图片
A
B
B
b
C
C
D
c
标准答案
a
技能点
掌握基于if语句的流程控制
试题解析
本题考察if语句、短路逻辑与,英文大小写相差32,chang方法由于B>A,c值变为了b,第二个判断b>a,c值又变回了B,最后返回了B所以最后输出B,本题选择A
正确率
0%
题干
有如下代码,请选择正确的描述:()。
public class News { static int a=5; int b=6;
public static void main(String[] args) {
System.out.println(a);
System.out.println(b); }}
题型
选择题
图片
A
编译报错
B
编译时不报错,运行时报错
C
分别用两行输出5和6
D
只能输出5
标准答案
a
技能点
掌握对象的创建方式
试题解析
本题考察静态变量的使用,main()为静态方法,在静态方法中可以直接访问静态变量a,但是不可以访问非静态(普通)变量b,因此编译错误
正确率
0%
题干
下面Java代码的输出结果是( )。
public static void main(String[] args) {
int[] array={5,7,4,2,1};
getCountByArray(array);
for (int i = 0; i < array.length; i++)
{ System.out.print(array[i]+" "); }
}
public static void getCountByArray(int[] arr){
for (int i = 0; i < arr.length; i++) {
if (arr[i]%2==1)
{ arr[i]=0; }
}
}
题型
选择题
图片
A
0 0 4 2 0
B
5 7 0 0 1
C
5 7 4 2 1
D
0 0 0 0 0
标准答案
a
技能点
掌握使用引用类型作为参数类型进行传递
试题解析
正确答案是A。%是取余运算,方法getCountByArray()的作用是遍历每个数组元素,判断如果该元素除以2余数为1,则将该元素设置为0。因此,getCountByArray()方法执行完毕,int[] arr的值为{0 0 4 2 0 }。考虑数组作为参数是引用传参,因此,main()中数组array的值也发生变化,输出为A。
正确率
0%
题干
Java中,类Test1定义如下:
1)public class Test1{
2)public float aMethod(float a,float b){ }
3)
4)}
将以下哪种方法插入行3是不合法的()。
题型
选择题
图片
A
public float aMethod(float a, float b,float c){ }
B
public float aMethod(float c,float d){ }
C
public int aMethod(int a, int b){ }
D
private float aMethod(int a,int b,int c){ }
标准答案
b
技能点
掌握一般方法重载的实现方式
试题解析
本题考查的是方法的重载,在同一类中,方法名相同,参数列表不同的方法称为重载方法。本题B选项中aMethod()方法的参数列表与Test1类中aMethod()方法的参数列表相同,不能构成重载。本题应选择B。
正确率
0%
题干
如果以下程序的运行结果为“小华”,下划线处的代码可以是( )。
class Person {
private String name;//姓名
public Person() {
this.name = "小华";
System.out.println(this.name);
}
public Person(String name) {
this.name = name;
System.out.println(this.name);
}
}
class Student extends Person {
public Student(String name) {
__________________________
}
public static void main(String[] args) {
Student stu = new Student("小明");
}
}
题型
选择题
图片
A
super();
B
super(name);
C
不写入任何代码
D
this();
标准答案
ac
技能点
继承关系中的构造方法
正确率
0%
题干
请选择出以下代码的输出结果():
public class Person{
public String name;
public int age;
public int weight;
public Person(int age,String name){
this.name=name;
this age=age;
System.out.print("您的年龄是:"+age);
}
public Person(String name,int weight){
this.name=name;
this weight=weight;
System.out.print("您的体重是"+weight);
}
public static void main(String[] args){
Person guest = new Person("Lili",80);
}
}
题型
选择题
图片
A
您的年龄是80
您的体重是0
B
您的年龄是0
您的体重是80
C
您的年龄是80
D
您的体重是80
标准答案
d
技能点
掌握构造方法重载的实现方式
试题解析
重载方法只执行参数相同的方法,即体重只调用public Person(String name,int weight)这个方法,所以答案选D.
正确率
0%
题干
在Java中,以下代码的输出结果是( )。
public static void add(int num){
num += 5;
}
public static void main(String[] args) {
int age = 20;
add(age);
System.out.println(age);
}
题型
选择题
图片
A
20
B
25
C
5
D
编译错误
标准答案
a
技能点
掌握使用基本数据类型作为参数类型进行传递
试题解析
基本数据类型作为参数时是按照值传递的,无论add方法对参数做了什么操作,都不会影响main方法中的age。
正确率
0%
题干
如下java代码,在运行main方法时,程序要求打印出Animal类中m1方法的内容,可以填入下划线处的的代码是( )。
public class Animal {
int name;
int age;
public Animal(){
}
public void m1(){
System.out.println("Animal m1()");
}
}
public class Dog extends Animal{
String colour;
public void m2(){
System.out.println("m2()");
}
public void m1(){
_____________________
System.out.println("Dog m1()");
}
}
public class Test {
public static void main (String[] args) {
Animal animal = new Dog();
animal.m1();
}
}
题型
选择题
图片
A
this.m2();
B
super.m1();
C
this.m1();
D
super();
标准答案
b
技能点
掌握super关键字(使用super调用属性、方法、构造方法)
试题解析
本题考查super关键字的用法。本题要求打印出Animal类中m1方法的内容,通过代码可以看出Dog类继承了Animal类,这两个存在继承关系。在执行main方法中的animal.m1()代码时,按照多态的执行原理,会调用Dog类中的m1方法,在Dog类中的m1方法中如果要执行父类的m1方法,就需要用到super关键字。子类调用父类的方法是super.方法名。根据这一点,可以判断B选项正确。可以排除AB选项,而D选项是调用构造方法,故D选项错误。
正确率
0%
题干
分析下面的Java源程序,编译后的运行结果是( )。
import java.util.*;
public class Test {
public static void main(String[] args) {
int[] numbers = new int[]{2,1,3};
Arrays.sort(numbers);
for(int index=0;index<numbers.length;index++){
System.out.print(numbers[index]);
}
}
}
题型
选择题
图片
A
输出:213
B
输出:123
C
输出:321
D
输出:0123
标准答案
b
技能点
能够使用A
展开阅读全文