1. 已有代码Person p=new Person(); 使用语句Person sp=p;相当于生成了一个与p相同的新对象sp。判断该语句的对错。//去掉相当于就是错的 因为sp 与p指向同一块内存只是标示不同罢了
a) 对
b) 错
2. Java中,既可以用数组放简单类型数据,也可以放类类型的对象。
a) 对
b) 错
3. 在Java中,整型数据的大小是不固定的,某些编译器使用2字节,也有使用4字节的。
a) 对
b) 错
4. 在同一类中,可以有以下两个方法声明:
void add(int j,int k){…} 和 int add(int j,int k){…}//方法的重载 与参数的数量和类型 有关和返回值类型无关
a) 对
b) 错
回答问题5. 新对象的创建总是和引用该对象的变量声明在一起完成。
a) 对 举个例子Person p=new person();
b) 错
6. Java中的每个类都至少有一个构造器。
a) 对
b) 错
7. 静态方法可作用于静态变量和成员变量。
a) 对
b) 错
8. 下面哪句是正确的(一项)
a) char ch=”s”;
b) float num=5.5;
c) double price=100;
d) byte=1000;
9. 有以下代码(一项):
public class Person{
static int arr[]=new int[10];//已经初始化了
public static void main(String a[]){
System.out.println(arr[1]);
}
a) 编译时出错。 b) 编译时没错,运行时出错。
c) 输出0。 d) 输出为空。
10. 有如下代码(一项):
public class Test{
public static void main(String args []){
int age;//没有初始化所以不能编译
age=age+1;
System.out.println(“The age is”+age);
a) 编译,运行后没有输出
b) 编译,运行后输出:The age is 1
c) 能通过编译,但运行时产生错误
d) 不能通过编译
11. 在Java语言中,下列语句中正确的是()。
a) String temp[]=new String {“j”,“a”,“z”};
b) String temp[]= {“j” “b” “c”};
c) String temp[3]= {“a”,“b”,“c”};
d) String temp[]= {“a”, “b” ,“c”};
12. 有以下代码(一项):
class Test{
private static int x=100;
public static void main(String arg[]){
Test t1=new Test();
t1.x++;
Test t2=new Test();
t2.x++;
t1=new Test();
t1.x++;
Test.x++;
System.out.println("x="+x);
}
a) 第5行不能通过编译,因为引用了私有静态变量
b) 第10行不能通过编译,因为X是私有静态变量。
c) 程序通过编译,结果为X=103
d) 程序通过编译,结果为X=104
13. 以下有关构造函数的说法,正确的是(两项):
a) 一个类可以有多个构造函数
b) 构造函数在对象创建时被调用
c) 构造函数有返回值
d) 构造函数可以和类同名,也可以和类名不同
14. 下列语句有语法错误的是(选一项):
a) int x=1 ; y=2; z=3;
b) for(x=10,y=0;x>0;x++);
c) while(x>5);
d) for(;;)
15. 算术表达式1+2/3-4*5的值为。(选择1项)
a) 1
b) -19
c) -5
d) 0
计算机是从左到右的 从1+2开始但是因为除法的优先级比加法高所以先算2/3 结果为0,然后算1+0=1 再算1-4 因为乘法的优先级比加法高所以算4*5==20 然后再算 1-20 结果为-19
16. 下列哪一项不属于面向对象程序设计的基本要素?(选择1项)
a) 类
b) 对象
c) 方法
d) 控制语句
17. 下面描述的源文件名(*.java)正确的是:(选两项)
a) 必须和含有main()方法的类名一致
b)必须和public修饰的类名一致
C)如果没有public修饰的类,名字可以任意
b) 名字可以任意
18. ?下列哪些语句不能通过编译:(选择一项 )
a) String s = "john" + " was " + " here";
b) String s = "john" + 3;
c) int a = 3 + 5;
d) int a = 5 + 5.5;
19. ?下面哪几个函数是public void example(){...}的重载函数?(选择两项)方法重载只有参数的数量和类型有关与返回值类型 无关
a) public void example( int m){...}
b) public int example(){...}
c) public void example2(){...}
d) public int example ( int m, float f){...}
20. 接口是特殊的类,所以接口可以继承,子接口将继承父接口的所有常量和方法。
a) 对
b) 错
21. 如果p是父类Parent的对象,c是子类Child的对象,则c=p是正确的。
a) 对
b) 错
22. 如果一个类的方法与其父类中方法同名并有相同参数,但返回类型不同,也能构成重写。
a) 对
b) 错
23. 如果Food是一个接口,Banana是Food的一个实现类,则语句Food f = new Banana( )。
a) 对
b) 错
24. 抽象方法只存在于abstract class里。
a) 对
b) 错
25. 缺省的,接口中的所有变量都是final和static的。
a) 对
b) 错
26. 在Java语言中,下列表达式返回true的是(两项)。
a) “john”= =“john”//内存比较(只是标示不同)
b) “john”.equals(“john”) //值的比较
c) “john”=“john”
d) String s=“john”; s = = new String(“john”)
String a = “john”;
String b = “john”;
a==b true
a. equals(b) true
String c = new String(“john”);
a==c false
a.equals(c) true
27. ?如果编译运行下面的Java代码,将会(一项)。
class Shape{ }
class Circle extends Shape { }
public class Test{
public static void main(String args[ ]){
Shape s = new Shape ();
Circle c = (Circle) s;//父类强制转换成子类编译没错但运行时会有错
a) 能够正确地编译和运行
b) 发生编译时异常
c) 发生运行时异常
28. 在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句“super()”,该语句(一项)。
a) 调用类Worker中定义的super()方法
b) 调用类Person中定义的super()方法
c) 调用类Person的构造方法
d) 语法错误
29. 在Java中,关于final关键字的说法正确的是(选两项)。
a) 如果修饰变量,则一旦赋了值,就等同一个常量
b) 如果修饰类,则该类只能被一个子类继承
c) 如果修饰方法,则该方法不能在子类中被覆盖
d) 如果修饰方法,则该方法所在的类不能被继承
30. 下面的是关于类及其修饰符的一些描述,错误的是。(选择1项)
a) abstract类只能用来派生子类,不能用来创建abstract类的对象
b) abstract不能与final同时修饰一个类
c) final类不但可以用来派生子类,也可以用来创建final类的对象
d) abstract类中可以没有abstract方法
31. 运行下列Java代码后,包含在输出结果中的是()。(选择两项)
public class Example{
public static void main(String args[]){
int i=0;
do{
System.out.println(〞Doing it for i is 〞+i);
}while(- - i > 0);//先自减在判断
System.out.println(〞Finished〞);
}
a) Doing it for i is 3
b) Doing it for i is 1
c) Doing it for i is 2
d) Doing it for i is 0
e) Finished
32. *在Java中,下列代码将输出()。(选择一项)
Public class integerequals{
Public static void main(String args[ ]) {
Integer a=new Integer(3);
Integer b=new Integer(3);
System.out.println(a==b);//==比较的是内存 a b 指向完全不同的内存
}
a) 编译器将有错误
b) 程序编译并打印true
c) 程序编译并打印false
d) 运行期异常
33. 在Java中,在单一文件中import、class 和package的正确出现顺序是()。(选择一项)
a) class, import, package
b) package, import, class
c) import, package, class
d) package, class, import
34. 语句double d=Math.sqrt(1000);需要使用到的包是()。(选择一项)
a) Java.lang.*
b) Java.Math.*
c) Java.util.*;
d) 以上皆非
35. 编译并运行下面的Java代码段:
char c='a';
switch (c) {
case 'a':
System.out.println("a");
default: System.out.println("default");
} 输出结果是()。(选择一项)
a) 代码无法编译,因为switch语句没有一个合法的表达式
b) a 和 default // 没有了case 因此一直往下走
c) a
d) default
36. 在Java中,要想定义只有与该类在同一包内的其他类可以访问的类,应该用( )关键字。(选择一项)
a) 不需要任何关键字
b) private
c) final
d) protected
37. 编译并运行下面的Java程序:
class A{
int var1=1;
int var2;
public static void main(String[] args){
int var3=3;
A a=new A(); //new 同时声明了 var1 var2 的内存,因此可以计算;
System.out.println(a.var1+a.var2+var3);
}
} 将产生( )结果。(选择一项)
a) 0
b) 4
c) 3
d) 代码无法编译,因为var2根本没有被初始化
38. 在Java中,下面关于包的陈述中正确的是()。(选择两项)
a) 包的声明必须是源文件的第一句代码
b) 包的声明必须紧跟在import语句的后面
c) 只有公共类才能放在包中
d) 可以将多个源文件中的类放在同一个包中
39. 当一个类的某个变量声明为protected时下列说法正确的是()。(选择两项)
a) 只有同一类中的成员才能访问它
b) 不同包中的任何其他类都能够访问它
c) 同包中的任何其他类能够访问它
d) 不同包中的子类可以访问该变量
40. 在Java中,执行下面的语句后,c的值为()。(选择一项)
String s= "Jessica "; char c=s.charAt(6);
a) "c "
b) "a "
c) 'c '
d) 'a '
41. 考虑以下代码,选择一项正确答案
class Test{
void fun(int i){//将字符转化成了数字 字符在计算机已2进制的形式存在的
System.out.println(“第一个方法”);
}
void fun(String s){
System.out.println(“第二个方法”);
}
public static void main(String arg[]){
Test t=new Test();
char ch=’y’;
t.fun(ch);
}
}
a) 编译错误
b) 执行错误
c) 输出结果为:第一个方法
d) 输出结果为:第二个方法
42. 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是。(选择1项)
a) int Array[] a1,a2;
int a3[]={1,2,3,4,5};
b) int [ ] a1,a2;
int a3[]={1,2,3,4,5};
c) int a1,a2[ ];
int a3={1,2,3,4,5};
d) int [] a1,a2;
int a3=(1,2,3,4,5);
43. 在Java中,关于CLASSPATH环境变量的说法错误的是(一项)。(没讲)
a) CLASSPATH一旦设置之后不可修改
b) ?编译器用它来搜索各自的类文件
c) CLASSPATH是一个目录的列表
d) 解释器用它来搜索各自的类文件
44. this和super的使用中,正确的是:(两项)
a) 都是一个对象的内存地址//都指的是对象本身的内存地址
b) super()只能在子类的构造方法中出现
c) 意义相同
d) 可以在任何方法中出现
45. 下面哪些代码能通过编译:(选两项)
a) int i=0;
if(i) { System.out.print(i); }
b) boolean b=true;
if(b) { System.out.print(b); }
c) boolean b=true;
if(b==true) { System.out.print(b); }
d) boolean b=true;
if(b.equals(true)) { System.out.print(b); }
简单类型不能调用方法
46. ?类MyFrame中有public static void main(String args[])的声明,在Dos环境下,以java MyFrame hello world运行该类时,以下哪句是正确的(两项)
a) args[0]的值是hello
b) args[1] 的值是hello
c) args[0]的值是world
d) args[1] 的值是world
47. 在父类中,使用哪个修饰符,子类不可访问其变量(一项)
a) protected
b) private
c) 两个都可
d) 都不是
48. Java虚拟机执行的操作包括()。(选择三项)
a) 加载.class文件
b) 将.java文件编译成.class文件
c) 管理内存
d) 执行垃圾回收
e) 解释字节码文件(.class)
49. 在Java语言中,声明公共的抽象方法的正确格式是()。(选择一项)
a) public abstract void add();
b) public abstract void add(){}
c) public abstract add();
d) public virtual add();
50. 关于字符串方法,正确描述有:(两项)
a) subString()可以返回一个字符串的部分子串
b) split()是查找一个字符串是否出现在另一个字符串中
c) replace()是将一个字符串的部分子串删除
d) compareTo()用来比较两个字符串的大小