JAVA习题集2(29页).doc

上传人:1595****071 文档编号:34808166 上传时间:2022-08-18 格式:DOC 页数:30 大小:166KB
返回 下载 相关 举报
JAVA习题集2(29页).doc_第1页
第1页 / 共30页
JAVA习题集2(29页).doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《JAVA习题集2(29页).doc》由会员分享,可在线阅读,更多相关《JAVA习题集2(29页).doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-习题二一、判断题1一个类定义了一个或多个构造方法,则Java不提供默认的构造方法。( )2如果定义的类中没有给出构造方法,系统也不会提供构造方法。( )3可以通过类名直接访问类变量。( )4非static修饰的方法既能被对象调用,又能用类名直接调用。( )5static修饰的类方法既能被对象调用,又能用类名直接调用。( )6一个类的所有对象共享static修饰的类变量。( )7类由两部分组成,一部分是变量的定义,一部分是方法的定义。( )8方法的定义由方法的声明和方法体等两部分组成。( )9方法中的形参可以和方法所属类的属性(域)同名。( )10package语句只能放到Java源程序除注释

2、之外的第一行位置。( )11Java应用程序的人口main方法只有一种定义。( )12静态成员域具有全局作用域范围。( )13类成员变量可无须初始化,由系统自动进行初始化。( )14在类体部分定义时,类的构造方法、成员域和成员方法的出现顺序在语法上有严格限制。 ( )15类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。( )二、选择题1下述哪个说法是不正确的?( ) A局部变量在使用之前无须初始化,因为有该变量类型的默认值 B类成员变量由系统自动进行初始化 C参数的作用域就是所在的方法 Dfor语句中定义的变量,当for语句执行完时,该变量就消亡了2下述哪一个关键字不是类及类

3、成员的访问控制符?( ) Apublic Bprivate Cstatic Dprotected3考虑以下的方法头声明: public void myMethod(int num,char letter) 下列哪个描述是正确的?( ) A. 这个方法有个int型的参数,它的形式参数是letter B这个方法有个int型的参数,它的形式参数是num C这个方法有个char型的参数,它的实际参数是myMethod D这个方法是一个构造方法4假设有个类已经定义了下述的变量:int num1=10; int num2=20; String word=new String(exam); double a

4、nswer=255; 另外定义了下列方法头: public int stuff(String s,int x,int y) 以下哪个是正确的方法调用?( ) Anum1=stuff (”hello”,num1,num1); B,answer=stuff (word,answer,num2); Cnum2=stuff(”hello”,num1,answer); Dnum1=stuff(num1,num2,word);5下面哪一项不是构造方法的特点?( ) A构造方法名必须与类名相同 B构造方法不具有任何返回类型 C任何一个类都含有构造方法 D构造方法修饰词只能是public6假设已声明了一个类A

5、的两个对象a1、a2,为了初始化a1和a2,下面语句正确的是 ( )。 A. a1,a2=new A() B. a1=A.new();a2=A.new() C. a1=new();a2=new() D. a1=new A();a2=new A()7以下程序的运行结果为( )。public class Test ( int value; public static void main (String args ) Test t=new Test(); if (t=null) ( System.out .println (No Object); else System.out .println (

6、t.value); A. 0 B. null C. NoObject D. 编译出错10给定如下代码:class Circle String name, radius; int r; public Circle (String n) name=n; public Circle (String n,int a) name=n; r=a; ) public Circle (String n,String d, int a) radius=d; 要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法,这行代码应该是( )。A. Circle(n,a); B. this(Circle(n,a

7、);C. this(n,a); D. this(name,a);11下面哪个代码片段是错误的?( )A. package mypackage; public class Rectangle /doing something.B. import java.io.*; package mypackage; public class Rectangle /doing somethingC. import java.io.*; class Circle/doing something. public class Rectangle /doing something.D. import java.io.

8、*; import java.awt.*; public class Rectangle /doing something.12下列选项中,用于声明包名的关键字是( )。 A import B package C interface D protected13下列各种Java类的定义,哪些是错误的?( )A. class MyClass private int Val; public int getVal() return Val; B. class MyClass private static int Val; public int getVal() return val; C. class

9、 MyClass private int Val; public static int getVal() return Val; D. class MyClass private static int Val; public static int getVal() return Val; 14某类的成员方法只能被自己调用,修饰该方法的是( )。 A public B protected C private D 无修饰符15另外的类要获取以下MyClass类中的member的值,采用的语句是( )。public class MyClass private static int member=1;

10、 public static int getMember() return member; ;A. myClass.member B. new myClass().memberC. myClass.getMember() D. myClass().getMember()16下面关于变量的说法,哪个是不正确的?( ) A实例变量是类的成员变量 B实例变量用关键字static声明 C在方法中定义的局部变量在该方法被执行时创建 D局部变量在使用前必须被初始化17在Java中,以下哪一个关键字使类不能派生出子类?( ) Afinal Bpublic Cprivate Dvolatile18关于publ

11、ic static void main方法的参数描述不正确的是( )。 AString args BString args CString a DString args19下列整型的最终属性i的定义中,正确的是( )。 Afinal Bstatic int i; Cstatic final int i234; Dfinal float i314f;20类方法的修饰符是( )。 Astatic Bclass Cpublic Dvoid22类Line的定义如下:class Line private int a,b; public Line(int x,int y) this.x=x; this.y

12、=y; 其中的this代表( )。A类名Line B父类的对象C. Line类实例的当前对象引用 Dthis指针23以下程序片段,下列哪个选项插入到第2行将引起编译错误?( )1. package mypackage;2.3. class MyClass4. /do something5. A. public class MainClass B. package mypackage1;C. class B D. import java. util.*;24以下程序代码,无法通过编译的是( )。A. class A int i=O; public void method() System.out

13、.println (i); B. class A int i=0; class B public void method() System.out.println (A.i); C. class A public int i=0; public static void method() System. out.println (newA() .i); D. class A public static int i=0; public static void method() System.out.println (i); ) 25下列代码在编译时会发生错误,下面哪种修改可以更正错误?( )cla

14、ss Test private int m; public static void fun() System.out.println(m); A将private int m改为protected int mB将private int m改为public int mC将phvate int m改为static int mD将private int m改为int m三、程序阅读题1阅读下面的程序,程序保存为Testjava:1. public class Test2. short mValue;3. public static void main(String args)4. int a=32;5

15、. int b=56;6. Test os=new Test (a+b);7. os.Show ();8. 9. protected Test (short aValue) 10. mValue= aValue;11. 12. public void Show() 13. System. out .println (mValue);14. 15. 上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?2阅读下面的程序:1 public class Test2 public static void main (String argv ) 3 Bird b=

16、new Bird();4 b. fly (3);5 6 7 class Bird8. static int Type=2;9. private void fly(int an_Type) 10. Type= an_Type;11. System. out .println (Flying.- + Type);12. 13. 上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。class StaticTest static int x=1; int y; StaticTest () y+; p

17、ublic static void main (String args ) StaticTest st=new StaticTest(); System.out.println (x=+x); System.out.println (st.y=+st.y); st=new StaticTest(); System.out.println(x=+x); System.out.println(st.y=+st.y); static x+; 4写出下列程序代码的运行结果。public class PassTest float ptValue; public void changeInt(int va

18、lue) value=il; public void changeStr(String value) value=new String(hey); public void changeObjValue( PassTest ref) ref.ptValue=22; public static void main(String args ) String str; int val; PassTest pt=new PassTest(); val=33; pt.changeInt (val); System.out.println(Int value is: +val); str=new Strin

19、g (Hi); pt.changeStr (str); System. out.println(Str value is: +str); pt.ptValue=44; pt.changeObjValue(pt); System.out.println(Pt value is: +pt.ptValue);5写出下列程序代码的运行结果:class Test public static String ss = 杭州电子科技大;public String ms = 计算机学院;public void printInfo() System.out.println(ss= + ss + ms= + ms)

20、;public static void main(String args) Test obj1, obj2;obj1 = new Test();obj2 = new Test();obj1.ss = 浙江工业大学;obj1.ms = 软件学院;obj1.printInfo();obj2.printInfo();6阅读以下程序,回答问题。package package1;class ClassA public void printInfo() System.out.println (I am ClassA. ); package package2;import package1.ClassA;p

21、ublic class ClassB public static voidmain(String args) new ClassA().printInfo(); (1)上面两个类是在同一个源程序文件中吗? (2)以上程序编译是否正常?若编译正常则运行结果是什么?7阅读下面程序,修改程序中错误的地方(提示:共三处)。1. class Person2. String name;3. int age;4. String sex;5. public Person(String name,int age,String sex)6. this.name=name;7. this.age=age;8. th

22、is.sex=sex;9. 10. public void toString()11. return name :+name+ age: + age+ sex:+ sex;12. 13. 14. public class TestPerson15. public static void main(String args)16. Person p=new Person();17. p.name=张三;18. p.age=20;19. p.sex=男;20. System. out.println (Person.tostring ();21. 22. 8写出下列程序代码的运行结果。public

23、class Test( int x=4; public static void main (String argv ) Test t=new Test (); t.x+; change (t); System.out.println (t.x); static void change (Test m) m.x+=2; 四、编程题1编写一个Java程序Suansu.java,定义两个整型变量a和b,使用构造方法初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商(方法名为DivAB)的方法。用另一个Java程序TestSu

24、ansu.java测词Suansu.java定义的方法,并在屏幕上输出结果。2创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:getArea返回矩形的面积,要求长和高的范围为0-50; getPerimeter返回矩形的周长; draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数); 在另一个类TestRectangle中编写main方法来测试Rectangle类。3根据以下的设计要求编写Java源代码。 类名:Student 变量(访问权限均为private): name,/表示为姓

25、名,类型为String age,/表示年龄,类型为int 方法如下。 (1)构造方法(没有参数,设置姓名为“无名氏”,年龄为20)。 (2)setName(有一个名为name的String型参数,将name的值设为这个新值)。 (3)getName(没有参数,返回姓名); (4)setAge(有一个名为age的int型参数,将age的值设为这个新值)。 (5)getAge(没有参数,返回年龄)。 (6)isSameAge(有一个参数s,是另一个Student对象的引用,如果两个Student对象的age相同,则返回true,否则返回false)。4编写一个复数类Complex验证两个复数1+2

26、i和3+4i相加产生一个新的复数4+6i。复数类Complex必须满足如下要求。(1)复数类Complex的属性如下。realPart是int型,代表复数的实数部分。imaginPart是int型,代表复数的虚数部分。(2)复数类Complex的方法如下。Complex()构造方法,将复数的实部和虚数都置0。Complex(int r,int i)构造方法,形参r为实部的初值,i为虚部的初值。Complex complexADD(Complex a)将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,将其返回给此方法的调用者。String toString()把当前复数对象的实部、虚部

27、组合成a+bi的字符串形式,其中,a和b分别为实部和虚部的数据。5编写一个表示二维平面上的点的类MyPoint,满足以下条件。 (1)定义private的成员变量x和y,表示点的x和y坐标,类型为整数。 (2)定义两个MyPoint的构造方法,一个构造方法不带参数,且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为整数,用这两个参数分别作为初始x和y的坐标。 (3)定义一个getD方法,功能为返回两个坐标点(由MyPoint定义)距离,值为float类型。 (4)编写main方法,打印坐标点(2,3)到点(4,5)的距离。6。编写一个公共(public)类,类名为Accou

28、ntUtil,该类属于account包,类中包含一个公用静态方法toSeparateNumber,该方法以一个十进制字符串为参数,返回用逗号隔开的数字字符串,分隔从右边开始,每三个数字用一个逗号隔开。例如,若参数为2367548,则返回2,367,548。若参数为小数,则分隔从小数点开始,例如,若参数为236754885,则返回2,367,54885。根据以下说明,编写一个银行账户类Account,并编写一个main方法,对Account类进行测试,在main方法中要调用Account的所有方法,发生异常时,要打印异常信息。该类的成员变量如下表所示(访问权限均为private)。7编写两个类,classA属于包package1,classA中有一个方法methodA();classB属于包package2,在classB的方法methodB()中调用classA的methodA()方法。每个方法简单地输出方法名即可。8编写一个三角形类,能根据3个实数构造三角形对象,如果3个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。输入任意3个数,输出构造的三角形面积。第 30 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁