《JAVA语言基础与面向对象编程实践》
2018年5月10日考试中心第一册, 阶段性考试B
绝密★启用前
(考试时间:150分钟 试卷满分:120分)
注意事项:
1.答卷前,请关闭手机,禁止使用设备对试卷进行拍照。
2.请务必将个人相关信息填写在相应位置。
3.请将答案填写在相应位置,否则无效。
一、单选题(每题1分 * 50 = 50分)
1、java程序的执行过程中用到一套JDK工具,其中java.exe是指( ) 【北控三兴笔试题】
A.java文档生成器
B.java解释器
C.java编译器
D.java类分析器
2、按照Java的标识符命名规范,下列表示一个类的标识符正确的是( ) 【四方精创笔试题】
A、Helloman B、HelloMan C、helloman D、helloMan
3、构造函数何时被调用( ) 【北京赞同科技】
A、类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时
4、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )。
A、 final B、 public C、 private D、 abstract
5、若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( )。
A、 x[5-3] B、x[k] C、 x[k+5] D、 x[0]
6、下列语句序列执行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j )
i–;
else
j–;
A、 15 B、 16 C、 7 D、 8
7、不能构成循环的语句是( )。
A、for 语句 B、while 语句 C、switch 语句 D、do while 语句
8、给定如下Java代码,编译运行后,输出的结果将是()
public class Test {
public static void main(String args[]) {
String s1 = new String(“Test”);
String s2 = new String(“Test”);
if (s1 == s2)
System.out.println(“Same”);
if (s1.equals(s2))
System.out.println(“Equals”);
}
}
A.Same B.Equals C.SameEquals D.什么都不输出
9、给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}
那个语句是正确的? ( )
A、 编译时将产生错误; B、 编译时正确,运行时将产生错误;
C、输出零; D、 输出空。
10、Scanner类在哪个包中? ( )
A、java.util B、java.io C、java.awt D、java.lang
11、如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的中的适当位置,刚该排序方法称为( ) 【电讯盈科】
A.插入排序 B.归并排序 C.冒泡排序 D.堆排序
12、下列运算结果默认为float的是( )
A、100/10 B、100*10 C、100F+10 D、100D-10
13、下列方法method()执行,返回值为( )
int method(){
int num=10;
if (num>20)
return num;
num=30;
}
A、10 B、20 C、30 D、编译出错
14、如下代码:
class Super {
public Integer getLenght() {
return new Integer(4);
}
}
public class Sub extends Super {
public Long getLenght() {
return new Long(5);
}
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(sooper.getLenght().toString() +“,” + sub.getLenght().toString());
}
}
输出是什么?( ) 【北京赞同科技】
A、4,5 B、 5,4 C、5,5 D.编译失败.
15、 软件设计的主要任务是设计软件的结构、过程、模块,其中软件结构设计的主要任务是要确定( ) 【北京赢时胜笔试题】
A、模块间的操作细节
B、模块间的相似性
C、模块间的组成关系
D、模块的具体功能
16、如何把 7.25 四舍五入为最接近的整数?( )
A、round(7.25)
B、rnd(7.25)
C、Math.random(7.25)
D、Math.round(7.25)
17、在下面的程序中,temp的最终值是什么?( ) 【北控三兴笔试题】
long temp=(int)3.9;
temp%=2;
A.0 B.1 C.2 D.3 E.4
18、下列关于继承的叙述正确是 ( )
A、在java中允许多重继承
B、在java中一个类只能实现一个接口
C、在java中一个类不能同时继承一个类和实现一个接口
D、java的单一继承使代码更可靠
19、下列代码的执行结果是 ( )
public class Test{
public int aMethod(){
static int i=0;
i++;
System.out.println(i); return i;
}
public static void main(String args[]){
Test test = new Test();
test.aMethod();
}
}
A、编译错误
B、0
C、1
D、运行成功,但不输出
20、依次执行下列程序语句后,则b的值是( )
String a = “Hello”;
String b = a.substring(0,2);
A、Hello B、Hel C、He D、null
21、给出下列的代码,哪行在编译时可能会有错误( )
① public void modify(){
② int i, j, k;
③ i = 100;
④ while ( i > 0 ){
⑤ j = i * 2;
⑥ System.out.println (” The value of j is ” + j );
⑦ k = k + 1;
⑧ }
⑨ }
A、line 4 B、line 6 C、line 7 D、line 8
22、请问 “abcd” instanceof Object返回的值是? ( )
A、“abcd” B、true C、false D、String
23、下列哪种叙述是正确的 ( ) 【广电运通笔试题】
A、abstract修饰符可以修饰字段、方法和类
B、抽象方法的body部分必须用一对大括号包住
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
24、System.out.println(“5” + 2);的输出结果应该是( )【企业笔试题】
A.52 B.7 C.2 D.5
25、下列语句正确的是 ( ) 【广电运通笔试题】
A、形式参数可以被视为local variable
B、形式参数可被字段修饰符修饰
C、形式参数为方法被调用时,真正被传递的参数
D、形式参数不可以是对象
26、以下关于break的说法正确的是( )。 【北控三兴笔试题】
A.只中断最内层的循环
B.只中断最外层的循环
C.借助于标号,可以实现任何外层循环中断
D.只中断某一层的循环
27、以下关于final关键字说法错误的是() 【四方精创笔试题】
A.final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B.final修饰的类肯定不能被继承
C.final修饰的方法不能被重写
D.final修饰的变量不允许被再次赋值
28、关于以下application的说明,正确的是( )
1. class StaticStuff
2. {
3. static int x=10;
4. static{ x+=5; }
5. public static void main(String args[])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=3;}
}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
29、下列方法的返回结果是什么?【公财数据笔试题】
public int f(){
int i=0;
try{
++i;
}finally{
++i;
}
return ++i;
}
A、3
B、2
C、1
D、0
30、类Test1定义如下:
1.public class Test1{
2. public float aMethod(float a, float b){return ..; }
3.
4.}
将以下哪种方法插入行3是不合法的。( )
A、public float aMethod(float a,float b,float c){ return ..; }
B、public float aMethod(float c,float d){ return.. ; }
C、public int aMethod(int a,int b){ return ..; }
D、private float aMethod(int a,int b,int c){ return ..; }
31、关于以下程序段,正确的说法是( )
1. String s1 = “abc” + “def”;2. String s2 = new String(s1);3. if(s1==s2)4. System.out.println(“= = succeeded”); 5. if (s1.equals(s2))6. System.out.println(“.equals() succeeded”);
A、行4与行6都将执行 B、行4执行,行6不执行
C、行6执行,行4不执行 D、行4、行6都不执行
32、编译运行以下程序后,关于输出结果的说明正确的是 ( )
public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9 : 9));}}
A、输出结果为:value is 99.9
B、输出结果为:value is 9
C、输出结果为:value is 9.0
D、编译错误
33、 下面哪一个操作符的优先级最高? ( )
A、&& B、|| C、! D、( )
34、下面哪一个循环会导致死循环?( )
A、for (int k = 0; k < 0; k++)
B、for (int k = 10; k > 0; k–)
C、for (int k = 0; k < 10; k–)
D、for (int k = 0; k > 0; k++)
35、在Java中用什么关键字修饰的方法可以直接通过类名来调用?( )
A、static B、final C、private D、void
36、下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果( )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;
}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);
}
}
A、0 B、6 C、11 D、 2
37、下面关于数组声明和初始化的语句那个有语法错误?( )
A、int a1[]={3,4,5};
B、String a2[]={“string1″,”string1″,”string1”};
C、String a3[]=new String(3);
D、int[][] a4=new int[3][3];
38、选项中哪一行代码可以替换题目中//add code here而不产生编译错误?( )
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
A、public abstract void method(int a);
B、value = value + 5;
C、public int method();
D、public abstract void anotherMethod() { }
39、指出正确的表达式( )【北京中科软面试题】
A、byte B、Boolean b=null; C、long=0xfffL; D、double=09239d;
40、有如下程序段:
int a = b = 5;
String s1 = “祝你今天考出好成绩!”;
String s2 = s1;
则表达式a == b与s2 == s1的结果分别是:( )。
A、true与true B、false与true
C、true与false D、false与false
41、指出下列程序运行的结果 ( ) 【北京中科软面试题】
public class Example{
String str=new String(“good”);
char[] ch = {‘a’,’b’,’c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str+” and “);
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str=”test ok”;
ch[0]=’g’;
}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
42、关于Java中继承的特点,下列说法正确的是( ) 【康博嘉信息科技(北京)笔试题】
A、使类的定义复杂化
B、Java只支持单继承 ,不可多继承,但可以通过实现接口来达到多继承的目的
C、子类继承父类的所有成员变量和方法,包括父类的构造方法
D、不可以多层继承,即一个类不可以继承一个类的子类
43、What will happen when you compile and run the following code?( )【九恒星科技笔试题】
public class MyClass {
static int i;
public static void main(String argv[]) {
System.out.println(i);
}
}
A、Error Variable i may not have been initialized
B、Null
C、1
D、0
44、按照Java的标识符命名规范,下列关于类名的标识符最符合规范的是( )【九恒星科技笔试题】
A、Helloman
B、HelloMan
C、helloman
D、helloMan
45、局部变量能否和成员变量重名?( )
A、可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
B、可以,这时可用“local”关键字来指向局部变量
C、不能,局部变量不能与成员变量重名
D、不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
46、关于接口的说法错误的是( )【康博嘉信息科技(北京)】
A、是特殊的抽象类
B、是抽象方法和常量值得定义的集合
C、当一个类实现一个接口时,必须实现接口中的所有方法
D、多个类可以实现一个接口,一个类只能实现一个接口
47、在Java中,以下程序编译运行后的输出结果为( )。
public static void main(String[] args) {
int a = 5;
int s = 0;
switch (a) {
case 5:
s = s + 2;
case 3:
s = s + 5;
case 8:
s = s + 6;
default:
s = s + 10;
break;
}
System.out.print(s);
}
A、2 B、0 C、7 D、23
48、下列哪一种叙述是正确的( ) 【赞同科技笔试题】
A、abstract修饰符可修饰字段、方法和类
B、抽象方法的body部分必须用一对大括号{ }包住
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
49、在java中,关于static关键字的说法错误的是( ) 【康博嘉信息科技(北京)】
A、static可以修饰方法
B、static可以修饰变量
C、static可以修饰代码块
D、static修饰的方法,在该方法内部可以访问非静态的类成员变量
50、关于String,StringBuilder以及StringBuffer,描述错误的是( )
A、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
B、StringBuilder是线程安全
C、StringBuffer是线程安全
D、可以修改StringBuilder和StringBuffer的内容
二、多选题题(10*2=20分)
1、对于构造方法,下列叙述正确的是:( )
A、构造方法的方法名必须与类名相同;
B、构造方法必须用void申明返回类型
C、构造方法可以被程序调用
D、若编程人员没再类中定义构造方法,程序将报错。
2、下面是有关子类继承父类构造函数的描述,其中正确的是:( )
A、创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B、子类可以不调用父类的构造函数
C、子类必须通过super()关键字调用父类的构造函数
D、子类无法继承父类的构造函数。
3、 以下哪项是接口的正确定义?( )
A、 interface B{
void print(){};
}
B、 abstract interface B {
void print() ;
}
C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口
{
abstract void print(){ };
}
D、 interface B {
void print();
}
4、指出正确的表达式 ( )
A、 byte b=128;
B、 Boolean boo=null;
C、 long l=0xfffL;
D、 double d=0.9239d;
5、下列代码在编译时不会报错的是( )【北京中科软笔试题】
A、 int i=0;
if (i) {
System.out.print(“hello”);
}
B、 boolean b = true;
Boolean b2 = true;
if(b==b2){
System.out.print(“hello”);
}
C、 int i=1;
int j=2;
if(i==1||j==2)
System.out.print(“hello”);
D、 int i=1;
int j=2;
if(i==1 &| j==2)
System.out.print(“hello”);
6、在下面代码中x为何值时输出结果为“out2”?( )
switch(x){
case 1:
System.out.println(“out1”);
break;
case 2:
case 3:
System.out.println(“out2”);
break;
default:
System.out.println(“end”);
}
A、1 B、2 C、3 D、default
7、下面关于Java语言中实例方法和类方法的说法,哪几项是对的?( )
A、实例方法可以直接通过类名调用。
B、类方法可以直接通过类名调用。
C、实例方法可以操作实例变量也可以操作类变量。
D、类方法可以操作实例变量也可以操作类变量。
8、在Java中,关于final关键字的说法正确的是( )。
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
9、下面有关私有变量和私有方法的声明,哪些叙述是对的?( )
A、用关键字private修饰的成员变量和方法,称为私有变量和私有方法。
B、用关键字protected修饰的成员变量和方法,称为私有变量和私有方法。
C、用关键字public修饰的成员变量和方法,称为私有变量和私有方法。
D、私有变量不能通过对象直接访问,只有在本类中创建的自己对象,才能访问自己的私有变量。
10、哪两种声明防止方法覆盖?( ) 【北京赞同科技】
A、final void method() {}
B、void final method() {}
C、static void method() {}
D、static final void method() {}
E、final abstract void method() {}
三、填空题(每题5*2分 = 10分)
1、如果一个 Java 源程序文件中定义了4个类,则使用 Sun 公司的 JDK 编译器 编译该源程序文件,将生成 个文件,扩展名为class 的字节码文件。
2、设 x = 2 则表达式 (x++)*3 的值是 。
3、Java 语言的各种数据类型之间提供了两种转换: 、 。
4、Java 设计有 功能,这不仅防止了内存地址计算错误的问题,也省去了变成时对内存进行分配的烦恼。
5、我们在Java 程序中把关键字 加到方法名称的面前,来实现子类调用父类的方法。
四、简答题(5*4=20分)
1、抽象类(abstract class)和接口(interface)有什么异同?
2、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
3、请列举JAVA语言的主要特点
4、&和&&的区别?
五、编程题(10*2= 20分 )
1、求100之内的素数(质数)
2、用java写出二分查找。
提示:二分查找又称折半查找,它是一种效率较高的查找方法。
1).必须采用顺序存储结构
2).必须按关键字大小有序排列。
2018年5月10日考试中心第一册, 阶段性考试B
绝密★启用前
(考试时间:150分钟 试卷满分:120分)
注意事项:
1.答卷前,请关闭手机,禁止使用设备对试卷进行拍照。
2.请务必将个人相关信息填写在相应位置。
3.请将答案填写在相应位置,否则无效。
一、单选题(每题1分 * 50 = 50分)
1、java程序的执行过程中用到一套JDK工具,其中java.exe是指( ) 【北控三兴笔试题】
A.java文档生成器
B.java解释器
C.java编译器
D.java类分析器
2、按照Java的标识符命名规范,下列表示一个类的标识符正确的是( ) 【四方精创笔试题】
A、Helloman B、HelloMan C、helloman D、helloMan
3、构造函数何时被调用( ) 【北京赞同科技】
A、类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时
4、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )。
A、 final B、 public C、 private D、 abstract
5、若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( )。
A、 x[5-3] B、x[k] C、 x[k+5] D、 x[0]
6、下列语句序列执行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j )
i–;
else
j–;
A、 15 B、 16 C、 7 D、 8
7、不能构成循环的语句是( )。
A、for 语句 B、while 语句 C、switch 语句 D、do while 语句
8、给定如下Java代码,编译运行后,输出的结果将是()
public class Test {
public static void main(String args[]) {
String s1 = new String(“Test”);
String s2 = new String(“Test”);
if (s1 == s2)
System.out.println(“Same”);
if (s1.equals(s2))
System.out.println(“Equals”);
}
}
A.Same B.Equals C.SameEquals D.什么都不输出
9、给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}
那个语句是正确的? ( )
A、 编译时将产生错误; B、 编译时正确,运行时将产生错误;
C、输出零; D、 输出空。
10、Scanner类在哪个包中? ( )
A、java.util B、java.io C、java.awt D、java.lang
11、如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的中的适当位置,刚该排序方法称为( ) 【电讯盈科】
A.插入排序 B.归并排序 C.冒泡排序 D.堆排序
12、下列运算结果默认为float的是( )
A、100/10 B、100*10 C、100F+10 D、100D-10
13、下列方法method()执行,返回值为( )
int method(){
int num=10;
if (num>20)
return num;
num=30;
}
A、10 B、20 C、30 D、编译出错
14、如下代码:
class Super {
public Integer getLenght() {
return new Integer(4);
}
}
public class Sub extends Super {
public Long getLenght() {
return new Long(5);
}
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(sooper.getLenght().toString() +“,” + sub.getLenght().toString());
}
}
输出是什么?( ) 【北京赞同科技】
A、4,5 B、 5,4 C、5,5 D.编译失败.
15、 软件设计的主要任务是设计软件的结构、过程、模块,其中软件结构设计的主要任务是要确定( ) 【北京赢时胜笔试题】
A、模块间的操作细节
B、模块间的相似性
C、模块间的组成关系
D、模块的具体功能
16、如何把 7.25 四舍五入为最接近的整数?( )
A、round(7.25)
B、rnd(7.25)
C、Math.random(7.25)
D、Math.round(7.25)
17、在下面的程序中,temp的最终值是什么?( ) 【北控三兴笔试题】
long temp=(int)3.9;
temp%=2;
A.0 B.1 C.2 D.3 E.4
18、下列关于继承的叙述正确是 ( )
A、在java中允许多重继承
B、在java中一个类只能实现一个接口
C、在java中一个类不能同时继承一个类和实现一个接口
D、java的单一继承使代码更可靠
19、下列代码的执行结果是 ( )
public class Test{
public int aMethod(){
static int i=0;
i++;
System.out.println(i); return i;
}
public static void main(String args[]){
Test test = new Test();
test.aMethod();
}
}
A、编译错误
B、0
C、1
D、运行成功,但不输出
20、依次执行下列程序语句后,则b的值是( )
String a = “Hello”;
String b = a.substring(0,2);
A、Hello B、Hel C、He D、null
21、给出下列的代码,哪行在编译时可能会有错误( )
① public void modify(){
② int i, j, k;
③ i = 100;
④ while ( i > 0 ){
⑤ j = i * 2;
⑥ System.out.println (” The value of j is ” + j );
⑦ k = k + 1;
⑧ }
⑨ }
A、line 4 B、line 6 C、line 7 D、line 8
22、请问 “abcd” instanceof Object返回的值是? ( )
A、“abcd” B、true C、false D、String
23、下列哪种叙述是正确的 ( ) 【广电运通笔试题】
A、abstract修饰符可以修饰字段、方法和类
B、抽象方法的body部分必须用一对大括号包住
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
24、System.out.println(“5” + 2);的输出结果应该是( )【企业笔试题】
A.52 B.7 C.2 D.5
25、下列语句正确的是 ( ) 【广电运通笔试题】
A、形式参数可以被视为local variable
B、形式参数可被字段修饰符修饰
C、形式参数为方法被调用时,真正被传递的参数
D、形式参数不可以是对象
26、以下关于break的说法正确的是( )。 【北控三兴笔试题】
A.只中断最内层的循环
B.只中断最外层的循环
C.借助于标号,可以实现任何外层循环中断
D.只中断某一层的循环
27、以下关于final关键字说法错误的是() 【四方精创笔试题】
A.final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B.final修饰的类肯定不能被继承
C.final修饰的方法不能被重写
D.final修饰的变量不允许被再次赋值
28、关于以下application的说明,正确的是( )
1. class StaticStuff
2. {
3. static int x=10;
4. static{ x+=5; }
5. public static void main(String args[])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=3;}
}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
29、下列方法的返回结果是什么?【公财数据笔试题】
public int f(){
int i=0;
try{
++i;
}finally{
++i;
}
return ++i;
}
A、3
B、2
C、1
D、0
30、类Test1定义如下:
1.public class Test1{
2. public float aMethod(float a, float b){return ..; }
3.
4.}
将以下哪种方法插入行3是不合法的。( )
A、public float aMethod(float a,float b,float c){ return ..; }
B、public float aMethod(float c,float d){ return.. ; }
C、public int aMethod(int a,int b){ return ..; }
D、private float aMethod(int a,int b,int c){ return ..; }
31、关于以下程序段,正确的说法是( )
1. String s1 = “abc” + “def”;2. String s2 = new String(s1);3. if(s1==s2)4. System.out.println(“= = succeeded”); 5. if (s1.equals(s2))6. System.out.println(“.equals() succeeded”);
A、行4与行6都将执行 B、行4执行,行6不执行
C、行6执行,行4不执行 D、行4、行6都不执行
32、编译运行以下程序后,关于输出结果的说明正确的是 ( )
public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9 : 9));}}
A、输出结果为:value is 99.9
B、输出结果为:value is 9
C、输出结果为:value is 9.0
D、编译错误
33、 下面哪一个操作符的优先级最高? ( )
A、&& B、|| C、! D、( )
34、下面哪一个循环会导致死循环?( )
A、for (int k = 0; k < 0; k++)
B、for (int k = 10; k > 0; k–)
C、for (int k = 0; k < 10; k–)
D、for (int k = 0; k > 0; k++)
35、在Java中用什么关键字修饰的方法可以直接通过类名来调用?( )
A、static B、final C、private D、void
36、下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果( )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;
}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);
}
}
A、0 B、6 C、11 D、 2
37、下面关于数组声明和初始化的语句那个有语法错误?( )
A、int a1[]={3,4,5};
B、String a2[]={“string1″,”string1″,”string1”};
C、String a3[]=new String(3);
D、int[][] a4=new int[3][3];
38、选项中哪一行代码可以替换题目中//add code here而不产生编译错误?( )
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
A、public abstract void method(int a);
B、value = value + 5;
C、public int method();
D、public abstract void anotherMethod() { }
39、指出正确的表达式( )【北京中科软面试题】
A、byte B、Boolean b=null; C、long=0xfffL; D、double=09239d;
40、有如下程序段:
int a = b = 5;
String s1 = “祝你今天考出好成绩!”;
String s2 = s1;
则表达式a == b与s2 == s1的结果分别是:( )。
A、true与true B、false与true
C、true与false D、false与false
41、指出下列程序运行的结果 ( ) 【北京中科软面试题】
public class Example{
String str=new String(“good”);
char[] ch = {‘a’,’b’,’c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str+” and “);
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str=”test ok”;
ch[0]=’g’;
}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
42、关于Java中继承的特点,下列说法正确的是( ) 【康博嘉信息科技(北京)笔试题】
A、使类的定义复杂化
B、Java只支持单继承 ,不可多继承,但可以通过实现接口来达到多继承的目的
C、子类继承父类的所有成员变量和方法,包括父类的构造方法
D、不可以多层继承,即一个类不可以继承一个类的子类
43、What will happen when you compile and run the following code?( )【九恒星科技笔试题】
public class MyClass {
static int i;
public static void main(String argv[]) {
System.out.println(i);
}
}
A、Error Variable i may not have been initialized
B、Null
C、1
D、0
44、按照Java的标识符命名规范,下列关于类名的标识符最符合规范的是( )【九恒星科技笔试题】
A、Helloman
B、HelloMan
C、helloman
D、helloMan
45、局部变量能否和成员变量重名?( )
A、可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
B、可以,这时可用“local”关键字来指向局部变量
C、不能,局部变量不能与成员变量重名
D、不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
46、关于接口的说法错误的是( )【康博嘉信息科技(北京)】
A、是特殊的抽象类
B、是抽象方法和常量值得定义的集合
C、当一个类实现一个接口时,必须实现接口中的所有方法
D、多个类可以实现一个接口,一个类只能实现一个接口
47、在Java中,以下程序编译运行后的输出结果为( )。
public static void main(String[] args) {
int a = 5;
int s = 0;
switch (a) {
case 5:
s = s + 2;
case 3:
s = s + 5;
case 8:
s = s + 6;
default:
s = s + 10;
break;
}
System.out.print(s);
}
A、2 B、0 C、7 D、23
48、下列哪一种叙述是正确的( ) 【赞同科技笔试题】
A、abstract修饰符可修饰字段、方法和类
B、抽象方法的body部分必须用一对大括号{ }包住
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
49、在java中,关于static关键字的说法错误的是( ) 【康博嘉信息科技(北京)】
A、static可以修饰方法
B、static可以修饰变量
C、static可以修饰代码块
D、static修饰的方法,在该方法内部可以访问非静态的类成员变量
50、关于String,StringBuilder以及StringBuffer,描述错误的是( )
A、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
B、StringBuilder是线程安全
C、StringBuffer是线程安全
D、可以修改StringBuilder和StringBuffer的内容
二、多选题题(10*2=20分)
1、对于构造方法,下列叙述正确的是:( )
A、构造方法的方法名必须与类名相同;
B、构造方法必须用void申明返回类型
C、构造方法可以被程序调用
D、若编程人员没再类中定义构造方法,程序将报错。
2、下面是有关子类继承父类构造函数的描述,其中正确的是:( )
A、创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B、子类可以不调用父类的构造函数
C、子类必须通过super()关键字调用父类的构造函数
D、子类无法继承父类的构造函数。
3、 以下哪项是接口的正确定义?( )
A、 interface B{
void print(){};
}
B、 abstract interface B {
void print() ;
}
C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口
{
abstract void print(){ };
}
D、 interface B {
void print();
}
4、指出正确的表达式 ( )
A、 byte b=128;
B、 Boolean boo=null;
C、 long l=0xfffL;
D、 double d=0.9239d;
5、下列代码在编译时不会报错的是( )【北京中科软笔试题】
A、 int i=0;
if (i) {
System.out.print(“hello”);
}
B、 boolean b = true;
Boolean b2 = true;
if(b==b2){
System.out.print(“hello”);
}
C、 int i=1;
int j=2;
if(i==1||j==2)
System.out.print(“hello”);
D、 int i=1;
int j=2;
if(i==1 &| j==2)
System.out.print(“hello”);
6、在下面代码中x为何值时输出结果为“out2”?( )
switch(x){
case 1:
System.out.println(“out1”);
break;
case 2:
case 3:
System.out.println(“out2”);
break;
default:
System.out.println(“end”);
}
A、1 B、2 C、3 D、default
7、下面关于Java语言中实例方法和类方法的说法,哪几项是对的?( )
A、实例方法可以直接通过类名调用。
B、类方法可以直接通过类名调用。
C、实例方法可以操作实例变量也可以操作类变量。
D、类方法可以操作实例变量也可以操作类变量。
8、在Java中,关于final关键字的说法正确的是( )。
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
9、下面有关私有变量和私有方法的声明,哪些叙述是对的?( )
A、用关键字private修饰的成员变量和方法,称为私有变量和私有方法。
B、用关键字protected修饰的成员变量和方法,称为私有变量和私有方法。
C、用关键字public修饰的成员变量和方法,称为私有变量和私有方法。
D、私有变量不能通过对象直接访问,只有在本类中创建的自己对象,才能访问自己的私有变量。
10、哪两种声明防止方法覆盖?( ) 【北京赞同科技】
A、final void method() {}
B、void final method() {}
C、static void method() {}
D、static final void method() {}
E、final abstract void method() {}
三、填空题(每题5*2分 = 10分)
1、如果一个 Java 源程序文件中定义了4个类,则使用 Sun 公司的 JDK 编译器 编译该源程序文件,将生成 个文件,扩展名为class 的字节码文件。
2、设 x = 2 则表达式 (x++)*3 的值是 。
3、Java 语言的各种数据类型之间提供了两种转换: 、 。
4、Java 设计有 功能,这不仅防止了内存地址计算错误的问题,也省去了变成时对内存进行分配的烦恼。
5、我们在Java 程序中把关键字 加到方法名称的面前,来实现子类调用父类的方法。
四、简答题(5*4=20分)
1、抽象类(abstract class)和接口(interface)有什么异同?
2、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
3、请列举JAVA语言的主要特点
4、&和&&的区别?
五、编程题(10*2= 20分 )
1、求100之内的素数(质数)
2、用java写出二分查找。
提示:二分查找又称折半查找,它是一种效率较高的查找方法。
1).必须采用顺序存储结构
2).必须按关键字大小有序排列。