资源描述
<p>《Java程序设计》课程 试卷1
一、单选题(每题1分,共12分)
1.给定下面的代码片段:
1) String str = null;
2) if ((str != null) && (str.length() > 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); }
哪些行会导致错误?
A、 line 1
B、 line 2
C、 line 5
D、 line 8
2.下面哪种注释方法可以支持javadoc命令:
A、 /**...**/
B、 /*...*/
C、 //
D、 /**...*/
3. 欲编写如下图的一个界面,用于显示用户指定的图像: 假如在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最佳使用哪种组件:
A、 TextArea
B、 Panel
C、 Applet
D、 Canvas
4. 界面如上题所示。若"Button1"的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文献名,则该界面最佳是
A、 模式(Modal)Dialog
B、 非模式(None-modal)Dialog
C、 FileDialog
D、 Frame
5. 界面如上题所示。假如在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最佳应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会规定重画该组件)?
A、 构造方法
B、 paint(Graphics g)
C、 update(Graphics g)
D、 repaint()
6.下面关于Applet的说法对的的是
A、 Applet也需要main方法
B、 Applet必须继承自java.awt.Applet
C、 Applet能访问本地文献
D、 Applet程序不需要编译
7.看下面一段程序:
class Aclass{
void go(){
System.out.println("Aclass");
}
}
public class Bclass extends Aclass{
void go{
System.out.println("Bclass");
}
public static void main(String args[]){
Aclass a=new Aclass();
Aclass a1=new Bclass();
a.go();
a1.go();
}
以上程序运营结果是:
A、 Aclass
Aclass
B、 Bclass
Bclass
C、 Aclass
Bclass
D、 Bclass
Aclass
8.下列关于Java线程的说法那些是对的的
A、 每一个Java线程可以当作由代码、一个真实的CPU以及数据三部份组成。
B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、 Thread类属于java.util程序包。
D、 以上说法无一对的。
9.看以下程序:
boolean a=false;
boolean b=true;
boolean c=(a&&b)&&(!b);
int result=c==false?1:2;
这段程序执行完后,c与result的值是:
A、 c=false;result=1;
B、 c=true;result=2;
C、 c=true;result=1;
D、 c=false;result=2;
10.运营下列程序, 会产生什么结果
public class X extends Thread implements Runable{
public void run(){
System.out.println("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
t.start();
}
}
A、 in the Inner outer
B、 outer
C、 in the Inner
D、编译不通过
11.指出下列程序的运营结果
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A、 default
B、 default, zero
C、 error default clause not defined
D、 no output displayed那个
12.运营下列程序,会产生什么结果:
class Outer1{
private int a;
void foo(double d,final float f){
String s;
final boolean b;
class Inner{
void methodInner(){
System.out.println("in the Inner");
}
}
}
public static void main(String args[])
{
Outer1 me=new Outer1();
me.foo(123,123);
System.out.println("outer");
}
}
A、 in the Inner outer
B、 outer
C、 in the Inner
D、 编译不通过
二、多项选择题(每题2分,共22分)
1.下面哪些标记符在Java语言中是合法的?
A、 persons$
B、 TwoUsers
C、 *point
D、 instanceof F.end-line
2.下面哪些代码片段会产生编译错误?
A、 String s = "Gone with the wind"; String t = " good "; String k = s + t;
B、 String s = "Gone with the wind"; String t; t = s[3] + "one";
C、 String s = "Gone with the wind"; String standard = s.toUpperCase();
D、 String s = "home directory"; String t = s - "directory".
3.下面哪些赋值语句是错误的?
A、 float f = 11.1;
B、 double d = 5.3E12;
C、 char c = '\r';
D、 byte bb = 433;
E、 Boolean b=true;
4.给定下面的代码片段:
public void Test() {
try {
method();
System.out.println("Hello World");
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Exception?");
}
catch(Exception e)
{
System.out.println("Exception1");
}
finally{
System.out.println("Thank you!");
}
}
假如函数method正常运营并返回,会显示下面的哪些信息?
A、 Hello World
B、 Exception
C、 Exception1
D、 Thank you!
5.下列哪些语句是对的的?
A、 int a[][]=new int[][3];
B、 int a[][]={{1,3},{2,3,4},{1,2}};
C、 String s[][]=new String[2][];
D、 String s[][]={{"can","I"},{"help","you"}}
6.下面哪些语句可以对的地生成5个空字符串?
A、 String a [] = new String [5]; for (int i = 0; i < 5; a[i++] = "");
B、 String a [] = {"", "", "", "", ""};
C、 String a [5];
D、 String [5] a;
E、 String [] a = new String [5]; for (int i = 0; i < 5; a[i++] = null);
7.下面关于Java代码安全的说法哪些是对的的?
A、 程序执行过程中需要的所有类都是通过字节码校验程序装入的。
B、 代码的运营是由Java运营环境中的解释器完毕的。
C、 在运营时,字节码要通过装入,校验之后,才干在解释器中执行。
D、 在缺省的安全配置条件下,Java Applet不能访问任何本地资源。
8.下列方法属于java.lang.Math类的有(方法名相同即可):
A、 random()
B、 abs()
C、 sqrt()
D、 sin()
9.下列表达式哪些是对的的:
A、 byte=340;
B、 Boolean=1;
C、 long l=-2;
D、 double=0.9239d;
10.下面的说法对的的是:
A、 Java语言里的线程不是对象
B、 Applet不需要main方法
C、 Java语言的对象都是java.lang.Object的子类
D、 double是Java语言的合法标记符
11.下面的Java语句错误的是:
A、 Double a=1.0;
B、 double a=1.0;
C、 out.println("hello");
D、 DatagramSocket a = new DatagramSocket()
三、 填空题(每空2分,共18分)
1. Java中类成员的限定词有以下几种:private, public, ________, ________。其中,________的限定的范围最大。
2. Java中所有类都是类________的子类。
3. 请填出在java.lang包中与下列基本数据类型相相应的封装类: float:java.lang.Float, char:________, boolean:________。
4. 请写出下面程序的运营结果。
public class Test extends TT{
public void main(String args[]){
Test t = new Test("Tom");
}
public Test(String s){
super(s);
System.out.println("How do you do?");
}
public Test(){
this("I am Tom");
}
}
class TT{
public TT(){
System.out.println("What a pleasure!");
}
public TT(String s){
this();
System.out.println("I am "+s);
}
}
结果:
5. 给定下面的未完毕的代码片断:
public class Example{
int x,y;
public Example(int a){
…
x = a;
}
public Example(int a, int b){
//和上面一个参数的构造方法做同样的操作,涉及赋值
x=a y = b;
}
}
假如要用最简捷的一行代码实现"//和上面一个参数的…"注释所指出的功能,请写出你认为最合适的一行代码:
6. 假如有一个类MyFrame是Frame的子类,可以被不同包中的类所使用,同时又可认为线程提供运营代码(run()方法),请写出该类的声明头。 你的解答:
四、 编程题(每题10分,共40分)
1. 编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
2. 使用socket编写一个服务器端程序,服务器端程序在端口8888监听,假如它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。
3. 编写一个应用程序,创建三个线程分别显示各自的时间。
4. 编写一个计算器程序,只有加减乘除功能,当作applet运营。
五、 程序填空题: (每空4分,共8分)
1. 在空白处填上合适的语句。
public class ServerTimedOutException extends Exception {
private int port;
public ServerTimedOutException(String message, int port) {
super(message);
this.port = port;
}
public int getPort() {
return port;
}
}
class Client{
//在下行空白出填上声明抛弃ServerTimedOutException例外的语句
public void connectMe(String serverName)
{
int success;
int portToConnect = 80;
success = open(serverName, portToConnect);
if (success == -1) {
/*在下行空白处填上抛出ServerTimedOutException例外的语句*/
}
}
}</p>
展开阅读全文