Java1试题加答案()
更新时间:2024-02-03 19:24:01 阅读量: 教育文库 文档下载
- java推荐度:
- 相关推荐
试卷(一)
一、填空题(每空2分,共计10分)
1、在Java平台技术中,boolean数据类型只有两个值分别是 和 2、面向对象技术三个特点是封装、继承和 。
3、封装在类中某方法,其方法名与类名相同且没有返回类型并负责完成对象成员的初始化工作,为实例变量赋予合适的初始值,则该方法是 方法。
4、在一个类中封装了多个同名方法,而这些同名方法之间的参数类型不同或参数的个数不同,则这种现象称之为方法的 。
5、用来表示当前对象的关键字是this,而用来表示父类对象的关键字是 。 二、判断题(每题2分,共计20分,请将答案写在相应的答题卡栏中) 1、StringBuffer实例的字符串内容能够通过封装在该类中方法进行修改。 ( ) 2、int数据类型的变量在某种情况可以自动转换成String类型。 ( ) 3、包可以实现在一个工程(project)中定义多个同名类。 ( ) 4、在您的程序中使用Scanner类需要使用语句:import java.util.Scanner; ( ) 5、使用继承可以提高代码的复用性。 ( ) 6、数组对象的lenth属性显示的是数组的长度。 ( ) 7、在比较str1和str2两个字符串对象值是否相等时使用语句str1=str2。 ( ) 8、用于结束循环而执行循环体外围语句的是break语句。 ( ) 9、用于提前结束本次循环而进入下一次循环的是continue语句。 ( ) 10、static修饰的方法称之为类方法。 ( ) 二、选择题:(每题2分,共计40分)
1、选出合理的标识符 ( ) A、2mail B、_sys1@l23 C、$change D、class
2、指出下列程序运行的结果 ( ) public class Example{
String str=new String(\ char[]ch={'a','b','c'};
public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);
System.out.print(ex.str+\ System.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ ch[0]='g'; } }
A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc
1
3、Java技术平台共分为3种类型: ( ) A、Java ME、Java SE、Java EE B、Java SE、Java DE、Java EE C、Java UE、Java SE、Java EE D、Java FE、Java SE、Java EE
4、在控制台显示消息的语句正确的是: ( ) A、system.out.println(“hello world ”); B、System.Out.println(“hello world ”); C、System.out.println(“hello world ”); D、System.Out.Println(“hello world ”);
5、下列说法正确的是: ( ) A、Java程序的main方法必须都写在类里面 B、Java程序中可以有多个main方法
C、Java程序的以public修饰的类名不必与所在的文件的文件名一样。 D、Java程序的main方法定义中的static可以去掉。
6、表达式(18+3*8)/4%3的值是: A、31 B、0 C、1 D、2
7、为一个boolean类型的变量赋值时,可以使用方式: A、boolean a=1;
B、boolean a=(9>=10); C、boolean a=”真”; D、boolean a==false;
8下面程序执行的结果是: public class Weather{ public static void main(String[] args){ int shidu=15; if(shidu>=80){ System.out.println(“要下雨了!!!”); } else if(shidu>=50){ System.out.println(“天阴了!!!”); } else if(shidu>=30){ System.out.println(“很舒适!!!”); } else if(shidu>=0){ System.out.println(“很干燥!!!”); } } }
A、要下雨了 B、天阴了 C、很舒适 D、很干燥
9.运行下面的程序将输出( )次“我爱您中国!” public class China{ public static void main(String[] args){ int i=1; do {
) ) ) 2
(((
System.out.println(“我爱您中国!”); } while(i<5); } } A、4 B、5 C、死循环 D、0
10、无论循环条件判断的结果如何,( )循环将至少执行一次。 A、while B、do-while C、for D、以上都不是 11、( )是拥有属性和方法的实体。 A、对象 B、类 C、方法 D、重写
12.对象的特征在类中表示为变量,称为类的 ( ) A、对象 B、属性 C、方法 D、数据类型
13.关于类的描述正确的是 ( ) A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、类的成员变量的作用范围仅仅在定义它的方法中,或者是在定义它的控制流块中 C、使用别的类的方法仅仅需要引用的名字即可.
D、一个类的方法使用该类的另一个方法时可以直接引用方法名。
14.定义一个数组String[] role={“薛宝钗”,”林黛玉”,”贾宝玉”,”史湘云”,”贾元春”, ”贾迎春”,”贾探春”,”贾惜春”},则数组中的role[3]指的是 ( ) A、贾迎春 B、贾探春 C、 史湘云 D、数组越界
15.下列数组的初始化正确的是 ( ) A、int[] score=new int[];
B、int score[]=new int[]{90,12,34,77,56}; C、int[] score=new int[5]{ 90,12,34,77,56}; D、int score={90,12,34,77,56};
16.下列关于类的封装中说法不正确的是: ( ) A、隐藏实现细节,对外提供公共的访问接口 B、属性私有化、添加公有的setter、getter方法 C、增强代码的可维护性
D、从一个已有的类派生出新的类,子类具有父类的一般特性,以及自身特殊的特性 17.下列关于类的继承的说法中不正确的是: ( ) A、同一个实现接口,使用不同的实例而执行不同操作 B、继承需要符合的关系:is-a C、增强代码的可复用性
D、从一个已有的类派生出新的类,子类具有父类的一般特性,以及自身特殊的特性
18. 阅读和理解下面程序段: ( )class Manager extends Employee{ private double bonus;
public Manager(String n,double s,int year,int month,int day){
3
super(n,s,year,month,day); bonus=0; }
public double getSalary(){
double baseSalary=super;getSalary(); return baseSalary+bonus; }
public void setBonus(double b){ bonus=b; } }
Manager是Employee的子类,其理由是 A、Manager的适用范围较宽 B、extends关键字声明 C、Manager的域减小了 D、雇员是一个经理 19. 一个类可以通过下列哪个关键字实现接口? ( ) A、private B、public C、extends D、implements
20. 下列说法中正确的是 ( ) A、Java是不区分大小写的。 B、源文件名其扩展名为.jar
C、源文件中public类的数目不限 D、以上说法均不对。 四、上机编程题:(共计30分) 请编码实现如下需求:
1、乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin),各种乐器的弹奏( play ) 方法各不相同。
2、编写一个测试类InstrumentTest,要求:编写方法testPlay,对各种乐器进行弹奏测试。 要依据乐器的不同,进行相应的弹奏。 3、在main方法中进行测试
试卷(一)答案:
一、填空题: 1、true false 2、多态性 3、构造 4、重载 5、super
二、判断题:
4
1 √ 1 C 11 A 2 √ 2 B 12 B 3 √ 3 A 13 D 4 √ 4 C 14 C 5 √ 5 A 15 B 6 √ 6 D 16 D 7 × 7 B 17 A 8 √ 8 D 18 B 9 √ 9 C 19 D 10 √ 10 B 20 D 三、选择题:
四、编程题: 1、能正确封装Instrument类给3分 2、能正确写出play()方法在给2分
3、正确封装Violin、Piano类分别给3分,以上两个类中分别封装play()方法再给2分。 4、正确封装InstrumentTest类给3分,写出main()方法给2分,写出play()方法并使用多态性技术的给5分
试题(二)
一、选择题(2分*25=50分)
1、Java源程序经编译生成的字节码文件的扩展名为(),字节码文件由解释器执行。
A)classB)javaC)exeD)html 2、下面哪一个函数是线程的入口函数?
A)private void run()B)public void run() C)public void start()D)public void begin() 3、 关于组合框(combo box),以下陈述中哪个为真?
A)组合框允许选择多个元素。B)组合框的缺省是可编辑的。 C) 组合框只允许选择一个元素。
D)组合框用JComboBox类表示,它是由JList类派生过来的。 4、何时线程进入runnable 阶段?
A)当调用get() 方法时B)当调用setTime() 方法时 C)当调用showStatus() 方法时D)当调用start()方法时 5、下列不属于WindowListener接口的是( )
A)windowOpened() B)windowClosed() C)windowActivated() D)mouseDragged()
6、System类属于( )包。
A)java.util B)java.io C)java.awtD)java.lang
7、代码模板产生了一个异常ArrayStoreException。产生这个错误可能的原因是什么? A)程序试图在数组中存贮错的数据类型
B)程序试图在数组单元0存贮数据
C)程序试图在串中访问不存在的字符位置 D)程序试图访问数组下标外的数组元素
8、在Java中,要想使本身、子类或包中的方法可以访问该类,应该用()关键字。
A)不需要任何关键字B)privateC)finalD)protected 9、如何强制垃圾回收一个对象?
5
A)不能强制回收 B)调用System.gc() C)调用System.gc(),并传入对象引用 D)调用Runtim.gc() 10、有关网络通信的类都集中在哪一个包中?
A).Java.network.*;B)Java.socket.*;C)Java.net.*;D).Java.message.*;
11、在GridBagLayout布局中,可以设置组件在其显示区域位置的约束是
A) girdx 和gridy B) weightx和 weightyC) gridwidth和 gridheightD) anchor 12、既能作为类的修饰符, 也能作为类成员的修饰符的是( )。
A) publicB) extendsC) FloatD)static
13、以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用( )。A)paint() B)init() C)action() D)start() 14、下面关于Applet的说法正确的是
A)Applet也需要main方法
B)Applet必须继承自java.awt.Applet C)Applet能访问本地文件 D)Applet程序不需要编译
15、paint()方法使用哪种类型的参数?
A)GraphicsB)Graphics2DC)StringD)Color 16、下面哪一个是非法的标识符?
A)2variableB)Variable2C)_whatD) _3_
17、在Applet里面,如果需要强制重画当前窗口,使用什么函数? A)paint() B)repaint() C)redraw() D)draw() 18、在GridBagLayout中,fill属性默认值是哪一个?
A)GridBagConstraints.NONE
B)GridBagConstraints.HORIZONTAL C)GridBagConstraints.VERTICAL D)GridBagConstraints.BOTH
19、哪个不是FilterInputStream的子类?
A)DataInputStream B)BufferedInputStream C)PushbackInputStream D)FileInputStream
20、在窗体上,单击一个按钮,会产生什么事件? A)ClickEvent B)ActionEvent C)MouseEvent D)ButtonEvent 21、预测以下代码的输出:
class Student{
String name; String id; void display(){
System.out.println(“Name:”+name+” ID :”+id); }
public static void main(String args[]){ Student student=new student; student.name=”Alisha”;
6
student.id=”C001”; student.display(); } }
A) 将有一个编译错误,因为名字和id没有初始化。 B) 将印出”Name:Alisha ID:C001” 。
C) 将引发一个异常,因为没有创建学生。
D) 将有一个编译错误,因为学生引用没有初始化。 22、给出下面代码段:
1) switch(m)
2) { case 0: System.out.println(\
3) case 1: System.out.println(\ 4) case 2:
5) default: System.out.println(\ 6) }
下列m的哪些值将引起\的输出?
A)0 B)1C)2D)3
23、下面的语句的作用是:( )。
Vector MyVector = new Vector(100,50);
A) 创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。 B) 创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。 C) 创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
D) 创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50 个元素空间单位递增。
24、在Java Applet程序用户自定义的Applet子类中,常常重载( )方法在Applet的界面中显示文字、图形和其它界面元素。 A)start( )
B)stop( )
C)init()
D)paint()
25、 要求CustomerDetails类存储客户的材料,诸如:客户id和客户名。CustomerDetails类应满足以下条件:
条件:CustomerDetails类不应有子类。 为保证上面条件得到满足,你应使用以下语句中哪一个来声明CustomerDetails类。
A) public class CustomerDetails
{
int customerID;
String customerName; }
B) abstract class CustomerDetails
{
int customerID;
String customerName; }
C) final class CustomerDetails
7
{
int customerID;
String customerName; }
D) class CustomerDetails
{
int customerID;
String customerName; }
二、判断题(2分*15=30分)
( ) 1、Java虚拟机是实现跨平台的基础。
( ) 2、Java applet不能够存取客户机磁盘上的文件。 ( ) 3、Java支持多继承。
( ) 4、sleep()方法是使线程停止一段时间的方法。
( ) 5、实现一个接口,则在类中一定要实现接口中的所有方法。 ( ) 6、一个Java类可以有多个父类,这称作多继承。
( ) 7、只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在。 ( ) 8、构造方法没有任何返回类型,哪怕是void也不行。 ( ) 9、抽象类不能实例化。
( ) 10、一个异常处理中 finally语句块只能有一个或者可以没有。
( ) 11、程序中抛出异常时(throw …),只能抛出自己定义的异常对象。 ( ) 12、用Javac编译Java源文件后得到代码是二进制的。 ( ) 13、String类在java.lang包中。
( ) 14、final类是为防止他人从你的类上派生新类,此类是不可继承的。 ( ) 15、所有的文件输入/输出流都继承于InputStream类/OutputStream类。 试卷()答案:
ABCDD DADAC DABBA ABADB CDDDC TTFTT FTTTT FTTTF
试卷(三)
一、单选题(本大题15小题,每小题2分,共30分) 1.下列语句执行后,变量a、c的值分别是( )。 int x=182; int a,c;
c=x/100; a=x;
A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 2.下面哪个表达式可用得到x和y的最大值( )?
A) x>y?y:x B) x
3.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输
8
出的结果是 ( )。
static void printBinary(int i) {
System.out.print(i + \的2进制数表示为:\\t\ for(int j = 31; j >=0; j--) if(((1 << j) & i) != 0) System.out.print(\ else
System.out.print(\ System.out.println();//换行 }
A) 00000000000000000000000000000001 B) 00000000000000000000000000000010 C) 00000000000000000000000000001111
D) 00000000000000000000000000000000
4. 应用程序的main方法中有以下语句,则输出的结果是 ( String s1=\
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. 应用程序的main方法中有以下语句,则输出的结果是 ( double x=1234.1234567;
DecimalFormat form1 = new DecimalFormat(\ System.out.println(\A) PI=1234.1 B) PI=1234
C) PI=1234.1235 D) PI=1234.0 6.下列程序段执行后的结果是( )。 String s=new String(\for(int i=0;i A) aceg B) ACEG C) abcdefg D) abcd 7. 应用程序的main方法中有以下语句,则输出的结果是 ( int[] x={122,33,55,678,-987}; int max=x[0]; for(int i=1;i System.out.println(max); A) 678 B) 122 C) -987 D) 33 8.下列语句序列执行后,k 的值是( )。 int x=2, y=5, k=0; switch( x%y ) { )。)。 )。 9 case 0: k=x+y; break; case 1: k=x-y; break; case 2: k=x*y; break; default: k=x/y; break; } System.out.println(k); A) 2 B) 5 C) 10 D) 0 9. 下面的程序输出的结果是( ) public class A implements B { public static void main(String args[]) { int i; A c1 = new A(); i= c1.k; System.out.println(\ } } interface B { int k = 10; } A) i=0 B) i=10 C) 程序有编译错误 D) i=true 10.应用程序的main方法中有以下语句,则输出的结果是 ( )。 int b[][]={{1, 2, 3}, {4,5}, {6,7}}; int sum=0; for(int i=0;i System.out.println(\ A) 28 B)6 C) 9 D) 13 11. 有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ). A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 12.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( ). public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new InputStreamReader(System.in)); String str=buf.readLine(); int x=Integer.parseInt(str); System.out.println(x/100); } 10 } A) 45 B)5 C) 123 D) 12345 13.下面的程序段执行后输出的结果是( )。 StringBuffer buf=new StringBuffer(\ buf.insert(7,\ System.out.println(buf.toString()); A) Beijing@2008 B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 14. 下面的程序编译运行后输出的结果是( )。 public class A implements Runnable { public static void main(String argv[]) { A a = new A(); Thread t = new Thread(a); t.start(); } public void run() { while(true) { try{ Thread.currentThread().sleep(1000); }catch(InterruptedException e){ System.out.println(e.toString()); } System.out.println(\ } } } A) 在屏幕上重复输出\。 B) 在屏幕上输出一次\。 C) 没有结果输出。 D) 以上说法都错误。 15.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File构造函 数中正确的路径和文件名的表示是( )。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) \B) \C) \D) \ 二、多选题(本大题10小题,每小题2分,共20分) 1.下面的说法正确的是( )。 A) Java 语言是面向对象的、解释执行的网络编程语言。B) Java 语言具有可移植性,是与平台无关的编程语 言。 C) Java 语言可对内存垃圾自动收集。D) Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要 java的运行环境。 11 2.下面main()方法的定义哪些是正确的( )? A)public static void main(String args[]) {} B)public static void main(String[]) {} C)public static void main(String[] args) {} D)public static void main(String [] x) {} 3.定义变量如下: char c='w'; int i=8; long L=15; float f=8.9f; 以下赋值语句正确的是( )。 A) i=c+i; B) c=c+i; C) L=f+L; D) f=i+L+f; 4.下面哪些关键字能用来控制对类成员的访问( )? A)public B)protected C)private D)default 5.面向对象程序设计的基本特征是( )。 A)抽象 B)封装 C)继承 D)多态 6.下面关于类的说法正确的是( )。 A)类是 Java 语言中的一种复合数据类型。 B)类中包含数据变量和方法。 C)类是对所有具有一定共性的对象的抽象。 D) Java 语言的类只支持单继承。 7. 编译并运行下面的程序,运行结果为( ). public class T1 { public static void main (String[] args){ T1 a=new T1(); a.method(8); a.method(1.2f); } void method(float i) { System.out.println(\ } void method(long i) { System.out.println(\ } } A)程序有编译错误,因为两个method()方法必须定义为静态(static)的。 B)程序可以编译运行,输出结果为: long: 8 float: 1.2 C)程序可以编译运行,输出结果为: float: 1.2 long: 8 D) 程序中定义的两个参数不同的method方法称为方法重栽。 8.下面是在命令行运行Java应用程序A,怎样才能在main(String args[])方法中访问单词\)? 12 java A the first snow , the first snow came. A)args[0] B)args[1] C)args[2] D)args[5] 9.编译并运行下面的程序,运行结果为( ). public class A { public static void main (String[] args) { A a=new B( ); a.test(); } void test() { System.out.print (\ } } class B extends A { void test() { super.test(); System.out.println(\ } } A)子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。 B)代码可以编译运行,并输出结果:AB 。 C)代码可以编译运行,并输出结果:A。 D)子类B定义了与父类A中同名的方法test,java中称为方法的重载 。 10.下面哪个说法正确( )? A)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。 B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。 C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。 D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 三、填空题(本大题10小题,每小题1分,共10分) 1. 创建类的对象时,使用运算符___________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与_____名相同。 3. Java语言中关键字_____表示双精度类型。 4. 若有定义:float b={1.1f, 3.5f, 6.8f};,则b.length()的值是_______。 5.若有类定义: class B extends A{ ? } 则类B是类A的______。 6.接口中的成员只有静态常量和______。 13 7. 在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。 8. 关键字______用于导入包中的类到程序中,供程序中使用。 9. Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异 常。 10. 程序中实现多线程的方法有两种:继承_____类和实现Runnable接口。 【答案】 1.new 2.类 3.double 4. 3 5.子类 6. 抽象方法 7.super 8. import 9. catch 10. Thread 四、阅读程序,回答问题(本大题5小题,每小题5分,共25分) 1. (5分) 1: public class Output1 { 2: public static void main(String arge[]) { 3: int i=0; 4: for ( char ch = 97; ch<113; ch++,i++) { 5: if( i % 8 == 0 ) 6: System.out.println(\ 7: System.out.print(\8: } 9: } 10: } (1)程序第5、6行的if语句的功能是什么? (2分) (2)程序输出的结果有几行?(3分) 【答案】 (1)每打印8个字符,则换行。(2)输出的结果有2行。 2. (5分) 1: import java.util.Arrays; 2: 3: public class SortArray { 4: public static void main(String args[]) { 5: String[] str = {\6: Arrays.sort(str); 7: for (int i=0; i (1)写出程序运行后的结果。(2分) (2)方法调用str[0].length()的返回结果是多少?(3分) 【答案】(1) abs class length size (2) 4 3. (5分) 1: //TestKeyListener.java 2: import java.applet.Applet; 3: import java.awt.*; 4: import java.awt.event.*; 14 5: 6: public class TestKeyListener extends Applet { 7: 8: Color clr; 9: 10: public void init() { 11: 12: addKeyListener( 13: new KeyAdapter() { 14: public void keyTyped( KeyEvent e ) { 15: if(e.getKeyChar()=='r'||e.getKeyChar()=='R') 16: clr=Color.red; 17: else if(e.getKeyChar()=='g'||e.getKeyChar()=='G') 18: clr=Color.green; 19: else if(e.getKeyChar()=='b'||e.getKeyChar()=='B') 20: clr=Color.blue; 21: else 22: clr=Color.black; 23: setBackground(clr); 24: } 25: }); 26: } 27: } (1)程序第15、16行实现的功能是什么?(2分) (2)编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的浏览器打开网页。如果敲击键盘的 ‘b’键,有什么结果?(3分) 【答案】(1) 如果敲击键盘的‘r’键,则将颜色对象的值赋为红色。(2) 小程序的背景颜色变为兰色。 4.定义类A和类B如下. (5分) class A { int a=1; double d=2.0; void show( ) { System.out.println(\ } } class B extends A { float a=3.0f; String d=\ void show( ) 15 { super.show( ); System.out.println(\a=\ } } (1) 若在应用程序的main方法中有以下语句: A a=new A(); a.show(); 则输出的结果如何?(2分) (2) 若在应用程序的main方法中定义类B的对象b: A b=new B(); b.show(); 则输出的结果如何?(3分) 【答案】 (1) Class A: a=1 d=2.0 (2) Class A: a=1 d=2.0 Class B: a=3.0 d=Java program. 5. (5分) import java.util.*; public class W { static String[] s={\甲\乙\丙\丁\ public static void main(String[] args) { Stack stk=new Stack(); for(int i=0;i int k=0; while(k<3) { System.out.print(stk.pop()); k++; } } } (1)堆栈的操作规则如何?(2分) (2)写出程序运行后的结果。(3分) 【答案】 (1) 先进后出 (2) 丁 丙 乙 五、根据题目要求编写程序(本大题2小题,第1小题5分,第2小题10分,共15分) 1.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:分别描述一张牌 的牌面值(如:A、K、Q、J、10、9、?、3、2等)和花色(如:“黑桃”、“红桃”、“梅花”和“方块” )。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法 16 getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法 toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)。 【答案】1.5分 class Card { private String face; private String suit; public Card( String f, String s ) { face = f; suit = s; } protected String getSuit(){ return suit; } protected String getFace(){ return face; } public String toString(){ return face + \ } } 2.若应用程序的main方法中,定义字符串数组f和s: 分别表示扑克牌的牌面值和花色;定义52个元素的Card类 型数组deck,用来存放4个花色的52张牌。如下所示。 String f[] = { \ \ \ String s[] = { \黑桃\红桃\梅花\方块\ Card deck = new Card[ 52 ]; (1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、2、3、?、K;然后 是红桃花色的A、2、3、?、K;梅花花色的A、2、3、?、K;方块花色的A、2、3、?、K。请写出实现上述功 能的程序段。 【答案】 (1)5分 for ( int i = 0; i < deck.length; i++ ) { deck[ i ] = new Card( faces[ i % 13 ], suits[ i / 13 ] ); } (2)请编写模拟洗牌的程序段,即把数组deck中的扑克牌随机打乱存放顺序。 【答案】(2)5分 for ( int first= 0; first< deck.length; first++ ) { int second = ( int ) ( Math.random() * 52 ); Card temp = deck[ first]; 17 deck[ first] = deck[ second ]; deck[ second ] = temp; } 答案(三)选择: BBBAA AACBA ACAAC 1. ABCD 2.ACD 3.AD 4.ABC 5.ABCD 6.ABCD 7.BD 8.BD 9.AB 10.ABCD 试卷(四) 一、选择题 (1)栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素(2)已知二*树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba (3)链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 (4)结构化程序设计的3种结构是 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 (5)为了提高测试的效率,应该 A)随机选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)集中对付那些错误群集的程序 (6)算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 (7)软件生命周期中所花费用最多的阶段是 A)详细设计 B)软件编码 C)软件测试 D)软件维护 (8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 A)C B)Basic C)DDL D)DML D)没有共同点18 (9)下列有关数据库的描述,正确的是 A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件 (10)下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C)关系中的每一列称为元组,一个元组就是一个字段 D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 (11)下列哪个类是由编译器自动生成对象的特殊类,是用于类操作? A)System类 B)Class类 C)Thread类 D)Object类 (12)在Java源文件中什么类最多只能有一个,其他类的个数不限? A)public B)private C)protected D)没有这种类 (13)下列哪个选项是short型数据的取值范围? A)-128 ~ +127 B)-32768~ +32767 C)-2147483648~ +2417483647 D)-3.40282347E38 ~ +3.40282347E38 (14)下列哪项是将一个十六进制值赋值给一个long型变量? A)long number = 123L; B)long number = 0123; C)long number = 0123L; D)long number = 0x123L; (15)下列程序段执行后的输出结果为 int x=3; inty=10; System.out.println(y%x); A)0 B)1 C)2 D)3 (16)下列的哪个程序段可能导致错误? A)String s = \ String t = \ String k = s + t; B)String s = \ 19 String t; t = s[3] + \ C)String s = \ String standard = s.toUpperCase(); D)String s = \ String t = s + \ (17)在下列程序的划线处应填入的语句是 class Person { private int a; } public class Man extends Person { public int b; public static void main(String arg[]) { Person p = new Person(); Man t = new Man (); int i; } } A)i = w; B)i = b; C)i = p.a; D)i = t.b; (18)有如下程序段 if (x>0){ System.out.println(\); } else if (x>-4){ System.out.println(\); } else { System.out.println(\); } x的取值在什么范围内时,将打印出字符串\? A)x > 0 B)x > -4 C)x <= -4 D)x <= 0 & & x > -4 20 (19)下列程序的输出结果是 public class fff { void printValue(int m) { do { System.out.println(\);} while( --m > 10 ) } public static void main(String arg[]) { int i=10; Test t= new Test(); t.printValue(i); } } A)8 B)9 C)10 D)11 (20)下列关于变量的叙述哪个是错的? A)实例变量是类的成员变量 B)实例变量用关键字static声明 C)在方法中定义的局部变量在该方法被执行时创建 D)局部变量在使用前必须被初始化 (21)给出下列的程序,其叙述正确的是 public class Man { static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 21 A)编译时将发生错误 B)编译时正确但是运行时出错 C)输出为0 D)输出为null (22)下列常见的系统定义的异常中,哪个是数组越界异常? A)ArrayIndexOutOfBoundsException B)IOException C)NullPointerException D)ArithmeticException (23)下列哪个关键字通常用来对对象进行加锁,该标记使得对对象的访问是排他的? A)transient B)serialize C)synchronized D)static (24)下列有关线程的叙述哪个是正确的? A)一旦一个线程被创建,它就立即开始运行 B)调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 C)主线程不具有默认优先级 D)Java中线程的优先级从低到高以整数0~9表示 (25)resume()方法负责恢复被哪个方法挂起的线程? A)stop() B)sleep() C)wait() D)suspend() (26)下列哪个选项不是FilterInputStream的子类? A)CheckedInputStream B)BufferedInputStream C)PushbackInputStream D)FileInputStream (27)下列哪个选项不是InputStream类中的方法? A)public abstract int read()throws IOException B)public final void writeInt(int v)throws IOException C)public void close()throws IOException D)public int available()throws IOException (28)下列哪个选项可能包含菜单条? A)Panel B)Frame C)Applet D)Dialog (29)下列哪个选项是创建一个标识有\关闭\按钮的语句? A)TextField b = new TextField(\关闭\); B)TextArea b = new TextArea (\关闭\); C)Button b = new Button(\关闭\); 22 D)Checkbox b = new Checkbox(\关闭\); (30)下列哪个选项是javax.swing.JApplet的父类? A)java.awt.panel B)java.applet.Applet C)java.awt.frame D)java.awt.Window (31)下列哪个命令是在当前主机的指定端口上启动远程对象注册服务程序? A)rmic B)rmiregistry C)rmid D)serialver (32)给出下列的代码,则以下哪个选项返回true? String s= \ String t = \ char c[] = {′h′,′e′,′l′,′l′,′o′} ; A)s.equals(t); B)t.equals(c); C)s==t; D)t==c; (33)执行完语句int [ ]x = new int[25];后,则下列哪项说法是正确的? A)x[24]值为0 B)x[24]值未定义 C)x[25]值为0 D)x[0]值为空 (34)在Java语言的下列哪个包是编译器自动导入的? A)java.lang B)java.awt C)java.io D)java.applet (35)Socket的工作流程是 ①打开连接到Socket的输入/输出 ②按某个协议对Socket进行读/写操作 ③创建Socket ④关闭Socket A)①③②④ B)②①③④ C)③①②④ D)①②③④ 二、填空题 (1)算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。 解析: 算法是指解题方案的准确而完整的描述。它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。 (2)在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【2】 。 解析: 对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较 23 n次。 (3)在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】 。 解析: 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。 (4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。 解析: 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。 (5)数据库管理系统常见的数据模型有层次模型、网状模型和 【5】 3种。 解析: 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。 (6)字符串分为两大类,一类是字符串常量,使用String 类的对象表示;另一类是字符串变量,使用【6】类的对象表示。 解析: 在Java中String类只支持只读字符串,适用于字符串常量;StringBuffer类支持可修改字符串,适用于字符串变量。 (7)在Java程序中,通过类的定义只能实现单重继承,但通过 【7】 的定义可以实现多重继承关系。 解析: Java不支持多重继承,但类可以实现多个接口。 (8)下列程序段的输出结果为 【8】 。 int a=2; switch (a) { case 2: System.out.print(\); case 3 : System.out.println(\); break; default: System.out.println(\); break; } 24 解析: switch语句的表达式a将依次与case后的值进行匹配,如果遇到匹配的值,则执行该case子句后的语句序列。当表达式的值与任一case子句的值都不匹配时,执行default后的语句。break语句用来在执行完一个case子句后,使程序跳出switch语句。此题先执行case 2后的语句再执行case 3后的语句,遇到case 3中的break语句后退出。 (9)在AWT包中,创建一个具有10行,45列的多行文本区域对象ta的语句为 【9】 。 解析: TextArea文本输入区可以显示多行多列的文本,TextArea(int,int)构造方法指定行数和列数。 (10)设x = 2 ,则表达式 ( x + + )* 3 的值是 【10】 。 解析: ++运算符在变量的右边时,表示为先运算,然后变量再加1。++运算符在变量的左边时,表示为先将变量加1,然后在运算。此题先将x与3相乘,然后x再加1,所以值为6。 (11)阻塞状态根据产生的原因可分为 【11】 、等待阻塞和其他阻塞。 解析: 阻塞状态根据产生的原因可分为对象锁阻塞、等待阻塞、其他阻塞。 (12)在线程中普通优先级的线程,其优先级默认值为 【12】 。 解析: NORM_PRIORITY代表普通优先级默认值为5。MIN_PRIORITY代表最小优先级,通常为1。MAX_PRIORITY代表最高优先级,通常为10。 (13)顺序执行下列两个语句的输出结果是 【13】 。 String s = \全国计算机等级考试\(s.length()); 解析: 提取字符串的长度可以用length()方法,其返回字符串的字符个数。 (14)过滤字节输出流都是 【14】 抽象类的子类。 解析: 主要熟悉java.io包中的几个输入/输出流。 (15)对话框(Dialog)是 【15】 类的子类。 解析:主要熟悉AWT基本构件的特点。对话框和一般窗口的区别在于它依赖于其他窗口。 选择题答案 01-05 C D B D D 06-10 C D C C D 11-15 B A B D B 16-20 B D D C B 21-25 C A C B D 26-30 D B B C B 31-35 B A A A C 25 试卷(五) Java试题(二) 一、 选择 1.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. 2.给出下面代码: 1) class Parent { 2) private String name; 3) public Parent(){} 4) } 5) public class Child extends Parent { 6) private String department; 7) public Child() {} 8) public String getValue(){ return name; } 9) public static void main(String arg[]) { 10) Parent p = new Parent(); 11) } 12) } 那些行将引起错误? A 第3行 B 第6行 C 第7行 D 第8行 3.类Teacher和Student是类Person的子类; Person p; Teacher t; 26 Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: A 将构造一个Student对象; B 表达式是合法的; C 表达式是错误的; D 编译时正确,但运行时错误。 4.给出下面代码段 1) public class Test { 2) int m, n; 3) public Test() {} 4) public Test(int a) { m=a; } 5) public static void main(String arg[]) { 6) Test t1,t2; 7) int j,k; 8) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) } 哪行将引起一个编译时错误? A line 3 B line 5 C line 6 D line 10 5.对于下列代码: 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() {//... } 27 7) public void printValue(int i) {//...} 8) public static void main(String args[]){ 9) Person t = new Teacher(); 10) t.printValue(10); 11) } 第10行语句将调用哪行语句?? A line 2 B line 3 C line 6 D line 7 6.哪个关键字可以抛出异常? A transient B finally C throw D static 7.Main()方法的返回类型是: A int B void C boolean D static 8.System类在哪个包中? A java.util B java.io C java.awt D java.lang 28 9.对于下列代码: public class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪些方法可以加入类Child? A int addValue( int a, int b ){// do something...} B public void addValue (int a, int b ){// do something...} C public int addValue( int a ){// do something...} D public int addValue( int a, int b )throws MyException {//do something...} 10.给出下面代码: public class test{ static int a[] = new a[10]; public static void main(String args[]) { System.out.println(arr[10]); } } 那个选项是正确的? A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D 输出空。 11.下面哪些选项是正确的main方法说明? A public main(String args[]) 29 B public static void main(String args[]) C private static void main(String args[]) D void main() 二、多项选择 1.下面哪些代码段是正确的Java源程序? A. package testpackage; public class Test{//do something...} B. import java.io.*; package testpackage; public class Test{// do something...} C. import java.io.*; class Person{// do something...} public class Test{// do something...} D. import java.io.*; import java.awt.*; public class Test{// do something...} 2. 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(){} 3. String s = \ String t = \ char c[] = {'h','e','l','l','o'} ; 下列哪些表达式返回true? 30 A s.equals(t); B t.equals(c); C s==t; D t.equals(new String(\ 4.给出下面代码段: 1) switch(m) 2) { case 0: System.out.println(\ 3) case 1: System.out.println(\ 4) case 2: 5) default: System.out.println(\ 6) } 下列m的哪些值将引起\的输出? A 0 B 1 C 2 D 3 5.下列哪些说法是正确的? A Java 语言只允许单一继承 B Java 语言只允许实现一个接口 C Java 语言不允许同时继承一个类并实现一个接口 D Java 语言的单一继承使得代码更加可靠 6.下列关于\和\的运算,哪些是正确的? A 0000 0100 0000 0000 0000 0000 0000 0000<<5 的运行结果是 1000 0000 0000 0000 0000 0000 0000 0000 B 0000 0100 0000 0000 0000 0000 0000 0000<<5的运行结果是 1111 1100 0000 0000 0000 0000 0000 0000 C 1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 1111 1110 0000 0000 31 0000 0000 0000 0000 D 1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 0000 0110 0000 0000 0000 0000 0000 0000 7.下述哪些说法是正确的? A 实例变量是类的成员变量 B 实例变量是用static关键字声明的 C 方法变量在方法执行时创建 D 方法变量在使用之前必须初始化 8.对于下列代码: public class Sample{ long length; public Sample(long l){ length = l; } public static void main(String arg[]){ Sample s1, s2, s3; s1 = new Sample(21L); s2 = new Sample(21L); s3 = s2; long m = 21L; } } 下列哪些表达式返回值为'true'? A s1 = = s2; B s2 = = s3; C m = = s1; D s1.equals(m) 9.下面说法哪些是正确的? A Applet可以访问本地文件 B 对static方法的调用不需要类实例 32 C socket类在java.lang中 D 127.0.0.1地址代表本机 10.下列说法正确的是: A java语言里的线程是没有优先级的 B String类在java.lang包中 C java语言支持类的序列化 D 能序列化的类必须实现java.io.Serializable接口 11.关于awt和swing说法正确的是: A awt在不同操作系统中显示相同的风格。 B swing在不同的操作系统中显示相同的风格 C java.awt的子类 D awt和swing都支持事件模型 12.关于Float,下列说法正确的是 A Float是一个类 B Float在java.lang包中 C Float a=1.0是正确的赋值方法 D Float a= new Float(1.0)是正确的赋值方法 13.下述哪些说法是正确的? A java语言中的类只能有一个构造函数 B 程序员可以自己定义自己的异常 C java语言允许多继承 D socket在java.net包中 33 14.下列哪些说法是正确的? A IOException必须被捕获或抛出 B java语言会自动初始化变量的值 C java 语言不允许同时继承一个类并实现一个接口 D java语言会自动回收内存中的垃圾 三、 填空题 1.Collection的 四种主要接口是___________、______________、___________、 ______________ 2. 运行下列程序第_____________行出错。 1.class Outer{ 2.private int size=5; 3.public Object makeInner(final int finalLocalVar){ 4.int LocalVar=6; 5.class Inner{ 6.public String toString(){ 7.return (\=\ 8.return new Inner(); } 9. } 10. public class OuterTest{ 11. public static void main(String[] args){ 12. Outer outer=new Outer (); 13. Object obj=outer.makeInner(56); 14. System.out.println(\ 3. 下列代码不能编译的原因是 _____________ Class A{ Private int x; Public static void main(String args[]) { new B(); } class B{ B(){System.out.println(x); } } 34 } 四、 编程题 1. 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。 2. 编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。 3. 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 要求该程序能够完成以下功能: (1) 在界面上方的文本框中,按照\小时:分钟:秒\的顺序实时显示系统时间; (2) 当按下界面中间的\按钮时,当前系统时间能够在界面下方的文本框中显示出来。 提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示, public class Date { // 返回当前系统时间的小时值 public String getHours( ) { ?} // 返回当前系统时间的分钟值 public String getMintues( ) { ? } // 返回当前系统时间的秒钟值 public String getSeconds( ) { ?} ? 35 } 参考答案 一、 选择题答案 DDCDD CBDCAB 二、多项选择题答案 1.ACD 2.AB 3.AD 4.CD 5.AD 6.AC 7.AD 8.BC 9.BD 10.BCD 11.BD 12.ABD 13.BD 14.ABD 三、 填空题答案 填空第1题 Collection,List,Map,Set 填空第2题 7 填空第3题 因为在A的main方法中,还没有A的实例就要试图生成内部类的实例四、 编程题答案 编程第1题 import java.io.*; public class Point { int x,y; public Point(int x,int y) { this.x = x; this.y = y; } public Point getPoint() { Point tempPoint = new Point(x,y); return tempPoint; } public void setPoint(Point point) { this.x = point.x; 36 this.y = point.y; } public static void main(String args[]) { Point Point1 = new Point(3,4); System.out.println(\ Point Point2 = Point1.getPoint(); System.out.println(\ Point Point3 = new Point(5,6); Point1.setPoint(Point3); System.out.println(\ } } 编程第2题 import java.io.*; class FileCopy { public static void main(String[] args) { FileInputStream in; FileOutputStream out; if (args.length<2) { System.out.println(\ System.exit(-1); } try { in = new FileInputStream(args[0]); out = new FileOutputStream(args[1]); copyFile(in,out); } catch (Exception e) { System.out.println(e); } } private static void copyFile(FileInputStream in, FileOutputStream out) { int length; byte buf[] = new byte[1024]; 37 try{ while ((length=in.read(buf,0,1024))!=-1) { out.write(buf, 0, length); } } catch (Exception e) {System.out.println(\ System.exit(-1); } } } 编程第3题 import java.awt.*; import java.awt.event.*; import java.applet.*; import java.util.*; public class TimeViewer extends Applet implements ActionListener, Runnable { Thread timer; TextField in, out; Button bb; Panel p1, p2, p3; boolean state; public void init() { in = new TextField(20); out = new TextField(20); bb = new Button(\ p1 = new Panel(); p2 = new Panel(); p3 = new Panel(); setLayout(new GridLayout(3, 1)); setSize(200,100); p1.add(in); p2.add(bb); p3.add(out); add(p1); add(p2); add(p3); bb.addActionListener(this); timer = new Thread(this); 38 state = true; timer.start(); } public void actionPerformed(ActionEvent e) { //out.setText(in.getText()); out.setText(currentTime()); } public void run() { while(true) { try { timer.sleep(1000); } catch (InterruptedException e) { } in.setText(currentTime());; } } String currentTime() { Date now = new Date(); String str = now.getHours() + \now.getSeconds(); return str; } } 39
正在阅读:
Java1试题加答案()02-03
2017-2023年中国微电子组件市场前景展望分析及竞争格局预测研发报告(目录)01-22
2017高三数学备课组工作计划精选06-18
实验九--羧酸和取代羧酸的性质04-30
2018年中国车载GPS导航仪行业运营策略与投资前景预测报告目录08-25
关于党员受留党察看处分期满后恢复党员权利等办理程序的暂行规定08-15
纪委换届工作报告01-10
2016-2017年最新北师大版小学数学五年级下册《倒数》优秀教案(精品资料)07-26
XX隧道施工安全事故应急处理预案09-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题
- 答案
- Java1