
1、下列关于 JVM、JRE、JDK 说法错误的是?
A: JVM 是 Java 虚拟机,是运行所有 Java 程序的假想计算机。
B: JRE 是 Java 程序的运行时环境,包含运行时所需要的核心类库。
C: JVM 是 Java 程序的运行环境,包含 JRE。
D: JDK 是 Java 程序开发工具包,包含 JRE 和开发人员使用的工具
2、根据以下的代码得出的 a、b、c 和 d 的值为?

A: 5,4,5,5
B: 6,5,6,5
C: 6,4,6,4
D: 6,4,6,5
3、下面不属于 java 类中的类修饰符的是()
A: public
B: final
C: extends
D: abstract
4、下面的代码运行的结果是?

A: i:123j:125
B: i:125j:123
C: i:123j:123
D: i:125j:125
5、以下关于抽象类的说法正确的是
A: 抽象方法所在的类不一定就是抽象类
B: 继承抽象类的子类一定要重写父类的所有的抽象方法,否则该子类也要声明为抽象类
C: 抽象类有构造方法所以也可以创建对象
D: 所谓的抽象类一定包含抽象方法
6、下列代码的输出结果为?

A: 1
B: 2
C: 9
D: 3
7、下列说法中,正确的是:()
A.类是变量和方法的集合体
B.数组是无序数据的集合
C.抽象类可以实例化
D.类成员数据必须是公有的
8、inta=1;byteb=3;b=a+b;System.out.println(b); 以上代码执行的结果是( )
A.4
B.3
C. 运行出错
D. 编译时有错
9、下列有关继承的说法。正确的是:( )
A.子类能继承父类的所有方法和属性;
B.子类能继承父类的非私有方法和属性
C.子类只能继承父类 public 方法和属性
D.子类能继承父类的方法,而不是属性。
10、执行语句 inti=1,j=++i + ++i +i--; 后,i 与 j 的值分别为( )
A: 2 与 6
B: 3 与 8
C: 3 与 5
D: 2 与 8
11、下列代码,输出结果为?

A: 10
B: 0
C: 编译错误
D: 20
12、已知表达式 intm[]={5,6,8,9,4,10,7};下面哪个表达式的值与数组索引的最大值相等?
A: m.length()
B: m.length
C: m.length()+1
D: m.length-1
13、构造方法何时被调用()
A: 类定义时
B: 创建对象时
C: 调用对象方法时
D: 使用对象的变量时
14、下列语句正确的是()
A: 形参可被视为局部变量。
B: 形参需要被预先赋值
C: 形参为方法调用时,真正被传递的参数。
D: 形参不可以是对象。
15、数组 a 的第三个元素应表示为()
A: a(3)
B: a{3}
C: a[2]
D: a(2)
二.多选题(5,每道 4 分)
16、以下基本数据类型之间的转换正确的有:
A: inti=123;longl=i;
B: floatf=3.14F;doubled=f;
C: doubled=3.14;floatf=d;
D: longl=123L;inti=(int)l;
17、下面语句会造成数组 newint[10]越界异常:ArrayIndexOutOfBoundsException 的是()
A: a[0]+=9;
B: a[9]=10;
C: for(inti=0;i<=10;i++){a[i]++;}
D: a[a.length]
18、以下哪项是接口的正确定义?( )
A: interface B { voidprint(){};}
B: abstract interface B {voidprint();}
C: abstract interface B extends A1,A2 A1、A2 为已定义的接口 { abstract void print(){ };}
D: interface B { void print();}
19、对于构造方法,下列叙述正确的是:( )
A: 构造方法的方法名必须与类名相同;
B: 构造方法必须用 void 申明返回类型
C: 构造方法可以被程序调用
D: 若编程人员没再类中定义构造方法,程序将报错。
20、下面是有关子类继承父类构造函数的描述,其中正确的是:( )
A: 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B: 子类可以不调用父类的构造函数
C: 子类必须通过 super()关键字调用父类的构造函数
D: 子类无法继承父类的构造函数。
代码题(第一题 20 分,第二题 30 分,共 50 分)
第一题:
定义一个整数数组,包含元素{2,6,9,12,8},获取并输出数组中数组角标和对应的元素都为偶数的元素与个 数
PS:0 是偶数
第二题:
①定义接口 Teach,要求如下: 定义抽象方法 void teaching();
②定义类 Teacher,实现接口 Teach,包含空参构造,满参构造和以下成员变量
姓名 name(String 类型)
学科 course(String 类型)
实现抽象方法 teaching(),在方法内输出"我是 XX 老师,我教 YY 学科”
PS: XX 表示姓名,YY 表示学科
③定义 Student 类,包含空参构造,满参构造和以下成员变量
姓名 name(String 类型)
分数 score(int 类型)
老师 Teacher teacher
定义一个无参无返回值的方法 getMyResult(),实现要求如下:
1).在方法内输出“我是学生 SS,我的老师是 WW,他教我 ZZ 学科”
PS:SS 是学生的姓名,WW 是 teacher 的姓名,ZZ 是 teacher 所教学科
2).判断学员分数是否大于等于 60 分,如果大于等于 60 分,则输出“继续加油哦”
如果小于 60 分,则输出"成绩太低了,老师 WW让我回去罚写 100 遍"
PS: WW 是 teacher 的姓名
④在 main 方法中,创建教师对象、学生对象并赋值
调用 teaching()、getMyResult()方法。
示例:






