java_练习题.doc_第1页
java_练习题.doc_第2页
java_练习题.doc_第3页
java_练习题.doc_第4页
java_练习题.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA练习题一、 选择题 1、在编写实现文件读写功能的Java程序时,需要在程序的开头写上语句( )。Aimport java.applet.* ; Bimport java.awt.* ;Cimport java.io.* ; Dimport java.awt.event.* ;2、main方法是Java应用程序执行的入口点,以下哪项是main方法头?( )Apublic static int main(String arg)Bpublic static void main(String arg)Cpublic static void main(String args)Dpublic static void main()3、Java 应用程序中的主类需包含main方法,main方法的返回类型是什么?( )A、intB、floatC、doubleD、void4、以下哪个不是Java的关键字?( )AdoBtryCfinalDWhile5、以下哪个不是Java的关键字?( )AtryBcatchCbooleanDuntil6、以下哪项标识符是不合法的。( )AstringB$1CxD3_a7、以下哪个修饰符可用于定义成员常量?( )AfinalBsynchronizedCabstractDconst8、以下关于构造函数的描述正确的是( )。A构造函数是特殊的方法,返回类型只能为voidB可以定义多个构造函数,但每个方法名需各不相同C在类定义中必须定义构造函数,而且只能定义一个构造函数D构造方法与类同名,在创建新对象时系统会自动调用构造函数9、以下关于构造函数的描述错误的是( )。A、构造函数的返回类型只能是void型。B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。10、关于类的继承以下说法错误的是( )。 A在java中类只允许单一继承 B在java中一个类可实现多个接口C在java中一个类可以同时继承一个类和实现一个接口Djava允许多重继承11、设有下面两个类的定义:class Person class Student extends Person long id; / 身份证号int score; / 入学总分 String name; / 姓名 int getScore()return score; 则类Person和类Student的关系是( )。A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误12、关于修饰符static以下叙述错误的是( )。Astatic方法不可被覆盖Bstatic可以用来修饰类 Cstatic方法不可以直接访问非静态的方法,否则编译出错Dstatic方法只能访问类变量或方法参数,不可直接访问成员变量13、关于Java的修饰符,以下说法错误的是( )。A抽象类中的方法不一定都是抽象方法Bfinal类中的属性和方法都必须被final修饰符修饰C类及其属性、方法可以同时有一个以上的修饰符来修饰D要使类中某个成员变量只能被它自身访问到,该变量只能用private修饰14、给出如下代码:classTest/定义成员apublicstaticvoidfun()/somecode.要在函数fun()中直接访问a,以下成员变量a定义正确的是( )。Apublicinta;Bstaticinta;Cinta;D protectedinta;15、容器Frame使用的缺省布局编辑策略是( )。AFlowLayoutBBorderLayout CGridLayout DCardLayout16、以下声明合法的是( )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final int hyperbolicCosine( )17、以下程序段执行后将有( )个字节被写入到文件afile中。 tryFileOutputStream fos=new FileOutputStream(“afile.txt”);DataOutputStream dos=new DataOutputStream(fos);dos.writeInt(3);dos.writeDouble(0.01);dos.close();fos.close( );catch(IOException e) A、2B、8C、12D、1618、编译并运行以下程序,以下描述哪个选项是正确的( )。class ATestOftoStringprotected String toString()return super.toString();A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错19、有以下程序片段,下列哪个选项不能插入到行1。( )1.2.public class A3./do sth 4. A、public class MainClass B、package mine;C、class ANotherClass D、import java.util.*;20、在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。A、privateB、protectedC、private protectedD、public21、以下哪个不是Java的关键字?( )A、falseB、constC、thisD、void22、关于以下application的说明,正确的是( )。1class StaticStuff2 3static int x;4static x+=5;5public static void main(String args )67 System.out.println(“x=” + x);89static x/=5;10A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=1D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化23、有程序如下,关于程序的描述哪个是正确的?()public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出null24、类ABC定义如下:1public class ABC2public int max( int a, int b) 34将以下哪个方法插入行3是不合法的。( )A、public float max(float a, float b, float c) B、public int max (int c, int d) C、public float max(float a, float b) D、private int max(int a, int b, int c) 25、有语句String s=”hello world”; ,以下操作哪个是不合法的?( )A、s=1;B、int i=s.length();C、String ts=s.trim();D、String t=s+”!”;26、有程序片段如下,以下哪个表示式的结果为true?( )Float s=new Float(0.1f);Float t=new Float(0.1f);Double u=new Double(0.1);A、s=tB、s.equals(t)C、u.equals(s) D、t.equals(u)27、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A、8 B、16 C、32 D、6428、以下哪项可能包含菜单条()。A、PanelB、FrameC、AppletD、Dialog29、paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color30、以下哪个方法用于定义线程的执行体?( )A、start()B、init()C、run()D、synchronized()31、下面哪个不是Java中的容器? ( )A、CanvasB、ScrollPaneC、AppletD、Dialog32、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数或类型各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。A、隐藏 B、覆盖 C、重载 D、Java不支持此特性33、以下自定义标识符中哪项是不合法的( )A、constB、$doubleC、helloD、BigMeaninglessName34、类Test1、Test2定义如下:1public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public class Test2 extends Test167将以下哪种方法插入行4是不合法的。( )A、 float aMethod(float a,float b) B、 public int aMethod(int a,int b)throws Exception C、 public float aMethod(float p,float q) D、 public int aMethod(int a,int b)throws IOException 35、以下哪个接口的定义是正确的?( )A、 interface B void print() ;B、 abstract interface B void print() ;C、 abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ;D、 interface B void print();36、下面哪个函数是publicvoid aMethod().的重载函数?( )A、void aMethod().B、publicint aMethod().C、publicvoid aMethod ( ).D、publicint aMethod(intm).37、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A();2. A a1 =new B();3. A a2=new C();问以下哪个说法是正确的?( )A、只有第1行能通过编译B、第1、2行能通过编译,但第3行编译出错C、第1、2、3行能通过编译,但第2、3行运行时出错D、第1行、第2行和第3行的声明都是正确的38、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( )class Aint i;static String s;void method1() static void method2() A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2()39、下列哪些语句关于Java内存回收的说明是正确的? ( )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象40、关于垃圾收集机制的叙述正确的是( )。A垃圾收集将检查并释放不再使用的内存B程序开发者必须自己创建一个线程进行内存释放的工作C垃圾收集允许程序开发者明确指定并立即释放该内存 D垃圾收集能够在期望的时间释放被java对象使用的内存41、将以下哪个方法的定义插入第6行后,会引发编译错误?( )1 class Super 2 public void a() 3 4 5 public class Sub extends Super 6 7 Afloat a()return 1; Bpublic void a(int x) Cpublic void a(float f) Dpublic float a(int x)return (float)x;42、以下方法的返回类型是( )。ReturnType function( int x , double y )return x+y/2;AbyteBshortCfloatDdouble43、以下接口定义正确的是( )。Ainterface ATest void t() ;Bpublic interface ATest void t();Cabstract interface ATest void t() ;Dabstract interface ATest extends ATest 1, ATest 2 / ATest1,ATest 2为已定义的接口 abstract void t() ;44、可以用来为对象加互斥锁的关键字是( )。Atransient BserializeCstaticD synchronized45、关于异常处理,以下说法错误的是( )。A可以使用throw语句抛出异常B程序可以使用try、catch、finally语句捕获异常C无论try块中是否发生异常,finally标识的代码块都会被执行Dtry语句后只能有一个catch语句46、有如下代码段: 12 if(f1()/do something 3 else if(f2()/do the other 4 其中,方法f1() 将抛出IOException, 以下可以填入第1行的是( )。Apublic IOException function () Bpublic void function() IOExceptionCpublic void function() throws IOException Dpublic void function() throw IOException47、给出如下代码:public class Example public static void main(String args) static int b = new b8; System.out.println(b8); 以下哪个说法是正确的?( )A有错,不能通过编译B编译通过,但运行时有错C输出0D输出null二、程序阅读 1、写出以下程序的运行结果。public class Test_2public static void main(String args) System.out.println( fun(3, 4, 5) );static int fun(int x, int y, int z)return fun( x, fun(y,z) );static int fun(int x,int y) return x*y;2、写出以下程序的运行结果。class OverloadDemo void testOverload( int i ) System.out.println(integer); void testOverload(String s) System.out.println(String); public static void main(String args ) OverloadDemo a=new OverloadDemo ( ); char ch=k; a.testOverload(ch); 3、写出以下程序的运行结果。class StaticStuff static int x;static x+=7; public static void main(String args ) System.out.println(x= + x);static x%=4;、写出以下程序的运行结果。public class Test_3static int x;public Test_3( ) x+; public static void main(String args)Test_3 s1=new Test_3();System.out.print (s1.x+,);s1=new Test_3();System.out.println(s1.x+,);s1=new Test_3();System.out.println(s1.x); static x=1; 5、写出以下程序的运行结果。public class Test_3public static void main(String args) System.out.println( doSth(1, 2, 3) );static int doSth(int x, int y, int z)return doSth( x, doSth(y,z) );static int doSth(int x,int y)return xy?x:y;6、阅读以下程序,输出结果为 。class Q1public static void main(String args )double d=1.23;Dec dec=new Dec( );dec.decrement(d);System.out.println(d);classs Decpublic void decrement(double decMe)decMe = decMe 0.1;7、写出以下程序的功能 import java.io.*;public class C public static void main(String args) throws IOException File inputFile = new File(“a.txt); File outputFile = new File(“b.txt); FileReader in = new FileReader(inputFile); FileWriter out = new FileWriter(outputFile); int c; while (c = in.read() ) != -1) out.write(c); in.close(); out.close(); 8、写出以下程序的功能。 import java.io.*;class Test_4public static void main(String args) throws IOExceptionint b;FileInputStream fileIn=new FileInputStream(Test.java);while(b=fileIn.read()!=-1)System.out.print(char)b);9、以下程序段的输出结果为 。public class C public static void main(String args ) int i , j ;int a = 2,1,4,8,9,5,3; for ( i = 0 ; i a.length-1; i + ) int k = i; for ( j = i ; j a.length ; j+ ) if ( ajak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; ia.length; i+ ) System.out.print(ai+ ); System.out.println( ); 10、写出以下程序的功能 public class ABC public static void main(String args ) int i , j ;int a = 9,7,5,1,3; for ( i = 0 ; i a.length-1; i + ) int k = i; for ( j = i ; j ak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; i2)if (y5)System.out.println(“Message three”);else System.out.println(“Message four”);12、以下程序段的输出结果为 。int j=2;switch ( j ) case 2:System.out.print(“Value is two.”);case 2+1 :System.out.println(“Value is three.”);break; default:System.out.println(“value is “+j);break;13、阅读以下程序段:class Parentvoid printMe()System.out.println(“parent”);class Child extends Parentvoid printMe()System.out.println(“child”);void printAll()super.printMe();this.printMe();printMe();public class Test_thispublic static void main(String args )Child myC=new Child();myC.printAll();输出结果为 14、已有Bird类的定义如下:package abcde;public class Bird protected static int referenceCount=0; public Bird()referenceCount+; protected void fly() static int getReCount()return referenceCount;有类Nightingale的定义如下,请写出它的输出结果 。package singers;class Nightingale extends abcde.Bird Nightingale( ) referenceCount+;public static void main( String args ) System.out.print(“Before:”+referenceCount); Nightingale florence=new Nightingale( ); System.out.println(“ After:”+referenceCount); florence.fly( );三1编写一个完整的Java Application 程序,包括:复数类Complex 主类Test,将每组测试数据相加并显示结果,三组测试的复数为:1+2i和1-2i、1+2i 和3+4i 、1+2i和-1+2i 。其中,复数类Complex必须满足如下要求:(1)复数类Complex 的属性realPart : int型,代表复数的实部。imaginPart : int型,代表复数的虚部。(2)复数类Complex 的方法Complex( ) : 构造函数,将复数的实部和虚部都置0。Complex( int r , int i ) : 构造函数,将复数的实部初始化为r,将虚部初始化为i。Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象a相加,所得的结果仍是一个复数对象,返回给此方法的调用者。 public String toString( ) : 把当前复数对象的实部a、虚部b组合成 “a+bi” 的字符串形式;若实部为0,虚部不为0,则返回”bi”;若虚部为0,则返回”a”。(注:程序框架和部分源码已给出,请补充完整)import java.io.*;public class Test public static void main(String args) Complex a,b;a=new Complex(1,2);b=new Complex(1,-2);System.out.println(a.addComplex(b).toString();b=new Complex(3,4);System.out.println(a.addComplex(b).toString();b=new Complex(-1,2);System.out.println(a.addComplex(b).toString();class Complex/添加属性定义/添加构造方法Complex() public Complex() /添加构造方法Complex(int r, int i) public Complex(int r,int i) /添加复数相加方法 addComplexpublic Complex addComplex(Complex a) /添加toString方法public String toString() 2编写一个完整的Java Application 程序。包含类Circle,类Cylinder, 类Test,具体要求如下:类Circle 属性radius: double型,表示圆的半径。 方法Cirle( double r):构造函数,将半径初始化为r。double findArea():返回圆的面积。 double getRadius ():返回圆的半径。类Cylinder继承Circle类,并有以下属性和方法: 属性length: double型,表示圆柱体的高。 方法Cylinder(double r, double l ):构造函数,给圆柱体的半径和高赋初值。 double findVolume():返回圆柱体的体积。 toString():返回圆柱体的半径、高、体积等信息。主类Test 生成Cylinder对象。 调用对象的toString方法,输出对象的描述信息。(注:程序框架和部分源码已给出,请补充完整)import java.io.*;public class Test /主类定义已给出 public static void main(String args) Cylinder c=new Cylinder(2, 5);System.out.println(c.toString();class Circle /类Circle定义,请填写完整 class Cylinder extends Circle /类Cylinder定义,请填写完整 3. 编写一个完整的Java Application 程序。包含接口ShapeArea,MyRectangle类,MyTriangle类及Test类,具体要求如下:接口ShapeArea:double getArea():求一个形状的面积 double getPerimeter ():求一个形状的周长类MyRectangle:实现ShapeArea接口,并有以下属性和方法: 属性width: double类型,表示矩形的长height: double类型,表示矩形的高 方法MyRectangle(double w, double h):构造函数 toString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0”类MyTriangle:实现ShapeArea接口,并有以下属性和方法: 属性a,b,c: double型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法) 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s赋初值。toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”Test类作为主类要完成测试功能1. 生成MyRectangle对象2. 调用对象的toString方法,输出对象的描述答案1-5 CCDDD6-10 DADAD11-15 BBBBB16-20 BCCAD21-25 ACCBA26-30 BBBAC31-35 ACAAD36-40 DDCBA41-45 ADBDD46-47 CA二1 602 integer3 x=34 2, 3, 45 36 1.237 复制文件a.txt到文件b.txt8 在屏幕上输出Test.java文件的内容9 1 2 3 4 5 8 910将数组元素从大到小排序并显示到屏幕上11 Message Four12 Value is two.Value is three13 parent child child14 Before:0 After:2三1 class Complex/添加属性定义intrealPart; int imaginPart; /添加构造方法Complex() public Complex()realPart=0;imaginPart=0; /添加构造方法Complex(int r, int i) public Complex(int r,int i)realPart=r;imaginPart=i; /添加复数相加方法 addComplexpublic Complex addComplex(Complex a) Complex b=new Complex();b.realPart=a.realPart+this.realPart;b.imaginPart=a.imaginPart+this.imaginPart;return b; /添加toString方法public String toString() String slt=; if(this.realPart!=0) if(this.imaginPart0) slt=String.valueOf(this.realPart)+; else slt=String.valueOf(this.realPart); if(this.imaginPart!=0) slt=slt+String.valueOf(this.imaginPart)+i ; return slt; 2 class Circle /类Circle定义,请填写完整 final float PI=3.14159f; /添加属性radius double radius; /添加构造函数Circle (double r) public Circle (double r) radius=r; /添加getRadius()方法 public double getRadius() return radius; /添加findArea()方法 public double findArea() return PI*getRadius()*getRadius(); class Cylinder extends Circle /类Cylinder定义,请填写完整/添加属性length double heigth; /添加构造函数Cylinder(double r, double l) public Cylinder(double r, double h ) super(r); heigth=h; /添加findVolume()方法public double findvolume()double volume;volume=this.findArea()*heigth;return volume; /添加toString()方法,返回圆柱体的半径、高、体积等信息 public String toString() String slt=; slt=The cylinder information:radius=+ String.valueOf(this.radius)+,heigth=+ String.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论