南邮JAVA语言综合练习册期末复习题.docx
南京邮电大学高等函授JAVA语言综合练习习题与解答南京邮电大学继续教育学院2021年2月JAVA语言综合练习注:此版本的综合练习册对应教材是Java程序设计,杨健主编,北京邮电出版社,2019年11月第二版,ISBN9787563554072o第一章数据类型一、选择题1.如要抛出异常,应该应用()A.catchB.throwCtryD.finally2.在以下SWing的类中,属于容器的是()A.JAppletB.JButtonC.JTextAreaD.JMenu3.Java语言规定,程序绘图区域的坐标原点位于整个区域的()A.左上角B.右上角C左下角D.右下角4.用Thread子类实现多线程的步骤顺序是()A.声明Thread类的子类,创建Thread子类的实例,让线程调用Starto方法B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例C.创建Thread子类的实例,让线程调用Starto方法D.声明Thread类的子类,在子类中重新定义run0方法,创建Thread子类的实例,让线程调用Starto方法5.在JaVa的类库中,包含实现输入/输出操作的包是()A.java.utilB.java.ioC.java.appletD.java.awt6.在编写访问数据库的JaVa程序时,ConneCtiOn对象的作用是()A.用来表示与数据库的连接B.存储查询结果C.在指定的连接中处理SQL语句D.建立新数据库连接7.JDK是()A.一种全新的程序语言B.-种程序开发辅助工具C.一种由Java写成的,并支持JavaApplet的浏览器D.一种游戏软件8.下列不可作为JaVa语言标识符的是()A.alB.$lC._1D.ll9.有一段JaVa应用程序,它的主类名是al,那么保存它的源文件名可以是()A.al.javaB.aLclassC.alD.都对10.整型数据类型中,需要内存空间最少的是()A.shortB.longC.intD.byte二、判断题LJaVa语言具有良好的安全性和可移植性及平台无关性。()2.Java语言中数据类型占内存字节数与平台无关。()3.Java语言的源程序不是编译型的,而是编译解释型的。()4.JaVa语言既是面向对象的又是面向网络的高级语言。()5.JavaAPPIiCatiOn程序是由多个文件组成,其中可以有也可以没有主文件。6.JavaApplication程序中,每一个类中,必有一个主方法main0方法。()7.布尔型常量可以自动转换为短整型常量。()8.定义变量时必须实行初始化,否则变量具有无意义的值。()9.说明或声明数组时不分配内存大小,创建数组时分配内存大小。()10.类是一种类型,也是对象的一种模板。()三.填空题1.Java是面向对象的语言,类是客观事物的。2.对象是类的。3.布尔型常量有两个值,分别是true和。4.常量名必须完全。5.Java的单精度浮点型保留字是o6.Swing的事件处理机制包括、事件和事件处理者。7.当一个对象被当成垃圾从内存中释放时,它的方法会被自动调用。8.逻辑表达式的运算结果是一个O9.如果子类想使用父类中的成员,可以通过关键字引用父类中的成员。10.Java语言认为那些可预料和不可预料的出错称为O四.简答题1.简述JaVa的主要特点。2.JaVa中,用于定义整型变量的关键字有哪些?3.在JaVa中,简单数据类型包括哪些?4.简述JaVa的三大技术平台。5.JaVa中的变量可以分为哪两种类型?五.编程题1.用冒泡排序法实现对数组的排序。2算术运算符的应用程序是个application:利用对话框,接受用户从键盘输入的两个字符串数据。将把这两个字符串数据转化为整型数值,并赋值给两个整型变量a和b;以a和b为操作数进行算术运算,并在对话框中输出运算结果程序运行时,你可输入任意两个整数,观察程序运行的不同结果。第二章函数一、选择题1.JaVa类可以作为()A.类型定义机制B.数据封装机制C.类型定义机制和数据封装机制D.上述都不对2.在创建对象时",必须()A.先声明对象,然后才能使用对象B.先声明对象,为对象分配内存空间,然后才能使用对象C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D.上述说法都对3.JaVa语言具有许多优点和特点,哪个反映了JaVa程序并行机制的特点?()A.安全性B.多线性C.跨平台D.可移植4.Javaapplication中的主类需包含main方法,main方法的返回类型是()A.intB.floatC.doubleD,void5.以下哪个方法用于定义线程的执行体?()A.startOB.init()C.run0D.synchronized()6.若需要定义一个类域或类方法,应使用哪种修饰符?()A.staticB.packageC.privateD.public7.以下关于继承的叙述正确的是()A.在Java中类只允许单一继承B在JaVa中一个类只能实现-个接口C.在Java中一个类不能同时继承一个类和实现一个接口D.在Java中接口只允许单一继承8.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口A.privateB.protectedC.privateprotectedD.public9有语句Strings=helloworld”;以下操作不合法的是()A.inti=slength();B.s>>>3;C.Stringts=s.trim();D.Stringt=s+w!w;10.下列关于JaVa语言的特点,描述错误的是()A.Java是跨平台的编程语言B.Java支持分布式计算C.Java是面向过程的编程语言D.Java支持多线程二.判断题1.class不是定义类的唯一关键字。()2.静态变量的引用只能处理静态变量。()3.抽象方法是一种只有说明而无具体实现的方法。()4.抽象方法一定出现在抽象类中。()5.使用运算符new创建对象时,赋给对象的值实际上是一个地址值。()6.使用构造方法只能给静态变量赋初值。()7.嵌入到html文件中的是APPlet的源程序。()8.initO方法是用来完成初始化操作的。()9.容器中只能包含有组件,而不能再含有容器。()10.所有事件类的父类是EventObject类。()三.填空题1.是JaVa程序中基本的结构单位。2.表达式1/2*9的计算结果是-3.Stringsl=wChinaw;intn=();n的值为<>4.自定义异常类型是从类中派生的。5.JPanel的默认布局管理器是。6.Java程序中当两个操作数为byte或short时,其运算结果的类型为7.数组复制时,"="将一个数组的传递给另一个数组。8.Java中的字符输出流都是抽象类的子类。9.允许使用己存在的类作为基础创建新的类,这种技术称。10在程序开发中,要想将一个包中的类导入到当前程序中,可以使用关键字。四、简答题1.简述JSP中INCLUDE和与静态的区别。2.简述JSP的常用指令。3.简述JSP的四种范围。4.简述页面间对象传递的方法。5.简述forward和redirect的区别。五.编程题1输入一个年份,判断是否闰年。2.输入一个0100的整数,实现学生成绩的百分制到等级制(A,B,C,D,E)的转换。使用JavaApplication命令行参数获得程序的输入数据.第三章面向对象选择题1.在JaVa中,下面关于构造函数的描述正确的是()A.类必须有显式构造函数B.它的返回类型是VoidC.它和类有相同的名称,但它不能带任何参数D.以上皆非2.在继承中,关于构造方法的说明,下列说法簿年的是()A.子类无条件的继承父类的无参构造方法B.子类可以引用父类中的有参构造方法,使用SUPer关键字C.如果子类没有构造方法,则父类无参构造方法作为自己的构造方法D.如果子类有无参构造方法,而父类的无参构造方法则被覆盖。3.在类的说明符中,被指定为私有的数据可以被访问的是()A.程序中的任何函数B.其他类的成员函数C.同类中的成员函数D.派生类中的成员函数4.要为程序的子窗口设定一个由字符串S指定的名字,可以采用的代码是()A.JFrame(s)B.window(s)C.newJFrame(s)D.super(s)5.Paint()方法使用的参数类型是()A.GraphicsB.Graphics2DC.StringD.Color6.对应标准输入设备是键盘的是()A.System.inB.System.outC.System.errD.System.gc()7.提供JaVa存取数据库能力的包是()A.java,sqlB.java.awtC.java.IangD.java.swing8.用abstract定义的类()A.可以被实例化B.不能派生子类C.不能被继承D.只能被继承9.在JaVa语言中,包中的类是自动导入的是(A.java.ioB.java.langC.java.awtD.java.applet10.关于抽象类与最终类,下列说法错误的是(A.抽象类只能被继承,最终类只能被实例化B.抽象类和最终类都可以被声明使用C.抽象类中可以没有抽象方法,最终类中可以没有最终方法D.抽象类和最终类被继承时,方法可以被子类覆盖。二.判断题1.JaVa程序是不区分大小写字母的。()2.Java程序编译后生成的字节码文件,其后缀是.exe()3.Java语言的源程序不是编译型的,而是编译解释型的。()4.Java语言既是面向对象的又是面向网络的高级语言。()5如果一个JaVa程序中有多个类,编译后只生成一个字节码文件,其名字同主类名。()6.在JaVa程序中,使用import语句引入的类是在解释器中实现的。()7.布尔型常量可以自动转换为短整型常量。()8.定义变量时必须实行初始化,否则变量具有无意义的值。()9字符型变量中只存放个字符。()10类是一种类型,也是对象的一种模板。()三.填空题1.JaVa的窗口通常是的子类。2.类只能定义但不能被实例化。3.异常类都是的子类。4.子类对父类继承来的属性重新定义称为。5.用关键字来分配实例存储空间。6.在JDK中,IP地址用类来表示。7.捕获异常的统一出口通过语句实现。8.Java对I/O访问还提供了同步处理机制。保证某时刻只有一个线程访问一个I/O流,这就是O9.JaVa中的非字符输出流都是抽象类的子类。10.在操作系统中,被称做轻型的进程是。四.简答题1.-般JaVa的类体由哪几部分组成?2.简述SerVlet的生命周期。3.简述什么情况下调用doGet()和doPost4.简述重载和重写的区别。5.简述抽象类和接口的区别。五.编程题1.建立一个素数类(素数是指一个整数,不包含1和本身以外的因子,例如19是素数,20不是素数),该包含如下成员:(1)成员变量,intleft,right:分别存储数据范围的左右边界:intcount=0:存储数据范围内的素数个数;intp:存储指定范围内的素数,指定合适的数组长度。成员方法。素数(inta,intb):构造方法,创建素数对象时初始化左右边界;booIearisp(intx):返回变量X是否为素数;voidcreate_p():依次从指定范围内的查找素数,并存储在数组P中;voiddisp():输出所有素数。编写一个主类,在main方法中,查找200300之间的素数并输出所有素数。源程序文件名为Myf.java保存。2.建立一个数组类,计算二维数组中每一行数据的最大值,保存在一维数组中。该类包含如下成员:(1)成员变量,intmax:存储4行数据;intd:存储4行5列数据。(2)成员方法。数组(intx口):构造方法,创建对象时初始化二维数组;Voidmax_d():依次求二维数组d中每一行数据的最大值,并保存在一维数组max中;voiddisp():输出最大值数组的数据。编写一个主类,在main方法中,用如下数据检验数组类,并输出最大值数组。1122116303401223226830549212112211630340672921132077082源程序文件名为Myf.java保存第四章多线程选择题I.Java类可以作为()A.类型定义机制B.数据封装机制C.类型定义机制和数据封装机制D,上述都不对2.下列哪个类的声明是正确的?()A.abstractfinalclassHI)B.abstractprivatemove()C.protectedprivatenumber;D.publicabstractclassCar3.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?()A.安全性B.多线性C.跨平台D.可移植4.Javaapplication中的主类需包含main方法,main方法的返回类型是()AJntB.floatC.doubleDwoid5.以下哪个方法用于定义线程的执行体?()A.start()B.init()C.run()D.synchronized()6下列关于for循环和while循环的说法中正确的是()Awhile循环能实现的操作,for循环也一样能实现B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空7.以下关于继承的叙述正确的是()A.在Java中类只允许单一继承B.在Java中一个类只能实现一个接口C在JaVa中一个类不能同时继承一个类和实现一个接口D.在Java中接口只允许单一继承8.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。A.privateB.protectedC.privateprotectedD.public9.编译JaVa程序的命令是()A.aletviewerBjavacCjavaDjavadoc10.下列选项中,哪一项不属于“汽车类”的行为?()A.启动B.刹车C.减速D.速度二.填空题1.this指o2.在JaVa中,是组织JaVa程序中类的一种手段。3.在JaVa中,能实现多重继承效果的方式是O4.用修饰的变量称为静态变量。5.Java类中,如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个构造方法。6.JaVa缺省加载的是。7.接口声明有常量和。8.线程类型中yield()方法只能让相同优先级或更高优先级、处于状态的线程获得运行机会。9.在非静态成员方法中,可以使用关键字访问类的其它非静态成员。10.TCP协议的特点是o三.简答题Uava中类成员的限定词有哪些?2Java提供了哪些日期类?3.简述Java语言中使用事件监听器进行事件处理的过程。4.哪些数据类型可以充当switch语句的条件?5.对象位于何处?声明能够引用对象的实质是什么?四.编程题I.输出Io(X)O之内的所有完全数。2.用重载方法实现计算int类型和double类型的平方JAVA语言综合练习参考答案挺.小家考容嗓与锦*呆符,这襟座为术。第一章数据类型1.B2.D3.A4.D5.B6.A7.B8,D9.A10,D1.抽象2实例3.false4.大写5.float6.事件源7.finalize()8.布尔值9.super10异常四.1.答:简单性、安全性、面向对象、平台无关性。2.答:byte,short,int,long.3.答:整数类型,浮点类型,字符类型,布尔类型4.JavaSE;JavaEE;JavaME5.基本类型:引用类型五.publicvoidbubbleSort(intarray2)增序冒泡排序法的实现/外循环控制排序的躺数for(intpass=1;pass<=array2.Iength-I;pass+)内循环控制一躺的排序for(intelement=0;element<=array2.length-pass-1;element+)if(array2element>array2element+1)比较,交换inthold=array2element;array2element=array2element+1;array2element+1=hold;2./ArithmeticOperator.java,importjavax.swing.JOptionPane;publicclassArithmeticOeratorpublicstaticvoidmain(Stringargs)Stringinput1;Stringinput2;inta,b;intplus,minus;input1=JOPtionPane.ShowInputDialog("输入第一个数");input2=JoPtiOnPaneShowInputDialog("输入第二个数");a=Integer,parselnt(input!);b=Integer,parselnt(inut2);plus=a+b;minus=a-b;String sl=a + bpus+"n"sl+=a + b +sl÷=a + " " + b + sl+=a + " / " + b + sl+=a + * % * + b + IninUS+"n" + (a*b)+"n" + (ab)+"n" + (a¾b)+*n*JOptionPane. ShowMessageDialog( null, si,"算 术运 算结果",JOptionPane. PLAINJfESSAGE );第二章函数1.C2.C3.B4.D5.C6.C7.A8,D9.B10.C1.类2.03.54.Exception5.FlowLayout6.int7.引用8.Writer9.继承ISimport四.答:%include>:指令元素;编译时包含;对所包含的文件进行语法分析;Cjsp:include:动作元素;运行时包含;不对所包含的文件进行语法分析。2,答:page:用来定义JSP文件中的全局属性。include:通知容器将当前JSP页面中内嵌的、在指定位置上的资源内容包含。taglib:允许使用者自定义标签。3.答:requestsessionapplicationCookieS等5.答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。五.importjavax.swing.JOptionPane;classLeapYearintyear;boo1eanisLeapYear;StringsYear=JOptionPane.ShowInputDialog("Entertheyear:*);year=Integer>parselnt(sYear);iSLeapYear=(year%4=O&&year%100!=O)(year%400=O);if(isLeapYear)sYear=year+"isaleapyear"elsesYear-year+"isnotaleapyear"JOptionPane.ShowMessageDialog(null,sYear,“结果”,JOptionPane.PLAINJfESSAGE);2.classSwitchDemopublicstaticvoidmain(Stringargs)intscore=78;chargrade;switch(score/10)/两个整型数相除的结果还是整型case10:case9:grade='A'值为10和9时的操作是相同break;case8:grade='B'break;case7:grade='C,;break;case6:grade='D*;break;default:grade='F'System,out.println(gradeis:+grade);第三章面向对象一.选择题LD2.D3.C4-C5,A6.A7.A8.C9.B10.C三.填空题1.JFrame2.抽象3.Exception4.重写5.new6.InetAddress7.finally8.过滤流9.OutputStream10.线程四.简答题答:一部分是属性,一部分是方法。答:SerVlet有良好的生命期的定义。包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。SerVlel被服务器实例化后,容器运行其init方法,请求到达时运行其SerViCe方法,SerViCe方法自动派遣运行与请求对应的doXXX方法等,当服务器决定将实例销毁的时候调用其destroy方法。3.答:JSP页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()o答:重载:对于类中的方法,两个方法的方法名相同,但参数签名不相同。重写:在子类中定义了一个方法,它的方法名,返回类型和参数签名正好和父类中的某个方法的名,返回类型和参数签名相同,那么就说子类的方法覆盖了父类的方法。5.答:接口:使用interface关键字,一个类可以实现多个接口;一个类实现接口、必须实现接口里的所有方法:接口里必须是抽象方法。抽象类:使用的是abstract关键字,一个类只能继承一次。继承抽象类的话,是可以不全部实现它的所有方法,抽象方法只需声明,无需实现。抽象类可含有非抽象方法。五.编程题1.class素数intleft,right;intcount=100;intplj=newintcountj;public素数(inta,intb)left=a;booleanisp(intx)fbr(inti=2;ivx;i+)if(x%i=O)returnfalse;voidcreate_p()intk=0;fbr(inti=left;iv=right;i+)if(is(i)k+=i;voiddisp()fbr(inti=0;i<counl;i+)if(i%8=O)System.out.print(n,+pi);elseSystem.out.print(,t',÷pi);publicstaticvoidmain(Stringargs)素数ob=new素数(IoO,200);ob.create_p();ob.disp();2.class数组intmax=newint4;intd=newint45;public数组(inix)(for(inti=0;i<4;i+)for(intj=0y<5y+)dij=xij;voidmax_d()(for(inti=0;i<4;i+)intm=di();for(intj=l;j<5;j+)if(diirj>m)m=dij;maxi=m;voiddisp()for(inti=0;i<4;i+)SySIem.out.print("t"+maxi);publicclassMyfpublicstaticvoidmain(Stringargs)intd=112,211,630,340,122,32,26,830,549,212,112,211,630,340,672,92,11,320,770,82);数组Ob=new数组(d);ob.max_d();ob.disp();第四章多线程LC2.D3.B4.D5.C6.B7.A8,D9.B10.D1.当前对象2.包3.实现多个接口4.static5.无参默认6.包11.抽象方法8.就绪9.this10.面向连接的传输协议2.答:Date,Calendar和DateFormat3.答:首先事件监听器向事件源注册,事件发生时,事件源向事件监听器发送一个事件对象。答:表达式的返回值类型必须是:byteshortintchar,是基本数据类型而不是包装类。5.答:对象位于堆内存中;声明能够引用对象的实质:在栈中保留了对象的地址四.publicclassPerfectNumberfor(intx=1;x<100OOjx+)if(isPerfect(x)displayPerfect(x);staticbooleanisPerfect(intx)判断X是否完全数inty=0;for(inti=l;i<x;i+)if(x%i=0)/i是X的因子y+=i;if(y=)returntrue;elsereturnfalse;System,out.print(x+*=");for(inti=l;i<x;i+)if(x%i=三0)if(i!=1)SyStenLoUtprint("+");System,out.println();publicclassMethodOverloadpublicstaticvoidmain(Stringargs)SyStenl.out.rintln("整型数7的平方值:"+square(7);SySten.out.printIn("浮点型数75的平方值:"+square(7.5)/声明带有int型参数的square方法System.OIrLPrintln("调用int型参数的square方法");/声明带double型参数的SqUare方法publicstaticdoublesquare(doubledoubleValue)System*out.PrintIn("调用double型参数的square方法");returndoubleValue*doubleValue;