Java程序设计期末考试题一、选择题下列说法中,不正确的是( A )A) 一个java源程序编译通过后,得到的结果文件数也只有一个。
B) 一个java源程序经过编译后,得到的文件的扩展名一定是.class。
C) 一个java源程序只能有一个public class类定义,且源文件的名字与public class的类名相同,扩展名必须是.java。
D) 一个java源程序可以包含多个class类。
请问,以下哪些描述是正确的?请选择所有正确答案:(1)如果package语句存在,则必须出现在源文件的非空白首行。
(2)如果import语句存在,则必须出现在源文件的非空白首行。
(3)如果main()方法存在,则必须出现在源文件的非空白首行。
(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。
请问,以下哪些是Java中的合法标识符?请选择所有正确答案:(1)my-id(2)my_id(3)101ids(4)id101请问,以下哪些是合法的标识符?请选择所有正确答案:(1)%abcd(2)$abcd(3)1abcd(4)package(5)_a_long_name以下哪个不是Java的关键字?()A、FALSEB、constC、thisD、void以下哪个不是Java的关键字?()A、TRUEB、gotoC、thisD、voidJava的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64请问一下哪些修饰符用于声明一个常量?请选择一个正确答案:staticfinalabstractpublic给出以下代码,该程序的运行结果是什么?public class Example{final int x=0;Example(){x=1;}final int aMethod(){return x;}}请选择所有正确答案:代码编译错误,因为非final类中存在final方法。
代码编译成功。
代码编译错误,因为代码中对一个final变量x有改变其值的操作。
代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
代码编译错误,因为final修饰符只能修饰方法不能修饰变量,因此语句final lint x=0错误.给出以下代码,请问该程序的运行结果是什么?public class Example{private final int i=10;private byte k=i;private static void main(String args[]){System.out.println(k);}}请选择一个正确答案:代码在第2行编译错误代码在第3行编译时发出变量k不精确警告。
报错是是因为k和i 没有声明static,而不是不精确警告。
代码编译成功。
(4)代码编译成功,但在运行期第5行抛出异常。
给出以下代码,该程序的运行结果是什么?public class Example{final int x=0;Example(){x=1;}final int aMethod(){return x;}}请选择所有正确答案:代码编译错误,因为非final类中存在final方法。
代码编译成功。
代码编译错误,因为代码中对一个final变量x有改变其值的操作。
代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
给出以下代码,请问该程序的运行结果是什么?class Example{public static void main(String args[]){int a=5;System.out.println(cube(a));}int cube(int theNum){return theNum*theNum*theNum;}}请选择一个正确答案:代码编译失败,因为方法cube()已经在ng.Math类上定义过。
代码编译失败,因为方法cube()不是static方法。
代码编译成功,但运行期抛出异常。
打印输出125。
有代码如下,请补全:public class Example{public enum Color{Red,Green,Blue};public void foo(){//在这里插入代码System.out.println(c);}}for(Color c:Color.values())for(Color c=RED; c<BLUE;c++)for(Color c:c.hasNext();c.next())for(Color c: Color[0]; c< Color.BLUE;c++)请问,以下哪些修饰符用于修饰变量,可使该变量属于类而不属于类实例?请选择一个正确答案:staticfinalabstracttransient设有下面两个类的定义:class Person {long id; // 身份证号String name; // 姓名}class Student extends Person {int score; // 入学总分int getScore(){return score;}}则类Person和类Student的关系是()。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误对于以下类:class A{}class B extends A{}class C extends A{}public class Test {public static void main(String args[]) {A x= new A();B y=new B();C z=new C();//此处插入一条语句}}下面哪个语句可以放到插入行?()A) x=y; B) z=x; C) z=(C)y; D) y=(A)y;给出以下代码,请问插入以下哪些语句可以满足对插入语句的要求?public class T{int r;int s;T(int x,int y){r=x;s=y;}}class S extends T{int t;public S(int x,int y,int z){//插入代码处:要求插入代码实现r=x,s=yt=z;}}请选择一个正确答案:T(x,y);this(x,y);super(x,y);super(x,y,z);以上均不对。
请问以下哪些关于构造器的描述是正确的?请选择所有正确答案:子类可以继承父类的构造器。
如果没有提供任何构造器,编译器自动为类提供一个无参的默认构造器。
构造器的返回类型均为void。
构造器可以抛出异常。
---------------------------------------------------------------------请问,以下哪些是有关方法覆盖的正确描述?请选择所有正确的答案:覆盖的方法和被覆盖的方法具有相同方法名、参数列表和返回类型。
覆盖的方法的访问范围声明不能比被覆盖的方法的访问范围小。
覆盖的方法不能抛出被覆盖的方法不能抛出的异常。
被覆盖的方法不能被private修饰。
在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、private protectedD、public已经声明了类“public class Th implements Runnable”,下面哪条语句可以启动该类型的线程?A. Thread t=new Thread(new Th()); t.start();B. new Th.start();C. Th t=new Th(); t.start();D. Th t=new Th(); t.run();给出以下代码,请问该程序的运行结果是什么?class Example{public static void main(String args[]){Object o=new String("abcd");String s=o;System.out.println(s);System.out.println(o);}注意:第四行是错误的,必须将o强制转换成String类型abcdabcd请选择一个正确答案:打印输出abcd和abcd代码编译失败,第3行发生错误。
代码编译失败,第4行发生错误。
代码编译失败,第6行发生错误。
三、判断题1.在Java中一个类不能同时继承一个类和实现一个接口。
F 2.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
T3. 接口ActionListener所对应的事件适配器是ActionAdapter.F4. 构造方法是类的一种特殊方法,它的方法名必须与类名相同。
T 5.在一个Java源程序文件中,可以有多个public类。
F6. Java语言含有指针。
F7. Java程序编译之后所生成文件的扩展名为“.java”。
F8. 假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,那么编译该文件的命令是“javac Hello”。
F9. BorderLayout使用"东","西","南","北","居中"来指定组件的位置。
T10.构造方法一般不允许返回任何值,但也不允许标注void。
T 11. 要启动一个线程需要调用Thread的方法start.在运行完start 之后,该线程就处于运行态了。
F12. 当执行到同步语句“synchronized”的语句块时,引用类型表示式所指向的对象就会被锁住,不允许其他线程对其进行访问,即当前的线程独占该对象。
T13. 抽象类可以实例化,但不能被继承;最终类不能实例化,可以被继承。
F14. Java语言不含有指针与析构方法,所以Java程序只有在结束运行时,才能释放所占用的内存。
F15. Java语言是不区分大小写的。
F16. Java程序源文件的扩展名为“.jar”。
F17.Frame是顶层容器,要使得Frame对象可见必须调用方法setVisible(true)。
T18.以//开始的是多行注释语句。
F19. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。
F20. 在Java中一个类只能实现一个接口。
F21. 在同一个类中,允许存在具有相同方法名和相同参数列表的方法,只要这些方法的返回类型不相同。
T30.对于数组int [][]t={{1,2,3},{4,5,6}};来说,t.length等于3,t[0].length等于3.F 32.抽象方法不能含有方法体,并且必须在抽象类中。