资源描述
1Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A、8 B、16 C、32 D、64答:B2 若a的值为3时,下列程序段被执行后,c的值是多少?( ) c = 1; if ( a0 ) if ( a3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 答:C3设有下面两个类的定义: class Person class Student extends Person long id; / 身份证号 int score; / 入学总分 String name; / 姓名 int getScore() return score; 问:类Person和类Student的关系是( )。 A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误 答:B、4设有下面的两个类定义: class AA void Show() System.out.println(“我喜欢Java!”); class BB extends AA void Show() System.out.println(“我喜欢C+!”);则顺序执行如下语句后输出结果为:( ) AA a; BB b; a.Show(); b.Show(); A、我喜欢Java! B、我喜欢C+! 我喜欢C+! 我喜欢Java! C、我喜欢Java! D、我喜欢C+! 我喜欢Java! 我喜欢C+! 答:A1 设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答:62 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。 答:抽象方法、最终方法 (或 abstract方法、final方法)8 import java.io.*;public class Class1 public static void main( String args ) SubClass a = new SubClass( 10,3 ); System.out.println( a.exp( ); class SuperClass float x; int n; SuperClass( float xx , int nn ) x = xx ; n = nn; class SubClass extends SuperClass SubClass( float xx , int nn ) super( xx , nn ); float exp( ) float s = 1; for ( int i = 1; ib)?a:b); 答:求两个数的最大值。 2、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。 复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分ImaginPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ) : 构造函数,将复数的实部和虚部都置0Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据参考程序如下:class Complex int RealPart ; / 复数的实部 int ImaginPart ; / 复数的虚部 Complex() RealPart = 0 ; ImaginPart = 0 ; Complex(int r , int i) RealPart = r ; ImaginPart = i ; Complex complexAdd(Complex a) Complex temp = new Complex( ); / 临时复数对象 temp.RealPart=RealPart+a.RealPart; temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; public String toString( ) return ( RealPart+ + +ImaginPart+ i ); import java.applet.* ; import java.awt.* ;public class abc extends Applet Complex a,b,c ; public void init( ) a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); public void paint(Graphics g) c=plexAdd(b); g.drawString(第一个复数:+a.toString(),10,50); g.drawString(第二个复数:+b.toString(),10,70); g.drawString(两复数之和:+c.toString(),10,90); 一、单项选择题 (参考答案) 1.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。 A.java B.class C.html D.exe 正确答案为: B 2.设 x=1, y=2, z=3,则表达式 yz/x 的值是()。 A.3 B.3.5 C.4 D.5 你的选项为:A正确! 3.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。 A.start() B.stop() C.init() D.paint() 正确答案为: D 4.不允许作为类及类成员的访问控制符的是()。 A.public; B.private; C.static; D.protected。 正确答案为: C 5.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。 A.static void method() B.public void method() C.final void method() D.abstract void method() 正确答案为:A 1.编译Java Applet源程序文件产生的字节码文件的扩展名为()。 A.java B.class C.html D.exe B正确! 2.设a=8,则表达式a2的值是()。 A.1 B.2 C.3 D.4 正确答案为: B 3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。 A.static void method() B.public void method() C. final void method() D.abstract void method() 正确答案为:A 4.下面程序段的输出结果是()。String MyStr = Hello,;MyStr = MyStr+Guys!;System.out.println(MyStr); A.Hello,Guys! B.Hello, C.Guys! D.该程序段有语法错误 正确答案为:A 5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。 A.import java.awt.* B.import java.applet.Applet C.import java.io.* D.import java.awt.Graphics 正确答案为: C 二、填空题 (参考答案) 1.开发与运行Java程序需要经过的三个主要步骤为 编辑源程序 、 编译生成字节码 和 解释运行字节码 。 2.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet 类的子类并且存储该源程序文件的文件名为 MyApplet 。 3.如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 .class 的字节码文件。 4.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。 5.设x=2,则表达式(x+)3的值是 0 。 6.若x=5,y=10,则x=y的逻辑值分别为 true 和 false 。 7. 抽象(abstract)方法 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终(final)方法 方法是不能被当前类的子类重新定义的方法。 8.创建一个名为 MyPackage 的包的语句是 javac.exe ,该语句应该放在程序的位置为: 3 。 9.设有数组定义:int MyIntArray = 10,20,30,40,50,60,70;则执行以下几个语句后的输出结果是 120 。int s = 0;for ( int i = 0;i y & x+=y-的逻辑值为 flase 。 7.在Applet中,创建一个具有10行45列的多行文本区域对象ta的语句为: TextArea ta=new TextArea(10,45); 。 8.设有数组定义:int a =11,22,33,44,55,66,77,88,99; 则执行以下几个语句后的输出结果是 33 、 66 、 99 。for (int i=0; i a.length;i+)if(ai%3=0) System.out.println(ai); 9.若需要在PhoneCard200类中声明变量additoryFee为浮点双精度型的静态域并初始化其值为0.1,则应在类PhoneCard200的定义中加入一条域定义语句为: static double additoryFee=0.1; 。 10.顺序执行以下两个语句的输出结果是: 4 。String s = 福建师大;System.out.println(s.length( ); 1.要激活一个Java小应用程序applet需具有 html 文件。 2.Java编译器产生的文件的扩展名为 .class 。 3.每个Java程序语句以 ; 结束。 4.一个只有在定义它的方法中是可知的变量称为 局部变量 。 5.方法头中的关键字 void 用来表示方法不还返回值。 6.从被调用方法将控制权交给调用者的两种方式是 return 、 方法中的结束 。 7.每当浏览器的用户再次访问applet所在的html页时都会调用 start() 方法。 8. resize() 方法用来在执行applet时改变applet的宽度和高度。 9.每当浏览器的用户离开applet所在的html页时要调用applet的 stop() 方法。 10.限定词 final 用来声明只读变量。 11.用于指出数组中某个元素的数字称为数组 下标 。 12.通过 运算符与类的对象相连,可以访问此类的成员。 13.类的方法通常设为 public ,而类的实例变量一般设为 private 。 14.指定为 static 的类成员可被此类作用域中的任何对象访问。 15. static 实例变量代表类范围的信息。 16.关键字 final 表明一个对象或变量在初始化后不能被修改。 17.如果Alpha类继承Beta类,Alpha类被称为 子超 类,Beta类被称为类。 1.四种成员访问限制是 private 、 protected 、 public 、 friendly 。 2.getName方法的返回类型 String 。 3.RGB是 red 、 green 、 break 。 4.鼠标被移动时会发生 mouseMove 事件。 5.使用 setLayout() 方法为构件容器设置布局管理器。 6.使用 Menu 类创建菜单对象。 7.滚动条事件由 handleEvent(e) 方法进行处理。 8. stop() 方法用于终止线程的运行。 9.有两种原因可能使线程进入死亡状态,它们是 run终止 、 stop() 。 10.Applet类的 getImage() 方法将图像装入applet。 11.计算机处理的数据最终分解为 1 和 0 的组合。 12.FileOutputStream、FileInputStream、RandomAccessFile文件流类的 close 方法,可用于关闭文件。 13.URL是 Uniform Resources Locator 的缩写。 简答题一、写出下列程序完成的功能。1.public class Sum public static void main( String args ) double sum = 0.0 ;for ( int i = 1 ; i = 100 ; i + + )sum += 1.0/(double) i ;System.out.println( sum=+sum );答:计算 1/1+1/2+1/3+.+1/100的值2.import java.io.* ;public class Reverse public static void main(String args ) int i , n =10 ;int a = new int10;for ( i = 0 ; i =0;i)System.out.print(ai+ );System.out.println( );答:.从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。3. import java.awt.*;public class abc public static void main(String args) new FrameOut(); class FrameOut extends Frame / Frame为系统定 Button btn; / 义的窗框类FrameOut( ) super(按钮);btn = new Button(按下我);setLayout(new FlowLayout( );add(btn);setSize(300,200);show( );答:.创建一个标题为“按钮”的窗框,窗框中显示有“按下我”字样的按钮。4. import java.io.*;public class abc public static void main(String args) SubClass sb = new SubClass( );System.out.println(sb.max( );class SuperClass int a = 10 , b = 20 ; class SubClass extends SuperClass int max( ) return (ab)?a:b); 答:求两个数的最大值。2、 写出下面程序的运行结果1.import java.io.*;public class abc public static void main(String args ) AB s = new AB(Hello!,I love JAVA.);System.out.println(s.toString( );class AB String s1;String s2;AB( String str1 , String str2 ) s1 = str1; s2 = str2; public String toString( ) return s1+s2;答:1.Hello! I love JAVA.2.import java.io.* ;public class abcpublic static void main(String args ) int i , s = 0 ;int a = 10,20,30,40,50,60,70,80,90;for (i=0;ia.length;i+)if ( ai%3 = = 0 ) s += ai ;System.out.println(s=+s);答:s = 1803.import java.io.* ;public class abcpublic static void main(String args ) System.out.println(a=+a+nb=+b); class SubClass extends SuperClass int c;SubClass(int aa,int bb,int cc) super(aa,bb);c=cc;class SubSubClass extends SubClass int a;SubSubClass(int aa,int bb,int cc) super(aa,bb,cc);a=aa+bb+cc;void show() System.out.println(a=+a+nb=+b+nc=+c);答. a=60b=20c=30三、使用Java语言编写程序。1.编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。参考程序:import java.io.* ;public class abcpublic static void main(String args )int i,n=10,max=0,min=0,temp=0;try BufferedReader br = new BufferedReader(new InputStreamReader(System.in);max=min=Integer.parseInt(br.readLine( ); catch ( IOException e ) ;for(i=2;i max ) max=temp;if (temp min) min=temp; catch ( IOException e ) ;System.out.println(max=+max+nmin=+min);2. 编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数4+6i。复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分ImaginPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ):构造函数,将复数的实部和虚部都置0Complex( int r,int i): 构造函数,形参r为实部的初值,i为虚部的初值。Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。参考程序如下:import java.applet.* ;import java.awt.* ;public class abc extends AppletComplex a,b,c ;public void init( )a = new Complex(1,2);b = new Complex(3,4);c = new Complex();public void paint(Graphics g)c=plexAdd(b);g.drawString(第一个复数:+a.toString(),10,50);g.drawString(第二个复数:+b.toString(),10,70);g.drawString(两复数之和:+c.toString(),10,90);class Complexint RealPart ; / 复数的实部int ImaginPart ; / 复数的虚部Complex() RealPart=0;ImaginPart=0;Complex(int r,int i)RealPart = r;ImaginPart=i;Complex complexAdd(Complex a)Complex temp = new Complex( );/临时复数对象temp.RealPart=RealPart+a.RealPart;temp.ImaginPart=ImaginPart+a.ImaginPart;return temp;public String toString( )return ( RealPart+ImaginPart+i);一、写出下列程序完成的功能。1.public class Sum public static void main( String args ) double sum = 0.0 ;for (int i=1;i=100;i+)sum += 1.0/(double) i ;System.out.println(sum=+sum);答:.计算1/1+1/2+1/3+.+1/100的值,并在屏幕上显示出来。2.import java.io.*;public class ArrayCountpublic static void main (String args)int i,n=10,sum=0,count=0;int a =new int10;for (i=0;in;i+)try BufferedReader br=new BufferedReader(new InputStreamReader(System.in);ai = Integer.parseInt(br.readLine( ); catch (IOException e) ;for (i=0;in;i+) sum+=ai;sum /=n;for (i=0;in;i+)if ( aisum ) +count;System.out.println(count);答:.从键盘读入10个整数存入整型数组a中,然后统计并输出小于元素平均值的元素个数。3.import java.applet.*;import java.awt.*;import java.awt.event.*;public class Applet1 extends Applet implementsActionListenerLabel prompt;Button btn;public void init( )prompt=new Label( );btn=new Button(开始);add(btn);add(prompt);btn.addActionListener(this);public void actionPerformed(ActionEvent e)if ( e.getSource( )=btn )prompt.setText(祝您考试及格);答.在一个Applet程序中创建一个标识为“开始”的按钮,当鼠标按下“ 开始 ”按钮时,就显示出标识有“祝您考试及格”字样的标签。4.import java.io.*;public class Class1public static void main(String args )int i,Max,Min;int a =12,67,8,98,23,56,124,55,99,100;Max = Min = a0;for (i=1;ia.length;i+) if ( aiMax ) Max = ai;System.out.println( Max+ +Min );System.out.println( );答:.在数组中查找并输出最大值和最小值。二、写出下面程序的运行结果。1.import java.io.*;public class abcpublic static void main(String args)String s1 = Hello!;String s2 = new String(World!);System.out.println(s1.concat(s2);答.Hello! World!2.import java.io.* ;public class abcpublic static void main(String args )int i,k;int a = 11,21,31,41,51,61,71,81,91;for (i=0;ia.length;i+)for (k=2;kai/2)System.out.print(ai+ );答.11 31 41 61 713.import java.io.*;public class abcpublic static void main(String args )SubSubClass x = new SubSubClass(1,2,3);x.show();class SuperClassint a,b;SuperClass(int aa,int bb)a=aa;b=bb;void show( )System.out.println(a=+a+nb=+b);class SubClass extends SuperClassint c;SubClass(int aa,int bb,int cc)super(aa,bb);c=cc;class SubSubClass extends SubClassint a;SubSubClass(int aa,int bb,int cc)super(aa,bb,cc);a=aa*bb*cc;void show()System.out.println(a=+a+nb=+b+nc=+c);答.a=6b=2c=3三、使用Java语言编写程序。1.编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。参考程序如下:import java.io.*;public class SUMpublic static void main (String args)int i,n=-1,sum=0;while(n1)tryBufferedReader br=new BufferedReader(newInputStreamReader(System.in);n=Integer.parseInt(br.readLine( );catch ( IOException e ) ;for (i=1;i=n;i+) sum+=i;System.out.println(sum);2.编写一个日期类 Date ,要求:(1)日期类 Date 属性有:year : int型,代表年month : int型,代表月day : int型,代表日(2)日期类Date的方法有:Date( ) : 构造函数,日期的默认初值为2000年1月1日Date(int y,int m,int d):构造函数 ,形参y、m、d分别为某个日期的年月日的初值。int GetYear( ) : 获取日期的年份作为方法的返回值。int GetMonth( ) : 获取日期的月份作为方法的返回值。int GetDay( ) : 获取日期的日作为方法的返回值。void ShowDate( ):以*年*月*日的形式显示一个日期。.参考程序如下:public class Dateint year,month,day ;Date( ) year=2000;month=1;day=1;Date(int y,int m,int d)year=y;month=m;day=d;int GetYear( ) return year; int GetMonth( ) return month; int GetDay( ) return day; void ShowDate( )System.out.println (year+年+month+月+day+日); 一、判断下列的叙述是正确还是错误。若为错误,解释原因,并纠正。1.注释的作用是使程序在执行时在屏幕上显示/之后的内容。false,/之后至回车键间的内容是注释2.明变量时必须指定一个类型。true3.变量声明可在java方法体内任何位置出现。true4.break语句在switch结构中的default情况中是必须的。false 是可选的5.数组的下标通常是float型。false 必须是有序类型(整,字符,布尔)6.超类代表的对象比子类多。true7.用“= =”比较字符串对象时,如果字符串包含的是同一个值时,结果为true。false 必须是同一对象时才为true(同一地址)8.drawOral(x,y,50,100)的前两个参数指定了椭圆的中心坐标。false 字符串是一个常量对象9.fillPolygon方法用当前颜色画一个实心多边形。true 10.像素坐标(0,0)位于屏幕的正中央。false 位于屏幕左上角二、写出完成下述任务的Java语句:1.显示用户输入一整数。Label prompt;prompt=new Label(Enter an integer);add(prompt);2.若变量number不等于7,用paint方法在(10,10)坐标处显示The variable number is not equal to 7。假设Graphics对象g是paint方法的参数。if(number!=7)g.drawstring(The variable number is not equal to7.,10,10); 3.写出四种不同形式的Java语句使变量x增1。x=x+1; x+=1; +x; x+;4.使变量x减1然后从变量total中减去x。total-=-x;5.用while循环打印出1到20个整数,要求每行只打印5个整数。x=1;while(x=20)System.out.print(x);if(x%5= =0)System.out.println( );else System.out.print(t);x+;三、指出并修改下述语句中的错误。1.if(c7);g.drawString(c is lass them 7,25,25);第1行尾删去;2.x=1;while (x=10);x+;第2行尾删去;删最后的3.int sum(int x,int y) int result;result=x+y;用return x+y;代替内两条语句4.int b=new int10;for(int i=0;i=b.length;i+)bi=1;将i=b.length 改为ib.length5.char x=1,2,0,2,*,*,P,C,M;g.drawChars(x,6,8,435,80);将8改成3五、使用Java语言编写程序。1.编写一个学生类 Student,要求:(1)学生类 Student 属性有:id:long型,代表学号name:String类对象,代表姓名age:int型,代表年龄sex:boolen型,代表性别(其中:true表示男,false表示女) phone : String类对象,代表联系电话(2)学生类 Student的方法有:Student(long i,String n,int a,boolean s,long p) :有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。int getAge()( ): 获取年龄作为方法的返回值。boolean getSex( )( ): 获取性别作为方法的返回值。long getPhone( ): 获取联系电话作为方法的返回值。public String toString( ): 以姓名:联系电话的形式作为方法的返回值。参考程序段如下:class Student long id; String name;int age;boolean sex;long phone;Student(long i,String n,int a,boolean s,long p)id = i; name = n;age = a;sex = s;phone = p;int getAge() return age; boolean getSex() return sex; long getPhone() return phone; public String toString() return name+ : +phone;一、判断下列的叙述是正确还是错误。若为错误,解释原因,并纠正。1.一个数组可以存放不同类型的数值。false,只能存放同类型数值;2.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个方法中含有修改过的数值。false,数组元素作实参是传值结合,形、实参各有自己的内存,对形参的操作不及于实参;3.子类封装的功能比它的超类少。false,一般情况下比超类多,继承过程不能减少功能,但可增加功能;4.字符串在创建后可以被修改。false,字符串是串常量,不能被修改;5.在Java坐标系统中,从左向右x值增加。ture6.drawArc方法允许负的角度。ture7.当鼠标指针位于一个GUI构件上时,发生一个MouseOver事件。false 发生mouseEnter事件;8.文本区域的文本总是只读的。false 只有向文本区发送setEditable(false)后才是只读的;9.如果线程死亡,它便不能运行。ture10.进程利用流Socket建立与其他进程的连接。ture二、写出完成下述任务的Java语句:1.使用Graphics对象g在paint方法中打印下面两行信息:This is a java
展开阅读全文