内容发布更新时间 : 2025/1/7 11:00:47星期一 下面是文章的全部内容请认真阅读。
1
注意Java中是大小写敏感的,请注意大小写的使用!! 一、判断题:
1.Java语言不含有指针与析构方法,所以Java程序只有在结束运行时才能释放所占用的内存。(╳) 2. Java语言是不区分大小写的。(╳)
3. Java程序都应当含有main方法,因为它是所有Java程序执行的入口。(╳)
4. 作为Java程序入口的main方法,其声明可以写成“public static void main(String s[])”,也可以写成”public static void main(String [] s)。(√)
5. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。 (╳)
6. 判断该语句是否正确: b=9a+2; (╳)
7. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。 (╳)
8. Java语言为所有的Java程序自动导入包“java.lang”,因此Java程序可以直接用“java.lang”中的类和接口。位于类继承关系层次结构树的根部的类Object就是包“java.lang”中的一个类。 (√) 9. 有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。 (╳) 10. 构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void。 (╳) 11. 任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。 (╳)
12. Java语言对内存的释放是采用垃圾自动回收机制。Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。 (√)
13. Java系统提供了方法“System.gc()”来强制立即回收“垃圾”,即当调用该方法时,系统会立即回收“垃圾”。 (╳)
14. 程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的释放情况。(╳) 15. 如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。 (╳)
16. Java语言规定:任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。 (√)
17. 如果一个类不是内部类,则它的访问属性不能是private或者protected。 (√) 18. 抽象方法不能含有方法体,并且必须在抽象类中。 (√)
19. 抽象类是不能实例化的。抽象类的实例化,应当通过其不具有抽象属性的子类来创建。 (√) 20. 因为标准输入流(System.in)并不是真正的文件,所以标准输入流不像文件那样有明显的输入流结束标志,即如果程序不做特殊处理,则程序永远无法得到标准输入流的结束标志。 (╳)
21. 在Java中,类java.io.File虽然不直接处理文件内容,但可以通过类java.io.File达到改变当前路径的目的。 (╳)
22. 采用事件适配器比采用事件监听器的执行效率要高,因为采用事件适配器可以只处理所需处理的事件。 (╳)
23. 编写小应用程序实际上就算要实现类java.applet.Applet的子类,该子类必须是public类型,否则将在运行时出现异常。 (√)
24. 类java.applet.Applet的方法getCodeBase()返回小应用程序所在的URL地址,方法getDocumentBase()返回的是小应用程序所作的HTML文件的URL地址。 (√)
1
2
25. 在HTML文件中,关键字CODEBASE可以用来设置小应用程序所作的路径,CODEBASE的属性值既可以是一个URL地址,也可以是相对于当前HTML文件的相对路径。 (√)
26. 小应用程序允许在网页中给小应用程序传递参数。在网页中可以设置多个参数,其格式为< PARAM NAME=\参数1\值1\参数2\值2\参数3\值3\。 (╳) 27. 要启动一个线程要调用java.lang.Thread的方法start。在运行完方法start之后,该线程就处于运行状态。 (╳)
28. 当执行到同步语句“synchronized(引用类型表达式)”的语句块时,引用类型表达式所指向的对象就会被锁住,不允许其他线程对其进行访问,即当前的线程独占该对象。(√)
29.方法notifyAll和notify都是类java.lang.Object的成员方法。调用notifyAll会激活所有处于等待态的线程。调用notify最多只能激活一个处于等待态的线程。 (√)
30. 对于数组int [][]t={{1,2,3},{4,5,6}}来说,t.length等于3,t[0].length等于2。(╳)
31. 由于Java源程序文件名与类名存在同名的约束关系,所以一个Java源程序文件最多只会包含一个类。 (╳) 二、选择题
1. 设HelloWorld.java的文件内容如下:
public class HelloWorld {
public static void Main(String args[]) {
System.out.println(“Hello World”); }
} //类HelloWorld结束
下面说法正确的是( )。(D)
A. 在控制台命令提示符下先运行命令“javac HelloWorld.java”,然后运行命令“java HelloWorld”,结果输出一行字符串“Hello World”。
B.在控制台命令提示符下先运行命令“javac HelloWorld”,然后运行命令“java HelloWorld.class”,结果输出一行字符串“Hello World”。
C. 在控制台命令提示符下先运行命令“javac HelloWorld.java”,然后运行命令“java HelloWorld.class”,结果输出一行字符串“Hello World”。 D. 以上答案都不对。
2. 在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有几个( )。 (A) A.1 B. 2 C. 3 D. 4 3. 下面哪些选项不可以用作变量名的首字符( )? (C)
A. 字母 B. 下划线(_) C. 数字 D. 美元符号($) 4. 下面哪个单词是Java语言的关键字?( ) (B)
A. sizeof B. Abstract C. null D. String 5. 下面哪些单词是Java语言的关键字?( ) (B)
A. For B. for C. FOR D. True 6. 下面哪些单词是Java语言的关键字?( ) (D)
2
3
A. null B. false C. length D. instanceof 7. 下面哪个语句不会产生编译警告或错误?( ) (C)
A. float f=1.3; B. char c=”a”; C. byte b=25; D. boolean d=null; 8. 下面哪个赋值语句会产生编译错误?( ) (A)
A. float a=2.0; B. double b=2.0 C. int c=2; D. long d=2; 9. 下面哪条语句不可以通过编译?( ) (B)
A. float a=1; B. float b=1.0 C. float c=2e1f; D. float d=0x1234; 10. 设各个变量的定义如下,哪个选项的值为false?( ) (D)
int i=1; float f=1.0f; double d=1.0; boolean b=true;
A. i==f; B. i==d; C. f==d; D. 2.1
int a=3; int b=1; if(a=b)
System.out.println(“a=”+a);
A. a=1 B. a=3 C. 编译错误,没有输出 D. 正常运行,但没有输出 12. 执行完下面程序片段后,哪个结论是正确的?( ) (B)
int a,b,c; a=1; b=2;
c=(a+b>3?a++:++b);
A. a的值是2,b的值是3 B. a的值是1,b的值是3 C. a的值是1,b的值是2 D. c的值是false
13. 对于下面的源程序,哪些选项的结论是正确的?( ) (C)
class test { public static int mb_isodd(int x) { return(x % 2);
}
public static void main(String []args) { if(mb_isodd(3)) System.out.println(\ else
System.out.println(\ }
}
A. 程序输出“3 is odd.” B. 程序输出“3 is even.”
C. 程序无法通过编译 D. 程序可以通过编译,但无法正常运行
3
4
14. 对于下面的程序,哪个选项的结论是正确的? ( ) (B)
class test { public static void main(String []args) { int x=2; int y=2; if(++x==y++) System.out.println(\ else
System.out.println(\ }
}
A. 程序输出“x=y” B. 程序输出“x!=y”
C. 程序无法通过编译 D. 程序可以通过编译,但无法正常运行 15. 针对下面的程序,哪些结论是正确的( )? (D)
int i=0,j=9; do {
if(i++>--j)
break; }while(i<4);
System.out.println(\A. i=4 and j=4 B. i=5 and j=5 C. i=5 and j=4 D. i=4 and j=5 16. 关于下面的程序,哪个结论是正确的?( ) (C)
public class test { public test() { System.out.println(\
}
public static void main(String []args) { test t=new test(); t.test();
System.out.println(\ }
}
A. 程序可以通过编译并正常运行,结果输出“21” B. 程序可以通过编译并正常运行,结果输出“221” C. 程序无法通过编译
D.程序可以通过编译,但无法正常运行
17. 关于下面的程序,哪个结论是正确的?( ) (A)
class test_sub extends test
4
5
{ }
public class test { test(int i) { System.out.println(i);
}
public static void main(String []args) { test_sub t=new test_sub(); }
}
A. 不能通过编译,因为类test没有定义无参数的构造方法。 B. 不能通过编译,因为类test_sub没有定义无参数的构造方法。 C. 不能通过编译,因为没有实现test_sub(int i)构造方法。 D. 可以成功通过编译。
18. 关于Java的垃圾回收机制,下面的结论正确的是( )。 (C) A.程序可以任意指定释放内存的时间。
B. 正确的程序写法是能依赖于垃圾回收的时间或者顺序。 C. 程序可以明确地标识某个局部变量的引用不再被使用。 D. 程序可以显式地立即释放对象占有的内存。
19. 下面哪个方法定义置于第8行将会导致编译错误?( ) (B)(1). class Super (2). { (3). public float getNum(){return 3.0f;} (4). }
(5). public class Sub extends Super (6). { (7). (8). }
A.public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){}
D. public double getNum(float d){return 4.0d;}
20. 关于下面的程序,哪个结论是正确的?( ) (A)
public class test { static long m_index; static int m_age;
public static void mb_setData(long n) {
m_index=n;
5