社招JAVA专业题
一、JAVA专业题()
1. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为( )类型。
A、int B、long C、double D、char
2. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( )
A、ArrayList myList=new Object(); B、List myList=new ArrayList();
C、ArrayList myList=new List(); D、List myList=new List();
3. Java中( )
A、 一个子类可以有多个父类,一个父类也可以有多个子类
B、一个子类可以有多个父类,但一个父类只可以有一个子类
C、一个子类可以有一个父类,但一个父类可以有多个子类
D、上述说法都不对
4. 以下关于继承的叙述正确的是( )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
5. 以下关于构造函数的描述错误的是( )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
6. 声明成员变量时,如果不使用任何访问控制符(public, protected, private),则以下哪种类型的类不能对该成员进行直接访问 ( )
A、同一类 B、同一包中的子类 C、同一包中的非子类 D、不同包中的子类
7. 有以下方法的定义,请选择该方法的返回类型( )。
ReturnType method(byte x, double y) {
return (short)x/y*2;
}
A、byte B、short C、int D、double
8. 关于以下程序代码的说明正确的是( )
1.class HasStatic{
2. private static int x=100;
3. public static void main(String args[ ]){
4. HasStatic hs1=new HasStatic( );
5. hs1.x++;
6. HasStatic hs2=new HasStatic( );
7. hs2.x++;
8. hs1=new HasStatic( );
9. hs1.x++;
10. HasStatic.x- -;
11. System.out.println(“x=”+x);
12. }
13. }
A、 5行不能通过编译,因为引用了私有静态变量
B、 10行不能通过编译,因为x是私有静态变量
C、 程序通过编译,输出结果为:x=103
D、 程序通过编译,输出结果为:x=102
9. 类Test1、Test2定义如下:
1.public class Test1
2.{
3. public float aMethod(float a,float b) throws
4. IOException { }
5. }
6.public class Test2 extends Test1{
7.
8.}
将以下哪种方法插入行7是不合法的。( )
A、float aMethod(float a,float b){ }
B、public int aMethod(int a,int b)throws Exception{ }
C、public float aMethod(float p,float q){ }
float型D、public int aMethod(int a,int b)throws IOException{ }
10. 阅读以下代码:
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;//String s=null;
System.out.println("s=" + s);
}
}
输出结果应该是:( )
A、代码得到编译,并输出“s=”
B、代码得到编译,并输出“s=null”
C、由于String s没有初始化,代码不能编译通过
D、代码得到编译,但捕获到 NullPointException异常
11. 编译运行以下程序后,关于输出结果的说明正确的是 ( )
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、编译错误
12. 有如下程序段:
int total = 0;
for ( int i = 0; i < 4; i++ ){
if ( i == 1)
continue;
if ( i == 2)
break;
total += i;
}
则执行完该程序段后total的值为:( )。
A、0 B、1 C、3 D、6
13. 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A )
A、x[9]为0 B、x[9]未定义 C、x[10]为0 D、x[0]为空
14. 以下程序的运行结果是:( )
public class Increment{
public static void main(String args[]){
int c;
c = 2;
System.out.println(c);
System.out.println(c++);
System.out.println(c);
}
}
A、2 2 2 B、2 3 3 C、2 2 3 D、3 4 4
15. 下面哪一个循环会导致死循环?( )
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++)
16. 指出下列程序运行的结果 ( )
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
17. 给出下面代码段, 哪行将引起一个编译时错误?( )
1.public class Test {
2. int n = 0;
3. int m = 0;
4. public Test(int a) { m=a; }
5. public static void main(String arg[]) {
6. Test t1,t2;
7. int j,k;
8. j=3; k=5;
9. t1=new Test();
10. t2=new Test(k);
11. }
12.}
A、 行1 B、 行4 C、行6 D、行9
18. 下面程序中类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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论