1.下列关于Application 和Applet 的说法中,正确的是( )A .都包含main 方法B .都通过“appletviewer ”命令执行C .都通过“javac ”命令编译D .都嵌入在“HTML ”文件中执行 2.下面关于二维数组的说明合法的是( )A .int a1[2][4];B .int a1[][]=new int[2][]C .int a1[][4]=new int [2][4]D .int a1[][]=new int [][4] 3.自定义的异常类可从下列哪个类继承( )A .Error 类 B.Exception 及其子类 C .Applet 类 D.Event 类 4.关于数据类型转换,必须进行强制类型转换的是( )A .float->double B.byte->int C.short->long D.int->char 5.下列四个选项中,是不合法的用户标识符的选项是( )A .X_0 B._abc0 C.this D.$e24 6.若要说明一个抽象类,使用的关键字是( )A.static B.implements C.extends D.abstract 7.常用类System ,在下列哪个Java 包中( )A .ngB .java.io C.java.util D.java.awt 8.当启动Applet 程序时,首先调用的方法是( )A .start()B .init()C .stop()D .destroy()Java 程序设计一、单项选择题(每小题1分,共20分)在下列每小题的四个备选答案中选出一个正确的答 案,并将其字母标号填入题干的括号内。
9.设有程序段:int k=1;while (k==10) k++;则下列描述中正确的是()A.while循环执行10次B.while循环执行无限次C.while循环执行0次D.while循环执行1次10.有关构造函数的说法,正确的是( )A.一个类的构造函数可以有多个B.构造函数在类定义时被调用C.构造函数只能由对象中的其它方法调用D.构造函数可以和类同名,也可以和类名不同11.Frame容器默认的布局管理器是()A.FlowLayout B.BorderLayout C.CardLayout D.GridLayout 12.关于java中的接口,说法正确的是( )A.Java支持多重继承,一个类可以实现多个接口B.Java只支持单重继承,一个类可以实现多个接口C.Java只支持单重继承,一个类只可以实现一个接口D.Java支持多重继承,但一个类只可以实现一个接口13.过滤字节输出流都是如下哪个抽象类的子类()A.filteroutputstream B.dataoutputC.dataoutputstream D.inflateroutputstream14.有关类的继承的说明,正确的是( )A.子类能直接继承父类所有的非私有属性,可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性15.下面的组件不属于容器的是()A.JPanel B.JFrame C.Applet D.TextField 16.Java应用程序和小程序的区别在于()A.前者代码量较大B.前者不能单独执行,后者可以C.前者可以单独执行,后者不能D.二者用途一样,没什么区别17.在位运算中,操作数每左移一位,其结果相当于()A.操作数乘以2 B.操作数除以2C.操作数乘以10 D.操作数除以1018.为了区分类中重载的同名的不同方法,要求()A.采用不同的形式参数列表B.使用不同的参数名C.修改访问权限D.返回值的数据类型不同19.若x=2,y=3则x&y的结果是()A.0 B.2 C.3 D.520.线程在生命周期中要经历5种状态.如果线程当前是新建状态,刚它可到达的下一个状态是()A.运行状态B.阻塞状态C.可运行状态D.终止状态二、填空题(每空1分,共10分)21.Java程序的基本组成单位是。
22.表达式1/2*3的计算结果是。
23.Java中所有的类都是类的子类。
24.在java程序设计中,规定的三种基本控制结构是结构,结构和结构。
25.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名为。
26.创建一个名为 MyPackage 的包的语句是;任何一个Java程序都默认引入了一个包,这个包的名字叫java.lang 。
27.下列程序的功能是求1+2+…+10的和。
请为程序填空。
class test{public static void main (String args[ ] ) { int i=1, sum=1 ; for ( ; ; ){ sum+=i;i++; // sum+=i++; if (i>10) break;}System.out.print(“sum=”+sum); } }28.本程序的功能是产生50个0--9之间的随机整数,并统计整数5出现的次数.public class test{public static void main (String args[ ]) { int result=0; int i=0; int randomNum; while(i<50){ randomNum= (int) (Math.random()*10) ; if ( randomNum==5 ) result++;i++; }System.out.print(“result is ”+result); } }三、程序分析题(每空2分,共30分)29.下列程序段的功能是在Applet小窗口的(25,25)处显示字符串” hello applet”。
import java.awt.*;import java.applet.*;public class test extends{String s;{s="hello applet";}(Graphics g){ ;}}tt.html文件内容:<applet code= height=300 width=300></applet>30.本程序功能是获得字符串”chinese”的长度和最后一个字符,并显示这些信息。
public class test {public static void main(String args[]){ ;s="chinese";int n=0;;char c;;System.out .println("字符串中共有"+n+"个字符,最后一个字符是"+c);}}31.以下程序执行后运行结果是 。
import java.awt.*;import java.applet.*; class pc { static double ad=8;}public class test extends Applet { public void paint(Graphics g) { pc m=new pc(); pc m1=new pc(); m.ad=0.1;g.drawString("m1.ad="+m1.ad,20,50); g.drawString(“pc.ad="+pc.ad,20,70); g.drawString ("m.ad="+m.ad,20, 90 ); } }32.以下程序的运行结果是 。
class test{ public static void main(String args[ ]) {int a=1,b=2,c=3;System.out.print(a>b?a:b>c?b:c); }}四、阅读程序题(每小题4分,共20分)33.以下程序的运行结果是。
class test{public static void main( String args[ ]){int num=0;while (num<=8)num++;System.out.print(num);}}34.以下程序的运行结果是。
public class test{public static void main(String args[]){for(int n=1;n<=10;n++){if (n%2==0)continue;System.out.println("n="+n);}}}35.以下程序的运行结果是。
class a1{int x=6;}class a2 extends a1{int x=8;}public class test{public static void main(String[] args){int s1;int s2;a1 p=new a1();a2 p1=new a2();s1=p.x;s2=p1.x;System.out.println("s1="+s1);System.out.println("s2="+s2);}}五、程序设计题(每小题10分,共20分)36.编写一个程序,把100元人民币换成50元,20元,10元的纸币,计算出有多少种换法。
37.编程实现如下统计学生成绩的图形界面程序。
点击“总分”按钮,则计算出两门课的总分;点击“平均分”按钮,则计算出平均分。
得分078704601 Java程序设计试题答案及评分参考一、选择(每小题1分,共20分)1.C2.B3.B4.D5.C6.D7.A8.B 9.C10.A11.B12.B13.A14.D15.D16.C 17.A18.A19.B20.C二、填空(每空1分,共10分)21.类22.0 23.Object 24.顺序;选择;循环25.Applet(或JApplet) ; MyApplet. Java26.package MyPackage ; lang三、填程(每空2分,共30分)27.sum=0; sum=sum+i; i++; break; 28.(int)(Math.random()*10) ; randomNum==5 i++ 29.Applet public void init() public void paintg.drawString(s,25,25); test(或test.class 或“test.class”) 30.String s ; n=s.length() ;c=s.charAt(s.length() -1);(或c=s.charAt(6);)四、阅读程序(每小题4分,共20分)31.0.1 0.1 0.132.333.934.1 3 5 7 935.s1=6 s2=8五、编程(每小题10分,共20分)36.public class test{ public static void main(String[] args) throws IOException{ int k=0,m=0,n=0,count=0; (1分)for(k=0;k<=2;k++) (1分)for(m=0;m<=5;m++) (1分)for(n=0;n<=10;n++) (1分){ if((50*k+20*m+10*n)==100) (4分){count++; (2分)System.out.println("k="+k+" m="+m+" n="+n);}}System.out.print(count);}}37.import javax.swing.*;import java.awt.event.*;import java.awt.*; (1分)public class score{public static void main(String[] args){ Frame1 frame = new Frame1();frame.show() ;}} (1分)class Frame1 extends JFrame{ Pan pp=new Pan();public Frame1(){ this.setSize(300,200);Container con=this.getContentPane() ;con.add(pp);}} (1分)class Pan extends JPanel{ JLabel la=new JLabel(" 学生成绩统计");JLabel la2=new JLabel("数学");JTextField tx=new JTextField(22);JLabel la3=new JLabel("语文");JTextField tx2=new JTextField(22);JButton bu=new JButton("总分");JTextField tx3=new JTextField(15);JButton bu2=new JButton("平均分");JTextField tx4=new JTextField(15); (1分)public Pan(){ this.add(la);add(la2);add(tx);add(la3);add(tx2);add(bu);add(tx3);add(bu2);add(tx4); (1分)bu.addActionListener(new HoldScore());bu2.addActionListener(new HoldScore()); (1分)}private class HoldScore implements ActionListener (1分){ int a,b ,c;public void actionPerformed (ActionEvent e){ a=Integer.parseInt(tx.getText());b = Integer.parseInt(tx2.getText());c = a + b;if(e.getSource()==bu ){ tx3.setText(Integer.toString(c) );}else if(e.getSource()==bu2){ tx4.setText(Integer.toString(c / 2));}}}} (3分)试题对应教材页码表。