1、JAVA程序设计练习题有答案JAVA程序设计练习题一、单选择题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。.class.exe2、设x=1,y=2,z=3,则表达式yz/x的值是(A)。、不允许作为类及类成员的访问控制符的是(C)。、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。()()()()二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2、在Java的基本数据类型中,char型采用Unicode编
2、码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。3、设x=2,则表达式(x+)3的值是0。4、若x=5,y=10,则x=y的逻辑值分别为true和false。5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。7、设有数组定义:intMyIntArray=10,20,30,40,50,60,70;
3、则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;i;i+)if(i%2=1)s+=MyIntArrayi;8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。三、写出下面程序的运行结果1、.*;publicclassabcpublicstaticvoidmain(Stringargs)ABs=newAB(Hello!,IloveJAVA.););classABStrings1;Strings2;publicAB(Stringstr1,Stringstr2)s1=str1;s2=str2;publicStringtoString(
4、)returns1+s2;Hello!IloveJAVA.2、.*;publicclassabcpublicstaticvoidmain(Stringargs)inti,s=0;inta=10,20,30,40,50,60,70,80,90;for(i=0;i;i+)if(ai%3=0)s+=ai;s=1803、.*;publicclassabcpublicstaticvoidmain(Stringargs)classSubClassextendsSuperClassintc;SubClass(intaa,intbb,intcc)super(aa,bb);c=cc;classSubSubCla
5、ssextendsSubClassinta;SubSubClass(intaa,intbb,intcc)super(aa,bb,cc);A=aa+bb+cc;voidshow()一判断题1Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。()2Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。()3Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。()4构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。()5在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catc
6、h中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。()6拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。()7Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。()8静态初始化器是在其所属的类加载内存时由系统自动调用执行。()9在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。()二单项选择题1Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?(B)A、StringargsB、StringarC、CharargD、StringBuffera
7、rgs2以下关于继承的叙述正确的是(A)。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3paint()方法使用哪种类型的参数?(A)A、GraphicsB、Graphics2DC、StringD、Color4以下哪个不是Java的原始数据类型(B)A、intB、BooleanC、floatD、char5以下哪项可能包含菜单条(B)。A、PanelB、FrameC、AppletD、Dialog6若需要定义一个类域或类方法,应使用哪种修饰符?(A)A、staticB、packageC、
8、privateD、public7在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(A)。A、int()B、start()C、destroy()D、stop()11以下代码段执行后的输出结果为(A)intx=3;inty=10;A、-1B、2C、1D、312有以下程序片段,下列哪个选项不能插入到行1。(D)1.3.A、.*;B、packagemypackage;C、classOtherClassD、publicclassMyClass15在编写JavaApplet程序时,需在程序的开头写上(B)语句。A、.*;B、import;C、.*;D、import;16类Parent、Ch
9、ild定义如下:1publicclassParent2publicfloataFun(floata,floatb)throws3IOException45publicclassChildextendsParent67将以下哪种方法插入行6是不合法的。(A)A、floataFun(floata,floatb)B、publicintaFun(inta,intb)throwsExceptionC、publicfloataFun(floatp,floatq)D、publicintaFun(inta,intb)throwsIOException17在使用interface声明一个接口时,只可以使用(D)
10、修饰符修饰该接口。A、privateB、protectedC、privateprotectedD、public18、有以下方法的定义,请选择该方法的返回类型(D)。ReturnTypemethod(bytex,doubley)return(short)x/y*2;A、byteB、shortC、intD、double三程序阅读题1以下程序的输出结果为相等。classStringTest1publicstaticvoidmain(Stringargs)Strings1=hello;Strings2=newString(hello);if(s2)else2以下程序段的输出结果为56789。publi
11、cclassTestArraypublicstaticvoidmain(Stringargs)inti,j;inta=5,9,6,8,7;for(i=0;i;i+)intk=i;for(j=i;j;j+)if(ajak)k=j;inttemp=ai;ai=ak;ak=temp;for(i=0;iz&x+zy&z+yx)else12、下面程序段的执行结果是(65432)inta=2,3,4,5,6;for(inti=;i=0;i-)+);三、程序阅读题1、以下程序的输出结果为_Peteris17yearsold!_。PublicclassPersonStringname;intage;publi
12、cPerson(Stringname,intage)=name;=age;Publicstaticvoidmain(Stringargs)Personc=newPerson(Peter,17);+is+yearsold!);2、以下程序的输出结果为_课程号:101课程名:ASP学分:3_。PublicclassCourseprivateStringcNumber;privateStringcName;privateintcUnit;publicCourse(Stringnumber,Stringname,intunit)cNumber=number;cName=name;cUnit=unit;
13、PublicvoidprintCourseInfo()+cNumber+课程名:+cName+学分:+cUnit);classCourseTestpublicstaticvoidmain(Stringargs)Coursec;c=newCourse(101,ASP,3);();5、下列程序的运行结果是_12345_。publicclassMyClassinta=1,2,3,4,5;voidout()for(intj=0;j;j+)+);publicstaticvoidmain(Stringargs)MyClassmy=newMyClass();();四、简答题1、简述Java中异常处理的机制?
14、答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行finally块。2
15、.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。2、什么是继承?答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。3、请简述重载和重写的区别?答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Ove
16、rloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。1.创建类的对象时,使用运算符_new_给对象分配内存空间。2.定义类的构造方法不能有返回值类型,其名称与_类_名相同。语言中关键字_double_表示双精度类型。4.若有定义:floatb=,;,则()
17、的值是_3_。5若有如下类定义,则类B是类A的_子类_。classBextendsA6接口中的成员只有静态常量和_抽象方法_。7.在子类中使用关键字_super_做前缀可调用被子类覆盖的父类中的方法。8.关键字_import_用于导入包中的类到程序中,供程序中使用。语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_catch_块来捕获和处理异常。阅读程序,回答问题1.1:publicclassOutput12:publicstaticvoidmain(Stringarge)3:inti=0;4:for(charch=97;ch113;ch+,i+)5:if(i%8=0)6
18、:);7:+ch);8:9:10:(1) 程序第5、6行的if语句的功能是什么?(2)程序输出的结果有几行?(1)每打印8个字符,则换行。(2)输出的结果有2行2.1:import2:3:publicclassSortArray4:publicstaticvoidmain(Stringargs)5:Stringstr=size,abs,length,class;6:(str);7:for(inti=0;i;i+)8:);9:10:(1)写出程序运行后的结果。(2)方法调用str0.length()的返回结果是多少?(1)?abs?class?length?size?(2)?41.定义类A和类B
19、如下.classAinta=1;doubled=;voidshow()A:a=+a+td=+d);classBextendsAfloata=;Stringd=Javaprogram.;voidshow()();B:a=+a+td=+d);(1)若在应用程序的main方法中有以下语句:Aa=newA();();则输出的结果如何?(2)若在应用程序的main方法中定义类B的对象b:Ab=newB();();则输出的结果如何?答:输出结果为:1)ClassA:a=1d=2)ClassA:a=1d=ClassB:a=Javaprogram。.*;publicclassWstaticStrings=甲,乙,丙,丁;publicstaticvoidmain(Stringargs)Stackstk=newStack(); for(inti=0;i;i+)(si+);intk=0; while(k3)k+;堆栈的操作规则如何?写出程序运行后的结果。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1