2023年新版本Java题库_第1页
2023年新版本Java题库_第2页
2023年新版本Java题库_第3页
2023年新版本Java题库_第4页
2023年新版本Java题库_第5页
已阅读5页,还剩232页未读 继续免费阅读

下载本文档

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

文档简介

一、单项选择题(40道小题,共40分)1、Java源文献中最多只能有一个()类,其他类的个数不限。(1分)A、abstractB、publicC、finalD、interface2、下列哪个是合法的Java标记符?()(1分)A、Tree&GlassesB、FirstJavaAppletC、*theLastOneD、273.53、编译JavaApplication源程序文献将产生相应的字节码文献,这些字节码文献的扩展名为()。(1分)A、javaB、.classC、htmlD、.exe4、Java中()(1分)A、一个子类可以有多个父类,一个父类也可以有多个子类B、一个子类可以有多个父类,但一个父类只可以有一个子类C、一个子类可以有一个父类,但一个父类可以有多个子类D、上述说法都不对5、关于构造方法以下说法错误的是()。(1分)A、构造方法名必须与类名一致B、构造方法可以重载C、构造方法是通过new来调用D、每个类都必须编写构造方法代码6、下列描述中,错误的是()(1分)A、Java规定编程者管理内存B、Java的安全性体现在多个层次上C、Applet程序规定在支持Java的浏览器上运营D、Java有多线程机制7、下面说法不对的的是()(1分)A、一个子类的对象可以接受父类对象能接受的消息;B、当子类对象和父类对象能接受同样的消息时,它们针对消息产生的行为也许不同;C、父类比它的子类的方法更多;D、子类在构造函数中可以使用super()来调用父类的构造函数;8、下面不是合法标记符的是()(1分)A、2ofUSB、giveMesC、whataQuizD、$d2023_9、如定义数组inta[]={1,2,3};,操作对的的是()。(1分)A、a[3]=100B、a[0].lengthC、a++D、a.length10、下面哪一个是合法的数组声明和构造语句()(1分)A、int[]ages=[100];B、intages=newint[100];C、int[]ages=newint[100];D、int()ages=newint(100);11、整型数据类型中,需要内存空间最少的是()(1分)A、shortB、longC、intD、byte12、下面关于数组声明和初始化的语句()有语法错误?(1分)A、inta1[]={3,4,5};B、Stringa2[]={"string1","string1","string1"};C、Stringa3[]=newString(3);D、int[][]a4=newint[3][3];13、publicclassfoo{publicstaticvoidmain(String[]args){Strings;System.out.println("s="+s);}输出结果应当是:()(1分)A、代码得到编译,但捕获到NullPointException异常B、代码得到编译,并输出“s=”C、代码得到编译,并输出“s=null”D、由于Strings没有初始化,代码不能编译通过14、若a的值为3时,执行if(a>0)if(a>3)c=2;elsec=3;elsec=4;c的值是()(1分)A、1B、2C、3D、415、设有定义inti=123;longj=456;下面赋值不对的的语句是()。(1分)A、j=i;B、j=(long)i;C、i=(int)j;D、i=j;16、结构化程序设计所规定的三种基本控制结构是()(1分)A、输入、解决、输出B、树形、网形、环形C、顺序、选择、循环D、主程序、子程序、函数17、下面哪一个循环会导致死循环?()(1分)A、for(intk=0;k<0;k++)B、for(intk=10;k>0;k--)C、for(intk=0;k<10;k--)D、for(intk=0;k>0;k++)18、在调用方法时,若要使方法改变实参的值,可以()(1分)A、用基本数据类型作为参数B、用对象作为参数C、A和B都对D、A和B都不对19、设i、j、k为类X中定义的int型变量名,下列类X的构造函数中不对的的是()。(1分)A、x(intm){...}B、voidx(intm){...}C、x(intm,intn){...}D、x(inth,intm,intn){...}20、给出下面的代码publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{}哪些方法可以加入类Child中?(1分)A、A.intaddValue(inta,intb){//dosomething...}B、B.publicvoidaddValue(){//dosomething...}C、C.publicintaddValue(intb,inta){//dosomething...}D、D.publicintaddValue(inta,intb)throwsException{//dosomething...}21、选项中()行代码可以替换题目中//addcodehere而不产生编译错误?publicabstractclassMyClass{publicintconstInt=5;//addcodeherepublicvoidmethod(){}}(1分)A、publicabstractvoidmethod(inta);B、value=value+5;C、publicintmethod();D、publicabstractvoidanotherMethod(){}22、下面关于变量及其范围的陈述哪些是错误的()(1分)A、实例变量是类的成员变量B、实例变量用关键字static声明C、在方法中定义的局部变量在该方法被执行时创建D、局部变量在使用前必须被初始化。23、下列方法定义中,对的的是()。(1分)A、intx(){charch='a';return(int)ch;}B、voidx(){...returntrue;}C、intx(){...returntrue;}D、intx(inta,b){returna+b;}24、公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100,定义这个变量的代码为()(1分)A、publicintMAX_LENGTH=100;B、finalintMAX_LENGTH=100;C、staticfinalintMAX_LENGTH=100;D、publicfinalintMAX_LENGTH=100;25、假设在Java源程序文献“MyClass.java”中只具有一个类,并且这个类必须可以被位于一个庞大的软件系统中的所有Java类访问到,那么下面()声明有也许是符合规定的类声明。(1分)A、privateclassMyClassextendsObjectB、publicclassmyclassextendsObjectC、publicclassMyClassD、classMyClassextendsObject?26、下列方法头中哪一个不与其他方法形成重载(overload)关系?()(1分)A、voidmmm()B、voidmmm(inti)C、voidmmm(Strings)D、intmm()27、以下声明合法的是()(1分)A、defaultStrings;B、publicfinalstaticintw()C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()28、定义有如下的方法:abstractvoidperformDial();该方法属于()。(1分)A、接口方法B、最终方法C、抽象方法D、空方法29、类Parent、Child定义如下:publicclassParent{publicfloataFun(floata,floatb)throwsIOException{}}publicclassChildextendsParent{//插入行}将以下()插入行是合法的。(1分)A、floataFun(floata,floatb){}B、publicintaFun(inta,intb)throwsException{}C、publicfloataFun(floatp,floatq){}D、publicfloataFun(inta,intb)throwsIOException{}30、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:1.Aa0=newA();2.Aa1=newB();3.Aa2=newC();问以下哪个说法是对的的?()(1分)A、只有第1行能通过编译B、第1、2行能通过编译,但第3行编译犯错C、第1、2、3行能通过编译,但第2、3行运营时犯错D、第1行、第2行和第3行的声明都是对的的31、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。(1分)A、Staticvoidmethod()B、publicvoidmethod()C、finalvoidmethod()D、abstractvoidmethod()32、下面哪个函数是publicvoidaMethod(){...}的重载函数?()(1分)A、voidaMethod(){...}B、publicintaMethod(){...}C、publicvoidaMethod(){...}D、publicintaMethod(intm){...}33、给出下面的不完整的类代码classPerson{Stringname,department;intage;publicPerson(Stringn){name=n;}publicPerson(Stringn,inta){name=n;age=a;}publicPerson(Stringn,Stringd,inta){//完毕Person(Stringn,inta)的逻辑department=d;}}下面的哪些表达式可以加到构造方法中的注释处()(1分)A、Person(n,a);B、this(Person(n,a));C、this(n,a);D、this(name,age);34、java程序段中用来抛出异常的关键字是()。(1分)A、tryB、catchC、throwD、throws35、下面的代码片段实现的是什么功能?()Filefile=newFile("C:\\test.dat");if(file.exists()){file.delete();}(1分)A、创建C:\test.datB、删除C:\test.datC、打开C:\test.dat文献输出流。D、移动C:\test.dat36、getCustomerInfo()方法如下,try中可以捕获三种类型的异常,假如在该方法运营中产生了一个IOException,将会输出()publicvoidgetCustomerInfo(){try{//dosomethingthatmaycauseanException}catch(java.io.FileNotFoundExceptionex){System.out.print("FileNotFoundException!");}catch(java.io.IOExceptionex){System.out.print("IOException!");}catch(java.lang.Exceptionex){System.out.print("Exception!");}}(1分)A、IOException!B、IOException!Exception!C、FileNotFoundException!IOException!D、FileNotFoundException!IOException!Exception!37、要从文献"file.dat"中读出第10个字节到变量c中,下列()方法适合。(1分)A、FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();B、FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();C、FileInputStreamin=newFileInputStream("file.dat");intc=in.read();D、RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();38、字符流与字节流的区别是()(1分)A、每次读入的字节数不同B、前者带有缓冲,后者没有C、前者是字符读写,后者是字节读写D、两者没有区别,可以互换使用39、以下哪个方法用于定义线程的执行体?()(1分)A、start()B、init()C、run()D、synchronized()40、当某一线程正处在休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是()(1分)A、IOExceptionB、RuntimeExceptionC、InterruptedExceptionD、ClassNotFoundException二、判断题(10道小题,共10分)1、垃圾收集的过程在Java程序的生存期中式自动的,不需要分派和释放内存,也避免了内存泄露。(1分)对的错误2、Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象(1分)对的错误3、switch语句中可以没有default子句。(1分)对的错误4、在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的元素个数。(1分)对的错误5、类就是所有具有一定共性的对象的抽象描述。(1分)对的错误6、在构造方法中如调用super()语句,则必须使其成为构造方法中的第一条语句。(1分)对的错误7、在Java中,关键字final修饰一个类后,该类就不能派生出子类。(1分)对的错误8、尽管一个类没有抽象方法,该类仍然可以声明成抽象的。(1分)对的错误9、异常解决中总是将也许产生异常的语句放在try块中,用catch子句去解决异常,并且一个try块之后只能相应一个catch语句。(1分)对的错误10、调用sleep()方法可以使一个线程停止运营。(1分)对的错误三、填空题(5道小题,共30分)1、*求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。importjava.util.*;publicclasslianxi08{publicstaticvoidmain(String[]args){longa,b=0,sum=0;Scanners=newScanner(System.in);System.out.print("输入数字a的值:");a=s.nextInt();System.out.print("输入相加的项数:");intn=s.nextInt();inti=0;{b=b+a;sum=sum+b;++i;}System.out.println(sum);}}(6分)--------------------------------------------------------------------------------2、*方法intsigmaDigit(intn)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。staticintsigmaDigit(intn){intsum=0,d;while(n>0){d=n%10;n/=10;}}(6分)--------------------------------------------------------------------------------3、*方法intsigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。staticintsigmaEvenNum(inta[]){ints=0;{s++;}returns;}(6分)--------------------------------------------------------------------------------4、*编写一个方法halfArray(),规定该方法有一个元素类型为int的数组参数,方法返回一个新数组。*新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。int[]halfArray(int[]inputArray){for{inti=0;i<inputArray.length;i++}{}returnoutputArray;}(6分)--------------------------------------------------------------------------------5、*以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增长data。*由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应告知其它等待进入这个方法的线程。classShareDataManager{intdata=0;if(delta>=0){data+=delta;}else{while(data<delta){try{System.out.println("发生等待!");wait();}catch(InterruptedExceptione){}}data-=delta;}}ShareDataManager(intititData){data=initData;}}(6分)--------------------------------------------------------------------------------四、编程题(2道小题,共20分)1、编写Complex类并测试其功能:1.复数涉及实部(Real)和虚部(Imaginary)两部分;2.定义构造函数,在构造对象的同时为对象赋值;3.提供add方法计算两个复数的和;4.重载toString,使得Complex类的对象可以显示自身信息;5.并用main方法测试程序。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------2、实现程序:用字符流实现不断从键盘输入数据,并显示在屏幕上,直到用户输入"e"退出程序。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------1、面向对象的三大特性,不涉及如下()。(1分)A、异常B、封装C、继承D、多态2、()是构成Java程序的基本单位(1分)A、方法B、类C、对象D、main方法3、下面()行代码对的的声明了一个类方法(静态方法)?(1分)A、publicintmethod(inti)B、protectedmethod(inti)C、publicstaticmethod(Strings)D、protectedstaticvoidmethod(Integeri)4、编译Java程序的命令是()(1分)A、appletviewerB、javacC、javaD、javadoc5、下面说法不对的的是()(1分)A、一个子类的对象可以接受父类对象能接受的消息;B、当子类对象和父类对象能接受同样的消息时,它们针对消息产生的行为也许不同;C、父类比它的子类的方法更多;D、子类在构造函数中可以使用super()来调用父类的构造函数;6、Java语言的许多特点中,下列()特点是C++语言所不具有的。(1分)A、高性能B、跨平台C、面向对象D、有类库7、一个可以独立运营的Java应用程序()(1分)A、可以有一个或多个main()方法B、最多只能有两个main()方法C、可以有一个或零个main()方法D、只能有一个main()方法8、如定义二维数组inta[][]={{1,2},{3}};操作错误的是()。(1分)A、a[0][1]=200B、a[0].lengthC、a[1][1]=100D、a.length9、执行语句inti=1,j=++i;后i与j的值分别为()。(1分)A、1与1B、2与1C、1与2D、2与210、下面()操作符的优先级最高?(1分)A、&&B、||C、!D、()11、关于Java字符串说法错误的是()。(1分)A、Java中的字符串是常量B、Java中的字符串不是对象C、Java中的字符串存储在常量池中D、一个字符串定义后的长度不可变12、下面的哪些赋值语句是错的()(1分)A、floatf=11.1;B、doubled=5.3E12;C、doubled=3.14159;D、doubled=3.14D;13、给出下面的代码Strings="hello";Stringt="hello";charc[]={'h','e','l','l','o'};下列选项里()返回false。(1分)A、s.equals(t);B、t.equals(c);C、s==t;D、t.equals(newString("hello"));14、下面关于方法的说法,错误的是()。(1分)A、Java中的方法参数传递时传值调用,而不是地址调用B、方法体是对方法的实现,涉及变量声明和Java的合法语句C、假如程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法D、类的私有方法不能被其子类直接访问15、设有定义inti=123;longj=456;下面赋值不对的的语句是()。(1分)A、j=i;B、j=(long)i;C、i=(int)j;D、i=j;16、以下语句有语法错的是:()(1分)A、intx=1;y=2;z=3;B、for(intx=10,y=0;x>0;x++){...}C、while(x>5){...};D、for(;){...};17、inttotal=0;for(inti=0;i<4;i++){if(i==1)continue;if(i==2)break;total+=i;}则执行完该程序段后total的值为()。(1分)A、0B、1C、3D、618、以下有关类的继承的叙述中,对的的是()(1分)A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性19、设i、j、k为类X中定义的int型变量名,下列类X的构造函数中不对的的是()。(1分)A、x(intm){...}B、voidx(intm){...}C、x(intm,intn){...}D、x(inth,intm,intn){...}20、ReturnTypemethod(bytex,doubley){return(short)x/y*2;},请选择该方法的ReturnType类型()。(1分)A、byteB、shortC、intD、double21、Javaapplication中的主类需包含main方法,main方法的返回类型是什么?()(1分)A、intB、floatC、可以自己定义返回值类型D、void22、下列关于构造方法的叙述中,错误的是()(1分)A、Java语言规定构造方法名与类名必须相同B、Java语言规定构造方法没有返回值,但不用void声明C、Java语言规定构造方法不可以重载D、Java语言规定构造方法只能通过new自动调用23、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?()classA{inti;staticStrings;voidmethod1(){}staticvoidmethod2(){}}(1分)A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()24、在调用方法时,若要使方法改变实参的值,可以()(1分)A、用基本数据类型作为参数B、用对象作为参数C、A和B都对D、A和B都不对25、给出下面的代码classPerson{Stringname,department;publicvoidprintValue(){System.out.println("nameis"+name);System.out.println("departmentis"+department);}}publicclassTeacherextendsPerson{intsalary;publicvoidprintValue(){//完毕父类代码中printValue()相同的工作System.out.println("salaryis"+salary);}}下面的哪些表达式可以加入printValue()方法的注释部分()(1分)A、printValue();B、this.printValue();C、person.printValue();D、super.printValue();26、以下声明合法的是()(1分)A、defaultStrings;B、publicfinalstaticintw()C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()27、abstractclassP{}classAextendsP{}abstractclassBextendsP{}以下程序代码错误的是()。(1分)A、Pp=newA();B、Pp=newB();C、Aa=newA();D、Pp=newP(){voidfoo(){}};28、以下哪项是接口的对的定义?()(1分)A、interfaceB{voidprint(){};}B、abstractinterfaceB{voidprint();}C、abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口{abstractvoidprint(){};}D、interfaceB{voidprint();}29、类Parent、Child定义如下:publicclassParent{publicfloataFun(floata,floatb)throwsIOException{}}publicclassChildextendsParent{//插入行}将以下()插入行是合法的。(1分)A、floataFun(floata,floatb){}B、publicintaFun(inta,intb)throwsException{}C、publicfloataFun(floatp,floatq){}D、publicfloataFun(inta,intb)throwsIOException{}30、下面哪个函数是publicvoidaMethod(){...}的重载函数?()(1分)A、voidaMethod(){...}B、publicintaMethod(){...}C、publicvoidaMethod(){...}D、publicintaMethod(intm){...}31、在Java中用()关键字修饰的方法可以直接通过类名来调用?(1分)A、staticB、finalC、privateD、void32、在使用interface声明一个接口时,只可以使用()修饰符修饰该接口(1分)A、privateB、protectedC、publicD、static33、关键字supper的作用是()(1分)A、用来访问父类被隐藏的成员变量B、用来调用父类中被重载的方法C、用来调用父类的构造函数?D、以上都是34、字符流与字节流的区别是()(1分)A、每次读入的字节数不同B、前者带有缓冲,后者没有C、前者是字符读写,后者是字节读写D、两者没有区别,可以互换使用35、有如下代码段:1)2){if(unsafe()){//dosomething…}3)elseif(safe()){//dotheother…}4)}其中,方法unsafe()将抛出IOException,请问可将以下哪项填入第1行?()(1分)A、A、publicIOExceptionmethodName()B、B、publicvoidmethodName()C、C、publicvoidmethodName()throwIOExceptionD、D、publicvoidmethodName()throwsIOException36、Filefile1=newFile("d:\\xxx\\yyy\\zzz");file1.mkdirs();功能是()。(1分)A、在当前目录下生成子目录:\xxx\yyy\zzzB、生成目录:d:\xxx\yyy\zzzC、在当前目录下生成文献xxx\\yyy\\zzzD、生成目录:d:\\xxx\\yyy\\zzz37、假如需要从文献中读取数据,则可以在程序中创建哪一个类的对象()(1分)A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter38、下面()流类属于面向字符的输入流(1分)A、BufferedWriterB、FileInputStreamC、ObjectInputStreamD、InputStreamReader39、有关线程的哪些叙述是对的?()(1分)A、一旦一个线程被创建,它就立即开始运营。B、使用start()方法可以使一个线程成为可运营的,并立即开始运营。C、当一个线程由于抢先机制而停止运营,它被放在可运营队列的前面。比它优先级高的进程抢占了cpu,它运营的时间根据操作系统而定;D、一个线程也许由于不同的因素停止并进入就绪状态。40、以下关于线程互斥和同步的叙述中,对的的是()(1分)A、多线程互斥使用各自资源的程序段,在操作系统中称为临界段B、临界段的作用是使某线程可以使用其它线程的资源C、可以使用notify()方法告知等待线程结束等待D、线程的互斥和同步可以很好地解决死锁问题二、判断题(10道小题,共10分)1、Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象(1分)对的错误2、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文献(1分)对的错误3、当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是n%13==0。(1分)对的错误4、maxElements是一个成员变量,声明为:publicstaticfinalintmaxElements=100;(1分)对的错误5、类就是所有具有一定共性的对象的抽象描述。(1分)对的错误6、假如再定义一个类的时候没有用到关键字extends,则这个类没有直接父类。(1分)对的错误7、接口里不能定义成员变量。(1分)对的错误8、在Java中,关键字final修饰一个类后,该类就不能派生出子类。(1分)对的错误9、异常解决中总是将也许产生异常的语句放在try块中,用catch子句去解决异常,并且一个try块之后只能相应一个catch语句。(1分)对的错误10、Socket通常也称为套接字用于描述IP地址和端口(1分)对的错误三、填空题(5道小题,共30分)1、*求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。importjava.util.*;publicclasslianxi08{publicstaticvoidmain(String[]args){longa,b=0,sum=0;Scanners=newScanner(System.in);System.out.print("输入数字a的值:");a=s.nextInt();System.out.print("输入相加的项数:");intn=s.nextInt();inti=0;{b=b+a;sum=sum+b;++i;}System.out.println(sum);}}(6分)--------------------------------------------------------------------------------2、*编写一个方法halfArray(),规定该方法有一个元素类型为int的数组参数,方法返回一个新数组。*新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。int[]halfArray(int[]inputArray){for{inti=0;i<inputArray.length;i++}{}returnoutputArray;}(6分)--------------------------------------------------------------------------------3、*程序获取当前日期,将日期字符串输出;*截取日期字符串中从第11位开始到字母C之前的字符串,并输出publicclassClass1{publicstaticvoidmain(Srtingargs[]){Datedate1=newDate();System.out.println(datel);Stringt=datel.toString();System.outprintln(t);}}(6分)--------------------------------------------------------------------------------4、*有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。publicclasslianxi20{publicstaticvoidmain(String[]args){intx=2,y=1,t;doublesum=0;{t=y;y=x;x=y+t;}System.out.println("前20项相加之和是:"+sum);}(6分)--------------------------------------------------------------------------------5、*以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增长data。*由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应告知其它等待进入这个方法的线程。classShareDataManager{intdata=0;if(delta>=0){data+=delta;}else{while(data<delta){try{System.out.println("发生等待!");wait();}catch(InterruptedExceptione){}}data-=delta;}}ShareDataManager(intititData){data=initData;}}(6分)--------------------------------------------------------------------------------四、编程题(2道小题,共20分)1、学生需要每学期交学费,教师每月要发工资,研究生既要交学费又要发工资,若工资不够交学费则需要贷款,请编程实现并测试。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------2、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------1、Java为移动设备提供的平台是()(1分)A、JavaSEB、JavaMEC、JavaEED、JDK62、下列哪些语句关于Java内存回收的说明是对的的?()(1分)A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象3、下列哪个是合法的Java标记符?()(1分)A、Tree&GlassesB、FirstJavaAppletC、*theLastOneD、273.54、()是构成Java程序的基本单位(1分)A、方法B、类C、对象D、main方法5、有一段Java应用程序,它的主类名是A1,那么保存它的源文献名可以是()(1分)A、A1.javaB、A1.classC、A1D、A1.jsp6、编译JavaApplication源程序文献将产生相应的字节码文献,这些字节码文献的扩展名为()。(1分)A、javaB、.classC、htmlD、.exe7、Java语言的许多特点中,下列()特点是C++语言所不具有的。(1分)A、高性能B、跨平台C、面向对象D、有类库8、以下标记符中哪项是不合法的()(1分)A、constB、$doubleC、helloD、BigMeaninglessName9、下面()操作符的优先级最高?(1分)A、&&B、||C、!D、()10、以下数据类型存储空间最大的是()。(1分)A、byteB、longC、floatD、char11、关于Java中数据类型叙述对的的是:()(1分)A、整型数据在不同平台下长度不同B、boolean类型数据只有2个值,true和falseC、数组属于简朴数据类型D、Java中的指针类型和C语言的同样12、publicclassConditional{publicstaticvoidmain(Stringargs[]){intx=4;System.out.println(“valueis“+((x>4)?99.9:9));}}输出结果是()(1分)A、输出结果为:valueis99.9B、输出结果为:valueis9C、输出结果为:valueis9.0D、编译错误13、如定义二维数组inta[][]={{1,2},{3}};操作错误的是()。(1分)A、a[0][1]=200B、a[0].lengthC、a[1][1]=100D、a.length14、下面关于方法的说法,错误的是()。(1分)A、Java中的方法参数传递时传值调用,而不是地址调用B、方法体是对方法的实现,涉及变量声明和Java的合法语句C、假如程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法D、类的私有方法不能被其子类直接访问15、整型数据类型中,需要内存空间最少的是()(1分)A、shortB、longC、intD、byte16、下列关于for循环和while循环的说法中()是对的的?(1分)A、while循环能实现的操作,for循环也都能实现B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C、两种循环任何时候都可替换D、两种循环结构中都必须有循环体,循环体不能为空17、结构化程序设计所规定的三种基本控制结构是()(1分)A、输入、解决、输出B、树形、网形、环形C、顺序、选择、循环D、主程序、子程序、函数18、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?()classA{inti;staticStrings;voidmethod1(){}staticvoidmethod2(){}}(1分)A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()19、以下叙述对的的是:()(1分)A、构造方法必须是public方法B、main方法必须是public方法C、Java应用程序的文献名可以是任意的D、构造方法应当声明为void类型20、在调用方法时,若要使方法改变实参的值,可以()(1分)A、用基本数据类型作为参数B、用对象作为参数C、A和B都对D、A和B都不对21、选项中()行代码可以替换题目中//addcodehere而不产生编译错误?publicabstractclassMyClass{publicintconstInt=5;//addcodeherepublicvoidmethod(){}}(1分)A、publicabstractvoidmethod(inta);B、value=value+5;C、publicintmethod();D、publicabstractvoidanotherMethod(){}22、void的含义:()(1分)A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参与算术运算23、下面的选项中,哪一项不属于“汽车类”的行为()。(1分)A、启动B、刹车C、减速D、型号24、在Java的类库中,包含实现输入/输出操作的包是()(1分)A、java.utilB、java.ioC、java.appletD、java.awt25、不允许作为类及类成员的访问控制符的是()。(1分)A、publicB、privateC、staticD、Protected26、下列类定义中,不对的的是()。(1分)A、classx{....}B、classxextendsy{....}C、staticclassximplementsy1,y2{....}D、publicclassxextendsApplet{....}27、下列最终属性i的定义中,对的的是(D)。(1分)A、staticfinalinti=100;B、finalinti=1.2;C、finali='w';D、finalchari;28、以下关于继承的叙述对的的是()(1分)A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一实现29、定义有如下的方法:abstractvoidperformDial();该方法属于()。(1分)A、接口方法B、最终方法C、抽象方法D、空方法30、以下声明合法的是(B)(1分)A、defaultStrings;B、publicfinalstaticintw()C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()31、给出下面的代码publicclassPerson{intarr[]=newint[10];publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);}}哪些叙述是对的?()(1分)A、编译时犯错B、编译时对的而运营时犯错C、输出0D、输出null32、声明成员变量时,假如不使用任何访问控制符(public,protected,private),则以下()类型的类不能对该成员进行直接访问(1分)A、同一类B、同一包中的子类C、同一包中的非子类D、不同包中的子类33、给出下面的不完整的类代码classPerson{Stringname,department;intage;publicPerson(Stringn){name=n;}publicPerson(Stringn,inta){name=n;age=a;}publicPerson(Stringn,Stringd,inta){//完毕Person(Stringn,inta)的逻辑department=d;}}下面的哪些表达式可以加到构造方法中的注释处()(1分)A、Person(n,a);B、this(Person(n,a));C、this(n,a);D、this(name,age);34、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文献夹下的文献1.txt。File构造函数中对的的途径和文献名的表达是()。Filef=newFile(填代码处);file=newFileReader(f);in=newBufferedReader(file);(1分)A、"1.txt"B、"d:\\my\\1"C、"d:\\my\\1.txt"D、"d:\my\1.txt"35、假如需要从文献中读取数据,则可以在程序中创建哪一个类的对象()(1分)A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter36、下面()流类属于面向字符的输入流(1分)A、BufferedWriterB、FileInputStreamC、ObjectInputStreamD、InputStreamReader37、有如下代码段:1)2){if(unsafe()){//dosomething…}3)elseif(safe()){//dotheother…}4)}其中,方法unsafe()将抛出IOException,请问可将以下哪项填入第1行?()(1分)A、A、publicIOExceptionmethodName()B、B、publicvoidmethodName()C、C、publicvoidmethodName()throwIOExceptionD、D、publicvoidmethodName()throwsIOException38、所有的异常类皆继承()类。(1分)A、java.io.ExceptionB、java.lang.ThrowableC、java.lang.ExceptionD、java.lang.Error39、在以下四个供选的整数中,能作为线程最高优先级的整数是()(1分)A、0B、1C、10D、1140、以下哪个关键字可以用来为对象加互斥锁?()(1分)A、transientB、staticC、serializeD、synchronized二、判断题(10道小题,共10分)1、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free(1分)对的错误2、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文献(1分)对的错误3、Java的各种数据类型所占用的内存长度与具体软硬件环境有关。(1分)对的错误4、当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是n%13==0。(1分)对的错误5、假如再定义一个类的时候没有用到关键字extends,则这个类没有直接父类。(1分)对的错误6、创建对象的运算符是new。(1分)对的错误7、在Java中,关键字final修饰一个类后,该类就不能派生出子类。(1分)对的错误8、尽管一个类没有抽象方法,该类仍然可以声明成抽象的。(1分)对的错误9、异常解决中总是将也许产生异常的语句放在try块中,用catch子句去解决异常,并且一个try块之后只能相应一个catch语句。(1分)对的错误10、一个新线程启动start()方法,表达线程可为JVM的线程调度程序调度而不表达它可以立刻运营。(1分)对的错误三、填空题(5道小题,共30分)1、*有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。publicclasslianxi20{publicstaticvoidmain(String[]args){intx=2,y=1,t;doublesum=0;{t=y;y=x;x=y+t;}System.out.println("前20项相加之和是:"+sum);}(6分)--------------------------------------------------------------------------------2、*方法intsigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。staticintsigmaEvenNum(inta[]){ints=0;{s++;}returns;}(6分)--------------------------------------------------------------------------------3、*编写一个方法halfArray(),规定该方法有一个元素类型为int的数组参数,方法返回一个新数组。*新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。int[]halfArray(int[]inputArray){for{inti=0;i<inputArray.length;i++}{}returnoutputArray;}(6分)--------------------------------------------------------------------------------4、*程序获取当前日期,将日期字符串输出;*截取日期字符串中从第11位开始到字母C之前的字符串,并输出publicclassClass1{publicstaticvoidmain(Srtingargs[]){Datedate1=newDate();System.out.println(datel);Stringt=datel.toString();System.outprintln(t);}}(6分)--------------------------------------------------------------------------------5、*下面程序段的功能是读取网络文献,并显示出来。importjava.io.*;.*;publicclassURLReader{publicstaticvoidmain(String[]args)throwsException{//声明抛出所有例外BufferedReaderin=StringinputLine;while((inputLine=in.readLine())!=null)System.out.println(inputLine);in.close();}}(6分)--------------------------------------------------------------------------------四、编程题(2道小题,共20分)1、编写一个计算图形面积的程序,程序可以计算并输出矩形,圆的面积。设计一个图形抽象类:Shape,在此基础上派生出图形类Rectangle类和Circle类。(1)Receangle类基本信息:宽度、高度。(2)Circle类基本信息:圆心坐标、半径。(3)每个图形类有默认的构造方法及带参数的构造方法;成员变量为private属性,成员方法为public属性。(4)每个图形类有计算面积getArea()方法,显示图形的基本信息toString()方法,以及属性的get和set方法。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------2、编写一个程序,实现复制文献test.txt中所有内容到test1.txt中。(10分)必须将本题程序最后的运营结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------1、面向对象的三大特性,不涉及如下()。(1分)A、异常B、封装C、继承D、多态2、Java源文献中最多只能有一个()类,其他类的个数不限。(1分)A、abstractB、publicC、finalD、interface3、Java语言中,负责并发管理的机制是()(1分)A、多线程B、虚拟机C、字节码D、垃圾回收4、下列描述中,错误的是()(1分)A、Java规定编程者管理内存B、Java的安全性体现在多个层次上C、Applet程序规定在支持Java的浏览器上运营D、Java有多线程机制5、关于构造方法以下说法错误的是()。(1分)A、构造方法名必须与类名一致B、构造方法可以重载C、构造方法是通过new来调用D、每个类都必须编写构造方法代码6、下列关于Java语言的特点,描述错误的是()(1分)A、Java是跨平台的编程语言B、Java支持分布式计算C、Java是面向过程的编程语言D、Java支持多线程7、下面()行代码对的的声明了一个类方法(静态方法)?(1分)A、publicintmethod(inti)B、protectedmethod(inti)C、publicstaticmethod(Strings)D、protectedstaticvoidmethod(I

温馨提示

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

评论

0/150

提交评论