资源描述
二.选择题;
1.以下哪个方法用于定义线程的执行体? ( C )
A、 start() B、init() C、run() D、synchronized()
2.下面哪个不是Java中的容器? ( B )
A、 ScrollPane B、Canvas C、Applet D、Dialog
3.下面哪个方法与applet的显示无关?( A )
A、draw() B、 update() C、repaint() D、paint()
4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式? ( A )
A、 FlowLayout B、CardLayout C、BorderLayout D、GridLayout
5.有如下代码段:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?(D )
A、public IOException methodName()
B、public void methodName()
C、public void methodName() throw IOException
D、public void methodName() throws IOException
6.以下哪个关键字可以用来对对象加互斥锁?( B)
A、transient B、synchronized C、 serialize D、static
7.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private B、protected C、private protected D、public
8.编译并运行以下程序,以下描述哪个选项是正确的( C )
1. class A{
2. protected boolean equals(){
3. return super.equals();}
4. }
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错
9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。
A、8 B、16 C、32 D、64
10.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ;
11.以下关于构造函数的描述错误的是( A )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
12.有程序如下,关于程序的描述哪个是正确的?( C )
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、正确,输出 null
13.有语句String s=”hello world”; ,以下操作哪个是不合法的?( B )
A、int i=s.length(); B、s>>>=3; C、String ts=s.trim(); D、String t=s+”!”;
14.给出如下代码:
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成员变量m 被函数fun()直接访问?( C )
A、将private int m 改为protected int m
B、将private int m 改为 public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m
15. Java application中的主类需包含main方法,main方法的返回类型是什么?( D )
A、int B、float C、double D、void
16.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
17.下列哪些语句关于Java内存回收的说明是正确的? ( B )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
18.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ;
19.容器Panel和Applet缺省使用的布局编辑策略是( B )
A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout
20.设有下面两个赋值语句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
21.编译并运行以下程序,以下描述哪个选项是正确的( C )。
1. class A{
2. protected String toString(){
3. return super.toString();}
4. }
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错
22.有以下程序片段,下列哪个选项不能插入到行1。( D )
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
23.以下哪个不是Java的关键字?( A )
A、TRUE B、const C、super D、void
24.关于以下application的说明,正确的是( C )。
1. class StaticStuff
2. {
3. static int x;
4. static { x+=5;}
5. public static void main(String args[ ])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=5;}
10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=1
D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化
25.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?(B
A、OutputStream B、File C、InputStream D、BufferedOutputStream
26.在使用interface声明一个接口时,只可以使用(D )修饰符修饰该接口。
A、private B、protected C、private protected D、public
27.有程序片段如下,以下哪个表示式的结果为true?( B )
Float s=new Float(0.1f);
Float t=new Float(0.1f);
Double u=new Double(0.1);
A、s==t B、s.equals(t) C、u.equals(s) D、t.equals(u)
三.程序阅读题
1.写出以下程序的运行结果。(54321)
public class TestArray
{ public static void main(String args[ ]){
int i , j ;
int a[ ] = {1,3,2,5,4};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]>a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp; }
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( ); }
}
2.写出以下程序的功能。(在屏幕上输出test.java文件的内容)
import java.io.*;
class FileIODemo{
public static void main(String[ ] args) throws IOException{
int b;
FileInputStream fileIn=new FileInputStream(“test.java”);
while((b=fileIn.read())!=-1){
System.out.print((char)b); } }
}
3. 写出以下程序的运行结果。Str0str1str2 str0str2
import java.util.*;
public class Vec{
public static void main(String[] args) {
String[] s;
s=new String[2];
s[0]=new String("str1");
s[1]=new String("str2");
Vector v = new Vector();
for(int i = 0; i <2; i++) v.addElement(s[i]);
v.insertElementAt(new String("str0"),0);
Enumeration e = v.elements();
while(e.hasMoreElements()) System.out.print(e.nextElement()+" ");
System.out.println();
v.removeElement("str1" );
for(int i = 0; i < v.size() ; i++) System.out.print(v.elementAt(i) +" ");
System.out.println(); }
}
4.写出以下程序的运行结果。int
class OverloadDemo{
void testOverload( int i ){
System.out.println(“int”); }
void testOverload(String s){
System.out.println(“String”); }
public static void main(String args[ ]){
OverloadDemo a=new OverloadDemo ( );
char ch=’x’;
a.testOverload(ch); }
}
5.阅读以下程序,写出输出结果。inSecondclass
class First{
public First(){
aMethod(); }
public void aMethod(){
System.out.println(“in First class”);}
}
public class Second extends First{
public void aMethod(){
System.out.println(“in Second class”);}
public static void main(String[ ] args){
new Second( ); }
}
6.写出以下程序的运行结果。
class StaticTest {
static int x=1;
int y;
StaticTest()
{ y++; }
public static void main(String args[ ]){
StaticTest st=new StaticTest();
System.out.println("x=" + x);
System.out.println("st.y=" + st.y);
st=new StaticTest();
System.out.println("st.y=" + st.y); }
static { x++;}
}
x=2 st y=1 st y=1
7.阅读以下程序:
class Exp1
{
public static void main(String[] args)
{
String s,s1="";
char c;
s=args[0];
for (int i=0;i<s.length();i++)
{ c=s.charAt(i);
if(c>='a' && c<='z'){
s1=s1+Character.toUpperCase(c);
}else{
s1=s1+Character.toLowerCase(c); }
}
System.out.println(s1);
}
}
若在dos命令行输入:java Exp1 cHINA,则输出为 JAVA eXP1 China 。
8.阅读以下程序:
import java.io.*;public class AboutFile{
public static void main(String[ ] args){
BufferedReader b=new BufferedReader (new InputStreamReader(System.in));
String s;
System.out.flush();
s=b.readLine();
System.out.println(“String is:”+s);
}
}
运行以上程序,若从键盘输入:
java<回车>
则输出结果为 String is: java 。
9.阅读以下程序,写出输出结果。
class Animal {
Animal() {
System.out.print ("Animal "); }
}
public
class Cat extends Animal {
Cat() {
System.out.print ("Cat "); }
public static void main(String[] args) {
Cat kitty= new Cat(); }
}
Animal Cat
10.以下程序段的输出结果为 int,int 。
class Cruncher{
void crunch( int i ){
System.out.print(“int”); }
void crunch(String s){
System.out.print(“String”); }
public static void main(String args[ ]){
Cruncher crun=new Cruncher ( );
char ch=’h’;
int i=12;
crun.crunch(ch);
System.out.print(“,”);
crun.crunch(i); }
}
11.阅读以下程序,输出结果为 cooljava 。
import java.io.*;
public class TestString
{ public static void main(String args[ ])
{ StringC s = new StringC ("cool","java");
System.out.println(s); }
}
class StringC {
String s1;
String s2;
StringC( String str1 , String str2 )
{ s1 = str1; s2 = str2; }
public String toString( )
{ return s1+s2;}
}
12. 以下程序段的输出结果为 1 v0 v1 1 vo 。
import java.util.*;
public class VecApp {
public static void main(String[] args) {
Vector v = new Vector();
for(int i = 0; i <2; i++)
v.addElement("v"+i);
v.insertElementAt(new Integer(1),0);
Enumeration e = v.elements();
while(e.hasMoreElements())
System.out.print(e.nextElement()+" ");
System.out.println();
v.removeElement("v1" );
for(int i = 0; i < v.size() ; i++)
System.out.print(v.elementAt(i) +" ");
System.out.println();
}
}
四.编程题
1.编写一个输出"Welcome to Java World!"的Applet程序和嵌入该Applet的HTML页面。
① // Welcome.java
②//Welcome.html
<html>
</html>
import java.applet.*;
import java.awt.*;
public class Welcome extends Applet {
public static String str=null;
public void init() {
str="Welcome to Java World !";
};
public void paint(Graphics g) {
g.drawString(str, 10, 50);
};
}
编写一个完整的JavaApplication程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:
⑴接口ShapeArea:
①接口方法
doublegetArea():求一个形状的面积
doublegetPerimeter():求一个形状的周长
⑵类Rectangle:
实现ShapeArea接口,并有以下属性和方法:
① 属性
width:double型,表示长方形的宽度
height:double型,表示长方形的长度
② 方法
Rectangle(doublew,doubleh):构造函数
toString():输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶Test类作为主类要完成测试功能
① 生成Rectangle对象
②调用对象的toString方法,输出对象的描述信息
publicclassTest{//主类定义2分
publicstaticvoidmain(Stringargs[])
{ Rectangler=newRectangle(1,2);
System.out.println(r.toString()); }
}
interfaceShapeArea//接口定义2分
{ publicabstractdoublegetPerimeter();
publicabstractdoublegetArea();
}
classRectangleimplementsShapeArea{
doublewidth,height;//属性定义1分
Rectangle(doublew,doubleh) //构造函数定义1分
{ width=w;height=h; }
publicdoublegetPerimeter()//1分
{return2*(width+height);}
publicdoublegetArea()//1分
{returnwidth*height;}
publicStringtoString()//2分
{ return"width="+width+",height="+height+
",perimeter="+getPerimeter()+",area="+getArea();
}
}
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
第 9 页 共 9 页
展开阅读全文