2022年JAVA试题及答案,DOC .pdf
海量资源,欢迎共阅选择题1、JAVA所定义的版本中不包括:(D)A、JAVA2EE B、JAVA2Card C、JAVA2ME D、JAVA2HE E、JAVA2SE 2、下列说法正确的是(A)A、JAVA程序的 main 方法必须写在类里面B、JAVA程序中可以有多个main 方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的 main 方法中如果只有一条语句,可以不用(大括号)括起来3、变量命名规范说法正确的是(B)A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A 和 a 在 java 中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是(C)A、/*我爱北京天安门*/B、/我爱北京天安门*/名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 28 页 -海量资源,欢迎共阅C、/*我爱北京天安门*/D、/*我爱北京天安门*/5、为一个 boolean 类型变量赋值时,可以使用(B)方式A、boolean=1;B、booleana=(9=10);C、booleana=真;D、booleana=false;6、以下(C)不是合法的标识符A、STRING B、x3x;C、void D、de$f 7、表达式(11+3*8)/4%3的值是(D)A、31 B、0 C、1 D、28、(A)表达式不可以作为循环条件A、i+;B、i5;C、bEqual=str.equals(q);D、count=i;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 28 页 -海量资源,欢迎共阅9、运算符优先级别排序正确的是(A)A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:(B)publicclassIncrement publicstaticvoidmain(Stringargs)inta;a=6;A.666 B.667 C.677 D.676 11、下列值不为 true 的表达式有(C)。A、john=john B、john.equals(john)C、john=john D、john.equals(newString(john)12、下列输出结果是(C)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 28 页 -海量资源,欢迎共阅inta=0;while(a0)i=i+1;if(i=10)break;A.while 循环执行 10 次B.死循环C.循环一次都不执行D.循环执行一次14、下面有关 for 循环的描述正确的是(A)A、for 循环体语句中,可以包含多条语句,但要用大括号括起来B、for 循环只能用于循环次数已经确定的情况C、在 for 循环中,不能使用 break 语句跳出循环名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 28 页 -海量资源,欢迎共阅D、for 循环是先执行循环体语句,后进行条件判断15、下列(AC)属于引用数据类型(选择两项)A、String B、char C、用户自定义的 Student 类类型D、int 16、对象的特征在类中表示为变量,称为类的(B)。A、对象B、属性C、方法D、数据类型17、在 java中下列关于自动类型转换说法正确的是(A)A、基本数据类型和String相加结果一定是字符串型B、char 类型和 int 类型相加结果一定是字符C、double 类型可以自动转换为int D、char+int+double+结果一定是 double;18、关于类的描叙正确的是(BD)(选择两项)A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用B、局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中C、使用别的类的方法仅仅需要引用方法的名字即可D、一个类的方法使用该类的另一个方法时可以直接引用方法名名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 28 页 -海量资源,欢迎共阅19、下列关于字符串的描叙中错误的是(BC)(选择两项)A、字符串是对象B、String 对象存储字符串的效率比StringBuffer 高C、可以使用StringBuffersb=这里是字符串 声明并初始化StringBuffer对象 sb D、String 类提供了许多用来操作字符串的方法:连接,提取,查询等20、以下(D)代码,能够对数组正确初始化(或者是默认初始化)。A、inta;B、a=1,2,3,4,5;C、inta=newint51,2,3,4,5;D、inta=newint5;21、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(B)temp=score0;for(intindex=1;index5;index+)if(scoreindextemp)temp=scoreindex;A.求最大数B.求最小数C.找到数组最后一个元素D.编译出错22、下面关于数组的说法中,错误的是(AB)(选择两项)A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 28 页 -海量资源,欢迎共阅元素值为空B、数组可以在内存空间连续存储任意一组数据C、数组必须先声明,然后才能使用D、数组本身是一个对象23、在 Java中,关于构造方法,下列说法错误的是(C)A、构造方法的名称必须与类名相同B、构造方法可以带参数C、构造方法不可以重载D、构造方法绝对不能有返回值24、执行下面代码结果(D)for(inti=0;)这是+i);break;A、语法错误,缺少表达式2 和表达式 3 B、死循环C、程序什么都不输出D、输出:这是 0 25、下面代码输出结果是(B)。inti=0,s=0;do if(i%2=0)i+;continue;i+;s=s+i;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 28 页 -海量资源,欢迎共阅while(i3?a+:b+);A、a 的值是 2,b 的值是 3B、a的值是 1,b 的值是 3 C、a 的值是 1,b 的值是 2D、c 的值是 false 6将类的成员的访问权限设置为默认的,则该成员能被(A)。A、同一包中的类访问B、其他包中的类访问C、所有的类访问D、所有的类的子类访问7下面的方法重载,正确的是(C)。A、intfun(inta,floatb)B、floatfun(inta,floatb)名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 28 页 -海量资源,欢迎共阅floatfun(inta,floatb)floatfun(intx,floaty)C、floatfun(floata)D、floatfun1(inta,floatb)floatfun(floata,floatb)floatfun2(inta,floatb)8下面关于继承的说法,正确的是(D)。A、超类的对象就是子类的对象B、一个类可以有几个超类C、一个类只能有一个子类D、一个类只能有一个超类9下面关于多态性的说法,正确的是(C)。A、一个类中不能有同名的方法B、子类中不能有和父类中同名的方法C、子类中可以有和父类中同名且参数相同的方法D、多态性就是方法的名字可以一样,但返回的类型必须不一样10关于下面程序,(A)的结论是正确的。classJ_SubClassextendsJ_Test publicclassJ_Test J_Test(inti)publicstaticvoidmain(Stringargs)J_SubClassa=newJ_SubClass();A、不能通过编译,因为类J_Test没有定义无参数的构造方法B、不能通过编译,因为类J_SubClass 没有定义无参数的构造方法C、不能通过编译,因为没有实现J_SubClass(inti)的构造方法D、可以成功通过编译11关于下面程序片段,(B)的结论是正确的。Stringa=Java;Stringb=Java;Stringx=Ja;名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 28 页 -海量资源,欢迎共阅Stringy=va;Stringc=x+y;A、a和 b 指向同一个实例对象,a 和 c 指向同一个实例对象B、a 和 b 指向同一个实例对象,a 和 c 不指向同一个实例对象C、a 和 b 不指向同一个实例对象,a和 c 指向同一个实例对象D、a 和 b 不指向同一个实例对象,a 和 c 不指向同一个实例对象12假设下面的程序代码都放在MyClass.java文件中,(D)程序代码能够编译通过。A、importjava.awt.*;B、packagemypackage;packagemypackage;importjava.awt.*;classMyClasspublicclassmyClass C、intm;D、/*Thisisacomment*/packagemypackage;packagemypackage;importjava.awt.*;importjava.awt.*;classMyClasspublicclassMyClass 13当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。14关于事件监听,正确的是(C)。A、一个事件监听器只能监听一个组件B、一个事件监听器只能监听处理一种事件C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上D、一个组件只能引发一种事件二、填空题1Class类是由 Java编译器自动生成的,它伴随每个类。2任何一个 Java程序都默认引入一个包,这个包的名字是java.lang。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 28 页 -海量资源,欢迎共阅3在 Java语言中,有一个类是所有类或接口的父类,这个类的名称是。4在 Java中所实现的二维数组,实际上是由一维数组构成的数组。5在 Java中,字符串是作为对象出现的。6接口可以看作是仅容纳抽象方法、常量,而又不能直接生成对象的特殊抽象类。7FileInputStream 是字节流,BufferedWriter 是字符流,ObjectOutputStream是对象流。8在 Java中,组件不能独立地显示出来,必须将组件放在一定的容器中才能显示。9Applet 是能够嵌入到HTML格式中的文件,并能够在浏览器中运行的Java类。三、判断题1、Java程序一般应当含有main方法,因为它是所有Java程序执行的入口。()2、Java语言的标识符是不区分大小写的。()3、Java语言为所有的Java程序自动导入包“java.lang”,因此Java程序可以直接用“java.lang”中的类和接口。位于类继承关系层次结构树的根部的类Object就是在包“java.lang”中的类。()4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。()5、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。()名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 28 页 -海量资源,欢迎共阅6、Java语言对内存的释放是采用垃圾回收机制。Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。()(java中垃圾回收机制的作用是对程序中无任何引用的对象占据的内存空间进行释放的一种释放内存的方式。java中垃圾回收机制有几个明显的特点。1.垃圾回收是由虚拟机即JVM 执行;2.系统空闲时执行;3.释放的一定是不再被引用的对象;4.回收方法 gc()方法,虽然可以主动调用,但是不确定会立即执行。)7、在编译 Java源程序时,计算机根本不会去识别各个变量名的具体含义,因此命名规范对编写 Java程序而言不是必要的,而且有可能会降低编写Java源程序的效率。()一、单项选择题1作为 Java应用程序入口的 main 方法,其声明格式可以是(A)。A、publicstaticvoidmain(Stringargs)B、publicstaticintmain(Stringargs)C、publicvoidmain(Stringargs)D、publicintmain(Stringargs)2在一个合法的 Java源程序文件中定义了3 个类,其中属性为public 的类可能有(B)个。A、0B、1C、2D、3 3下面(B)单词是 Java语言的关键字。A、sizeofB、abstractC、nullD、String 4下面(C)语句不会出现编译警告或错误。名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 28 页 -海量资源,欢迎共阅A、floatf=1.3;B、charc=a;C、byteb=25;D、booleand=null;(byte的取值范围为-128127)5下面程序片段输出的是(D)。inti=0,j=9;do if(i+-j)break;while(i3;C、k-=3&k+=3;D、k+=3|+k3;4设有定义:Strings=“World”;,下列语句错误的是(D)。A、intm=s.indexOf(r);B、charc=s.charAt(0);C、intn=s.length();D、Stringstr=s.append(2);5假设在 Java源程序文件“MyClass.java”中只含有一个类,而且这个类必须能够被位于个庞大的软件系统中的所有Java类访问到,那么下面(C)声明有可能是符合要求的类声明。A、privateclassMyClassextendsObject B、publicclassmyclassextendsObject C、publicclassMyClass D、classMyClassextendsObject 名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 28 页 -海量资源,欢迎共阅6在Java中,用package语句说明一个包时,该包的层次结构必须是(A)。A、与文件目录的层次相同B、与文件的结构相同C、与文件类型相同D、与文件大小相同7下面关于数组的说法,错误的是(B)。A、数组是最简单的复合数据类型,是一系列数据的集合B、声明数组时,必须分配内存C、数组的元素可以是值(基本数据类型)、对象或其他数组D、一个数组中的所有值都必须是相同的类型8下面关于方法的说法,错误的是(C)。A、Java中的方法参数传递时传值调用,而不是地址调用B、方法体是对方法的实现,包括变量声明和Java的合法语句C、如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法D、类的私有方法不能被其子类直接访问(java方法参数传递只有传值调用)9下面关于内部类的说法,错误的是(A)。A、内部类不能有自己的成员方法和成员变量B、内部类可用 abstract 修饰定义为抽象类,也可以用 private 或 protected 定义C、内部类可作为其他类的成员,而且可访问它所在类的成员D、除 static 内部类外,不能在类内声明static 成员(非 static内部类,不能在类内声明static成员)名师资料总结-精品资料欢迎下载-名师精心整理-第 26 页,共 28 页 -海量资源,欢迎共阅10在字节流中,可以使用文件名作为参数的类有(C)。A、DataInputStreamB、BufferedReader C、FileInputStreamD、FileReader 11语句:JTextField=newJTextField(8);,语句中的 8 表示文本框的(A)。A、列宽 B、所显示的字符串C、行高 D、编号12文档标签exception在文档注释中的格式一般是(A)。A、exception类名描述B、exception 异常描述C、exception 异常变量名描述D、不存在文档标签 exception 二、填空题1Java虚拟机运行 Java程序的基本步骤是:首先从后缀为class的文件加载代码到内存中,接着在内存中检测代码的合法性和安全性,然后解释执行合法和安全的代码。2在 Java语言中,字符串直接量是用双引号括起来的字符序列,字符串不是字符数组,而是类String的实例对象。3类 System的三个成员域 in、out、err 分别指向标准输入流、标准输出流和标准错误输出流。4有时运行一个Java小应用程序需要多个文件,如“.class”文件、声音文件、图像文件等。为了提高效率,可以考虑将运行小应用程序所需要的各种文件做成一个 jar 文件。5假设用 Java)编写了图像处理包(image),那么按照 Sun公司的建议,这名师资料总结-精品资料欢迎下载-名师精心整理-第 27 页,共 28 页 -海量资源,欢迎共阅个包的名称最好为。6在编写和运行数据库程序之前需要建立起Java数据库程序的开发环境,这至少需要安装 JDK、数据库和 JDBC 驱动程序。7 传递给实现了接口的类中mouseDragged方法的事件对象是 MouseEvent类。三、判断题1、假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,那么编译该文件的命令是“javacHello”。()javacHello.java 2、switch 语句中可以没有 default 子句。()3、常量 87.363 的数据类型是 float。()4、构造方法一般不允许有任何返回值,因此需要在构造方法返回类型处标注为 void。()5、如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。()6、抽象方法不能含有方法体,并且必须在抽象类中。()7、如果类的访问控制符是public,则类中成员的访问控制属性也必须是public。()8、假 设 文 件“a.txt”的 长 度 为100 字 节,那 么 当 正 常 运 行 语 句“OutputStreamf=newFileOutputStream(newFile(“a.txt”);”之后,文件“a.txt”的长度变为 0 字节。()9、对于数组 intt=1,2,3,4,5,6来说,t.length等于 3,t0.length 等于 2。()(t.lenth 等于 2,t0.length等于 3)名师资料总结-精品资料欢迎下载-名师精心整理-第 28 页,共 28 页 -