资源描述
JAVA基础知识
一、多选题。根据问题,选择正确的答案。(每题2分,共72分)
1.下面哪些是合法的标识符?
A. $persons B. TwoUsers C. *point D. this E. _endline
2. 哪些是将一个十六进制值赋值给一个long型变量?
A. long number = 345L; B. long number = 0345;
C. long number = 0345L; D. long number = 0x345L
B. String s = "Gone with the wind";
String t;
t = s[3] + "one";
3.下面的哪些程序片断可能导致错误?
A. String s = "Gone with the wind";
String t = " good ";
String k = s + t;
D. String s = "home directory";
String t = s - "directory";
C. String s = "Gone with the wind";
String standard = s.toUpperCase();
4. 在// point x处的哪些申明在句法上合法的?
class Person {
private int a;
public int change(int m){ return m; }
}
public class Teacher extends Person {
public int b;
public static void main(String arg[]){
Person p = new Person();
Teacher t = new Teacher();
int i;
// point x
}
}
A. i = m; B. i = b; C. i = p.a; D. i = p.change(30); E. i = t.b.
5. 给出下面的代码片断:
…
2) Vector myVect;
3) myVect = new Vector();
4) }
…
下面的哪些陈述为true(真)?
A. 第二行的声明不会为变量myVect分配内存空间。
B. 第二行的声明分配一个到Vector对象的引用的内存空间。
C. 第二行语句创建一个Vector类对象。
D. 第三行语句创建一个Vector类对象。
E. 第三行语句为一个Vector类对象分配内存空间。
6. 下面的哪些答案可以用以表示八进制值8?
A. 010 B. 0x10 C. 08 D. 0x8
7.下列哪些不是Java关键字?
A. TRUE B. sizeof C. const D. super E. void
8. 下面关于继承的哪些叙述是正确的?
A.在java中只允许单一继承。
B.在java中abstract类只能被继承。
C.在java中final类只能被继承。。
D.java的单一继承使代码更可靠。
9. 给出下列程序代码:
1) class Person {
2) public void printValue(int i, int j) {/*…*/ }
3) public void printValue(int i){/*...*/ }
4) }
5) public class Teacher extends Person {
6) public void printValue() {/*...*/ }
7) public void printValue(int i) {/*...*/}
8) public static void main(String args[]){
9) Person t = new Teacher();
10) t.printValue(10);
11) }
12) }
第十行的声明将调用哪些方法?
A. on line 2 B. on line 3 C. on line 6 D. on line 7
10. 下面哪些不是java的原始数据类型?
A. short B. Boolean C. unit D. float
11. main()方法的返回类型是什么?
A. int B. void C. boolean D. static
12. 给出下面的代码:
if (x>0) { System.out.println("first"); }
else if (x>-3) { System.out.println("second"); }
else { System.out.println("third"); }
问:x的取值在什么范围内时将打印字符串"second"?
A. x > 0 B. x > -3 C. x <= -3 D. x <= 0 & x > -3
13.下面的哪些赋值语句是不正确的?
A. float f = 11.1; B. double d = 5.3E12;
C. double d = 3.14159; D. double d = 3.14D.
14.给出下面的不完整的类代码:
class Person {
String name, department;
int age;
public Person(String n){ name = n; }
public Person(String n, int a){ name = n; age = a; }
public Person(String n, String d, int a) {
// doing the same as two arguments version of constructor
// including assignment name=n,age=a
department = d;
}
}
问:下面的哪些表达式可以加到构造方法中的"doing the same as..."处?
A. Person(n,a); B. this(Person(n,a)); C. this(n,a);D. this(name,age).
15.下面关于变量及其范围的陈述哪些是对的?
A. 实例变量是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。
16.给出下面的代码:
public class Test {
void printValue(int m){
do { System.out.println("The value is"+m);
}
while( --m > 10 )
}
public static void main(String arg[]) {
int i=10;
Test t= new Test();
t.printValue(i);
}
}
问:输出将是什么?
A. The value is 8 B. The value is 9
C. The value is 10 D. The value is 11
17.下面的有关声明的哪些叙述是对的?
A. 对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。
B. 对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。
C. 非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。
D. 非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。
18.给出下面的代码:
1) public void modify() {
2) int i, j, k;
3) i = 100;
4) while ( i > 0 ) {
5) j = i * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) i--;
9) }
10) }
问:哪些行在编译时可能产生错误?
A. line 4 B. line 6 C. line 7 D. line 8
19.下面有关变量及其作用域的陈述哪些是对的?
A. 在方法里面定义的局部变量在方法退出的时候被撤销。
B. 局部变量也叫自动变量。
C. 在方法外面定义的变量(译注:即实例变量)在对象被构造时创建。
D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。
20.类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制?
A. public B. no modifier C. protected D. private
21. 下列哪个类声明是正确的?
A. abstract final class HI B.abstract private move()
C.protected private number; D.public abstract class Car
22. 给出下面的程序代码片段:
public class Base{
int w, x, y ,z;
public Base(int a,int b){
x=a; y=b;
}
public Base(int a, int b, int c, int d){
// assignment x=a, y=b
w=d;
z=c;
}}
问:下面的哪些表达式可以加到构造方法中注释的" // assignment x=a, y=b?"处?
A. Base(a,b); B. x=a, y=b; C. x=a; y=b; D. this(a,b);
23. 给出下列定义:
String s = "story";
问:下面的哪些表达式哪些是合法的l?
A. s += "books"; B. char c = s[1]; C. int len = s.length; D. String t = s.toLowerCase();
24. 执行下列程序段后,i和j的返回值是什么?
int i = 1;
int j;
j = i++;
A. 1, 1 B. 1, 2 C. 2, 1 D. 2, 2
25.下面哪些是Java的有效标识符?
A. fieldname B. super C. 3number D. #number E. $number
26.作为main()方法中的参数列表,下列中哪些是正确的?
A. char args[] B. char args[][] C. String arg[] D. String[] args E. String args
27.根据表达式: int m[] = {0, 1, 2, 3, 4, 5, 6 };
能够确定数据元素个数的表达式是哪些?
A. m.length() B. m.length C. m.length()+1 D. m.length+1
28.给出下列程序代码:
public class Test{
long a[] = new long[10];
public static void main ( String arg[] ) {
System.out.println ( a[6] );
}
}
问下面的语句哪些是正确的?
A. 输出是 null。. B. 输出是0。 C. 编译时出错。D.运行时出错。
29.给出下列程序代码段:
public class Test{
public static void main(String arg[]){
int i = 5;
do {
System.out.println(i);
} while (--i>5)
System.out.println("Finished");
}
}
程序执行后输出的结果是什么?
A. 5 B. 4 C. 6 D. Finished E. None
30.给出下列程序代码:
switch (m)
{
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default: System.out.println("Other Condition");
}
问:当m取何值时可以输出 "Condition 2"?
A. 0 B. 1 C. 2 D. 3 E. 4 F. None
31.哪些是Java的合法限定符?
A. private B. public C. protected D. protect E. friend
32. 哪些是定义成员变量常量的修饰符?
A. static B. final C. abstract D. No modifier can be used
33.下面程序代码定义了一个类:
public class Test {
private float f = 1.0;
int m = 12;
static int n=1;
public static void main(String arg[]) {
Test t = new Test();
// some code...
} }
问下面的用法哪些是合法的?
A. t.f B. this.n C. Test.m D. Test.n
34.给出下面程序代码:
Given the following class definition in one source file:
class Base {
public Base (){ //... }
public Base ( int m ){ //... }
protected void fun( int n ){ //... }
}
public class Child extends Base{
// member methods
}
问下面的哪些方法可以添加到子类中?
A. private void fun( int n ){ //...} B. void fun ( int n ){ //... }
C. protected void fun ( int n ) { //... } D. public void fun ( int n ) { //... }
E. public m(){ //... }
35.若Jjava的源文件名为Test.java, 下面关于类的定义哪些是正确的?
B. public class Test{
public int x=0;
public Test(int x) {
this.x = x;
}
}
A. public class test {
public int x = 0;
public test(int x)
{
this.x = x;
}
}
D. public class Test extends T1{
public int x=0;
public Test(int x){
this.x = x;
}
}
C. public class Test extends T1, T2 {
public int x = 0;
public Test (int x) {
this.x = x;
}
}
E. protected class Test extends T2{
public int x=0;
public Test(int x){
this.x=x;
}}
36.给出程序代码如下:
public class Parent {
int change() {…}
}
class Child extends Parent {
}
问哪些方法可被加入类Child?
A. public int change(){}
B. int chang(int i){}
C. private int change(){}
D. abstract int chang(){}
二、判断题(每题1分,共8分)
1.抽象类中一定有抽象方法。 ( )
2.子类与超类具有一样的功能。 ( )
3.抽象方法只能在其所在类的子类中通过方法覆盖面具体实现。 ( )
4.JAVA语言允许多重继承。 ( )
5.FINAL类可以有多个子类。 ( )
6.把一个类型强制转换成另一个类型的过程称作造型。 ( )
7.含有抽象抽象方法的类一定是抽象类。 ( )
8.抽象类可以实例化对象。 ( )
三、简答题(每题4分,共20分)
1.简述JAVA中类的构成要素?
2.简述JAVA中构造器的定义及功能?
3.简述类变量与类方法的调用方法?
4.OOP中对象的基本特征是什么?
5.简述数据封装的意义是什么?
9 / 9
展开阅读全文