教研室主任
(签字)
学院院长(系主任)
(签字)
华东理工大学试卷
B)abstract类中只能有abstract方法。
C)abstract类中可以有非abstract方法,但该方法不可以用final修饰。
D)不可以同时用final和abstract修饰一个方法。
答:
3.不同对象的实例变量分配的内存空间地址一定不同吗?
答:
4.类的static方法可以用类名调用吗?
答:
5.abstract类中可以有非abstract方法吗?
答:
6.源文件中声明编写的类一定在同一包中吗
答:
7.子类在什么情况下可以继承父类的友好成员?
答:
8.一个线程执行完run方法后,进入了什么状态?
答:
9.一个处于新建状态的线程调用isAlive()方法返回的结果是什么?答:
10.ServerSocket对象调用什么方法来建立服务器端的Socket对象?答:
装订线
二、阅读理解题(请在指定位置写出答案,否则无效。本大题共6小题,每小题10分,
总计60分)
1.请给出
E 类中标记的【结果1】、【结果2】。
class B { int n;
static int sum=0; void setN(int n) { this.n=n; }
int getSum()
{ for(int i=1;i<=n;i++) sum=sum+i; return sum; }
}
public class E
{ public static void main(String args[]) { B b1=new B(),b2=new B(); b1.setN(3); b2.setN(5);
int s1=b1.getSum(); int s2=b2.getSum();
System.out.println(s1); //【结果1】 System.out.println(s2);//【结果2】 } }
2.请给出E 类中标记的【结果1】、【结果2】。
class A
{ double f(double x,double y) { return x+y; } }
class B extends A { double f(int x,int y) { return x*y; } }
public class E
{ public static void main(String args[]) { B b=new B();
System.out.println(b.f(5,8)); //【结果1】 System.out.println(b.f(8.0,12.0));// 【结果2】 } }
考生注意: 考试时间100分钟 试卷总分 100 分 共 4 页 第 1 页
3.请给出E 类中标记的【结果】。
import java.util.*; class GetToken { String s[];
public String getToken(int index,String str)
{ StringTokenizer fenxi=new StringTokenizer(str); int number=fenxi.countTokens(); s=new String[number+1]; int k=1;
while(fenxi.hasMoreTokens()) { String temp=fenxi.nextToken(); s[k]=temp;
k++; }
if(index<=number) return s[index]; else
return null; } } class E
{ public static void main(String args[])
{ String str="public static void main"; GetToken token=new GetToken(); String s1=token.getToken(2,str), s2=token.getToken(4,str);
System.out.println(s1+":"+s2); //【结果】 } }
4.请给出E 类中标记的【结果1】、【结果2】。
class AAA
{ int add(int x,int y)
{ return x+y;
} }
class Student2004 extends AAA { int add(int x,int y) { return x-y; } }
public class E
{ public static void main(String args[]) { AAA a=new AAA();
System.out.println(a.add(55,33)); //【结果1】 a=new Student2004();
System.out.println(a.add(55,33)); //【结果2】 } }
装订
线
5.请给出E类中标记的【结果1】、【结果2】。
import java.awt.*;
public class E implements Runnable
{ StringBuffer buffer=new StringBuffer();
Thread t1,t2,t3;
E()
{ t1=new Thread(this);
t2=new Thread(this);
t3=new Thread(this);
}
public synchronized void addString(String c)
{ if(Thread.currentThread()==t1)
{ while(buffer.length()==0)
try{ wait();
}
catch(Exception e){}
buffer.append(c);
}
if(Thread.currentThread()==t2)
{ while(buffer.length()<15)
try{ wait();
}
catch(Exception e){}
buffer.append(c);
}
if(Thread.currentThread()==t3)
{ buffer.append(c);
}
notifyAll();
}
public void run()
{if(Thread.currentThread()==t1)
{ addString("今天是一月十五号,") ;
}
if(Thread.currentThread()==t2)
{ addString("天气不错,") ;
}
if(Thread.currentThread()==t3)
{ addString("我们考试的科目是Java,") ;
}
}
public static void main(String s[])
{ E hello=new E();
System.out.println(hello.t1.isAlive()+","+hello.t2.isAlive()); //【结果1】
hello.t2.start();
hello.t1.start();
hello.t3.start();
while(hello.t1.isAlive()||hello.t2.isAlive()||hello.t3.isAlive())
{ }
System.out.println(hello.buffer); //【结果2】
}
}
共4 页第 2 页
6.请说出E 类中System.out.println 的输出结果。
//本题不会考的 超过了老师给的提纲了
import java.io.*; public class E {
public static void main(String args[]) { try{
FileOutputStream out=new FileOutputStream("hello.txt"); FileInputStream in=new FileInputStream("hello.txt"); byte content[]="ABCDEFG".getBytes();
StringBuffer bufferOne=new StringBuffer(),
bufferTwo=new StringBuffer();
//本题不会考的 超过了老师给的提纲了
int m=-1;
byte tom[]=new byte[3]; out.write(content); out.close();
while((m=in.read(tom,0,3))!=-1) {
String s1=new String (tom,0,m);
bufferOne.append(s1);
String s2=new String (tom,0,3); bufferTwo.append(s2); }
in.close();
System.out.println(bufferOne); //【结果1】 System.out.println(bufferTwo); //【结果2】 }
catch(IOException e){} } }
//本题不会考的 超过了老师给的提纲了
装订
线
四、模板编程题(请按模板要求,在指定位置写出【代码】答案,否则无效。本大题
共2小题,每小题10分,总计20分))
【代码1】:text=new TextField(12);
【代码2】:label=new Label(“I love this game”);
【代码3】:setLayout(new FlowLayout());
【代码4】:text.addActionListener(this);
【代码5】:label.setText(text.getText());
import java.awt.*;
import java.awt.event.*;
class IenFrame extends Frame implements ActionListener
{ TextField text;
Label label;
IenFrame()
{
【代码1】 //创建TextField对象:text,要求text的可见字符数为12个机器字符。
【代码2】 //创建 Label对象:label,要求label上的名字是"I love this game"。
【代码3】 //设置窗口的布局为FlowLayout型布局。
【代码4】 //将当前窗口作为text的ActionEvent事件的监视器。
add(label);
add(text);
}
public void actionPerformed(ActionEvent e)
{
【代码5】 //label调用方法将自己名字设置为text中的文本
}
}
2.
【代码1】:str.indexOf("1236");
【代码2】:str.length();
【代码3】:str.charAt(3);
【代码4】:str.substring(5);
【代码5】:Integer.parseInt(temp);
class IenString
{ public static void main(String args[])
{ int index=-1,length=0,n=0;
String str="我非常喜欢1236" ;
index=【代码1】 //str调用方法返回"1236"在str出现的位置
length=【代码2】 //str调用方法返回str中字符的个数
char c=【代码3】 //str调用方法返回str中的字符:'喜'
String temp=【代码4】 //str调用方法返回字符串"1236"
n=【代码5】 //将temp转化为int型数据。
System.out.println(n);
}
}
共 4 页第 3 页
JAVA语言基础内部测试题 一.单项选择题(请选择最符合题目要求的答案)(每题2分) 1.定义类头时,不可能用到的关键字是( )。 A) class B)private C)extends D)public 2.下列类定义中,不正确的是( )。 A)class x { .... } B)class x extends y { .... } C)static class x implements y1,y2 { .... } D)public class x extends Applet { .... } 3.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 A)float A a; B)public A a=A( ); C) A a=new int( ); D) A a=new A( ); 4.有一个类A,以下为其构造方法的声明,其中正确的是( )。 A)public A(int x){...} B)static A(int x){...} C)public a(int x){...} D)void A(int x){...} 5.下列语句哪一个正确() A)Java程序经编译后会产生machine code B)Java程序经编译后会产生byte code C)Java程序经编译后会产生DLL D)以上都不正确 6.下列选项中,定义接口MyInterface的语句正确的是:() A)interface MyInterface{ } B) implements MyInterface { } C) class MyInterface{ } D) implements interface My{ } 7.如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定 义如下:void mymethod(int a),则子类方法的定义不合法的是:() A)public void mymethod(int a) B)protected void mymethod(int a) C)private void mymethod(int a) D)void mymethod(int a) 8.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。 A.try子句 B.catch子句 C.throw子句 D.finally子句 9.给定以下JAVA代码,这段代码编译运行后输出的结果是() public class Test { public static int aMethod(int i) throws Exception { try{ return i/10; }catch(Exception ex){ throw new Exception ("exception in a aMothod"); }finally{ System.out.print("finally"); } }
1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4. 编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; "The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F C. _whatavariable D. _3_
6.内部数据类型byte的取值范围是B - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: "zero"); break; case 1: "one"); case 2: "two"); default: "default"); } B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default: "default"); case 0:
物理与电信工程学院2011—2012学年第(一)学期期末考试 《Java程序设计》试卷(B) 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干前的括号内。每小题1分,共20分) (D )1、数组中可以包含什么类型的元素?_____________。 A、int型 B、 string型 C、数组 D、以上都可以 (A )2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) (B )3、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A..java B..class C. .html D. .exe (D)4、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符? A、 private B、public C、protected D、no modifier (C )5、以下哪个方法用于定义线程的执行体? A、 start() B、init() C、run() D、main() (D )6.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100; C、 final public int MAX_LENGTH=100; D、 public final int MAX_LENGTH=100. (B )7.下面哪些选项是正确的main方法说明? A、public main(String args[]) B、 public static void main(String args[]) C、private static void main(String args[]) D、void main() (A )8. ,JA V A对象主要属性有________。 A. 状态与行为 B. 抽象和封装 C. 继承与多态 D. 可重用和可扩展 ( A )9.下列正确的Java的标识符是________。 A. userName B. %passwd C. 3d_game D. class ( B )10.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的________? A、public static void main() B、public static void main(String args[]) C、public static int main(String [] arg) D、public void main(String arg[]) ( B )11.下列说法中正确的一个是________。 A、length是合法的Java保留字 B、null和NULL一样是Java保留字 C、使用一个变量之前可以不用定义该变量 D、布尔型属于复合数据类型 ( A)12.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。 A、Label B、Button C、TextArea D、TextField ( D )13.在Java中,下面关于包的陈述中正确的是________。 A、包的声明必须是源文件的任意位置; B、包的声明必须紧跟在import语句的后面;
JAVA考试试卷及答案 选择题 3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。 ()() ()() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstractfinalclassHI{···}B)abstractprivatemove(){···} C)protectedprivatenumber;D)publicabstractclassCar{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的?B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.StringtoString() B.voidnotify() C.voidnotifyAll() D.voidwait() 11、给出下面代码:C publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[]value,intoffset,intcount) B.String(int[]codePoints,intoffset,intcount) C.String(Stringoriginal) D.String(StringBufferbuffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对
《Java语言程序设计》 一.选择题:本 大题共20小 题;每小题1 分,共20分。 在每小题给出 的四个选择中,只有一项是符合题目要求的,把所 选择项前的字母填在题后的括号内。 1.一个Java源程序编译后生成的文件为 Test.class,则运行该程序应该使用的命令为 ()。 (A)javac Test (B)javac Test.class (C)java Test (D)java Test.class 2. 下面数据类型的定义中错误的是()。 (A)int a = 10; (B)double d = 1.2; (C)float f = 1.2; (D)char c = ‘A’; 3. 类可以保护它的成员变量和成员函数不会被其 他对象随意访问到,这一特性属于类的()。 (A)封装性(B)继承性 (C)多态性(D)重载 4. 以下关于字符串类的说法正确的是()。 (A)String类用于字符串变量,而 StringBuffer类用于字符串常量 (B)String类用于字符串常量,而 StringBuffer类用于字符串变量 (C)String类的对象只能用“new”关键字 生成 (D)StringBuffer字符串的容量是指字符串 中字符的个数 5. 在Java的异常处理语句中对finally的描述正 确的是()。 (A)不管是否发生异常,finally中的程序 都要执行 (B)只有不发生异常时,finally中的程序 才需要执行 (C)只有异常发生时,finally中的程序才 需要执行 (D)不管是否发生异常,finally中的程序 都不会执行 6. 在子类的定义中有一个和父类同名的成员函 数,这一现象称为函数的()。 (A)继承(B)覆盖 (C)错误(D)重载 7. 下面文件操作中哪一个方法是用来一次创建多 个目录的()。 (A)createNewFiles() (B)mkdir() (C)isDirectory() (D)mkdirs() 8. 在基于Swing的图形用户界面设计中,下面哪 一个属于中间级容器()。
《JA V A语言程序设计》期末考试试题及答案 一、单选题 1、下列程序段执行后的结果是( A )。 String s = new String("abcdefg"); for (int i=0; i 《JAVA程序设计》期末考试试题(二) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)分析: java中没有回收(FREE)内存的功能, 它会自动回收的, 只要把对象close掉就等着回收就行了. 由于对象是使用new运算符动态分配的,java方法是自动为你的处理存储单元重新分配问题。完成这项工作的技术被称为无用单元收集(garbage collection)。它的工作原理:当不存在对一个对象的引用时,我们就假定不再需要那个对象了,那个对象所占有的存储单元可以被收回。在java中并不像在C++中一样需要明确地销毁对象。无用单元收集仅在偶尔执行程序时出现。它不会出现,是因为存在一个或多个不再使用的对象。还有,不同的Java运行时实现将会使用不同的无用单元收集方法,但是在大多数情况下,在编程时不必考虑它。如果一个对象正在持有某些非Java资源,如文件处理或窗口字符字体,那么Java提供了一种称为结束(finalization)的机制。 3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 分析: 不对,JAVA虽然有垃圾回收机制,但是不能在指定的时间释放内存对象,只能在程序运行期间,当虚拟机空闲的时候回收。 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)分析: 无返回类型 5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 分析: 个人觉得原因是子类更加具体一些, 可以更好得描述这个异常, 所以会把子类写在前面, 如果把父类写在前面, 那么这个父类就会接受很多的异常了, 后面的子类就接收不到了6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√) 7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 分析: 左上角被确定为坐标的起点 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 分析: 并不是生成一个新对象, 只是引用相同而已, 真正的对象的空间是一样的. 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、String args B、String ar[] C、Char arg D、StringBuffer args[] 分析: 比较常见的是String[] args, 但是String args[]也是可以的, ar和args并没有什么区别. 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 分析:这是GUI里面的, 不考. 《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数?() A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条()。 A、Panel B、Frame C、Applet D、Dialog 选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D ) A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C ) XXXX大学2006 /2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟班级名称:学号:姓名: 一、选择题(每题2分,共30分) 1、Java程序的执行过程中用到一套JDK工具,其中java.exe是指。 A.Java文档生成器 B.Java解释器 C.Java编译器 D.Java类分解器 2、Java语言中,下列标识符错误的是。 A.—sys1 B.&—m C.I D.40name 3、下列语句执行后,变量a、c的值分别是。 int x=182; int a,c; c=x/100; a=x%10; A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 4、应用程序的main方法中有以下语句,则输出的结果是。 String s1="0.5",s2="12"; double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y); A) 12.5 B) 120.5 C) 12 D) “12.5” 5、下列程序段执行后的结果是。 String s=new String("abcdefg");分析《JAVA程序设计》期末考试试题_(二)
《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)
JAVA试题及答案(精致)
Java程序设计试卷及答案