《2022年java基础笔试题讲解学习.pdf》由会员分享,可在线阅读,更多相关《2022年java基础笔试题讲解学习.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、此文档来源于网络,如有侵权请联系网站删除只供学习交流用Java基础试题一:选择题( 1*30 30) (题目写在答题纸上面)1:Java 提供哪几种运算符多选( abcd )。A)算术运算符B)位运算符C)关系运算符D)逻辑运算符E)条件运算符2:java.lang 包的()方法比较二个对象是否相等返回true. 。(b)A:toString() B:equals() C:compare D:以上都不正确3:下列对Java 的变量与函数说法正确的是多选(ace )。A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口
2、4:已知: int a = new int100; 在下列给出的数组元素中,非法的是。(d)A:a0 B:a1 C:a99 D:a1005:在 java 中 ,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c)A:隐藏B:覆盖C:重载D:Java不支持此特性6: ()是一组常量和抽象方法的集合。(d)A:实例B:类C:包D:接口7:下面关于数组说法正确的是多选( abcde)。A)一维数组实质上是相同类型变量的列表B)创建一个数组首先定义数组变量所需的类型C)char c=new char26; 可声明一个含有2
3、6 个元素的char 型数组D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain = new int45;可声明一个二维数组8:Java源文件和编译后的文件扩展名分别为。(b)A:.class和.java B:.java 各.class C:.class和.class D:.java 和.java9:设 x=5;则 y=x-和 y=-x 的结果,使y 分别为。(c)A:5,5 B:5,6 C:5,4 D:4,410:若 x 是 float 类变量, x=10/4; 则 x 的值是。(b)A:2 B:2.0 C:2,5 D:编译错误11: 下面方
4、法中,用于调度线程使其运行的是?多选(bc )A. init()B. start()C. run()D. resume() E. sleep()12.下面哪种情况能实现自动转换多选( ace ) 。A)byte 型转换成int 型 B)int 型转换成byte 型C)float 型转换成double 型 D)double 型转换成int 型 E )char 型转换成int 型13:下列那些是正确的JAVA字符串?多选(abd ) 。A. B. OxzabcC. D. ttrn E. boolean514: 在使用 super 和 this 关键字时,以下描述正确的是。(a)A::在子类构造方法
5、中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B:super()和 this()不一定要放在构造方法内第一行精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 6 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用C:this()和 super()可以同时出现在一个构造函数中D:this()和 super()可以在static 环境中使用,包括static 方法和 static 语句块15:以下
6、对封装的描述正确的是。(d)A:只能对一个类中的方法进行封装,不能对属性进行封装B:如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C:封装的意义不大,因此在编码时尽量不要使用D:封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性16:以下对继承的描述错误的。(a)A:Java中的继承允许一个子类继承多个父类B:父类更具有通用性,子类更具体C:Java中的继承存在着传递性D:当实例化子类时会递归调用父类中的构造方法17: 以下关于 final 关键字说法错误的是(ac) (两项)A:final 是 java 中的修饰符,可以修饰类、接口、抽象类、方法和属性B:final
7、 修饰的类肯定不能被继承C: final 修饰的方法不能被重载D:final 修饰的变量不允许被再次赋值18: 访问修饰符作用范围由大到小是。(d)A:private-default-protected -public B:public-default -protected -privateC:private-protected -default-public D:public-protected -default -private19: 以下()不是 Object 类的方法。(d)A: clone()B:finalize()C:toString()D:hasNext()20:多态的表现形式有
8、。 (a)A:重写B:抽象C:继承D:封装21: 以下对重载描述错误的是。( b)A:方法重载只能发生在一个类的内部B:构造方法不能重载C: 重载要求方法名相同,参数列表不同D:方法的返回值类型不是区分方法重载的条件22:以下对接口描述错误的有。(d)A: 接口没有提供构造方法B: 接口中的方法默认使用public、abstract 修饰C: 接口中的属性默认使用public、static、final 修饰D: 接口不允许多继承23: 以下对自定义异常描述正确的是。(c)A:自定义异常必须继承Exception B:自定义异常可以继承自ErrorC:自定义异常可以更加明确定位异常出错的位置和给
9、出详细出错信息D:程序中已经提供了丰富的异常类,使用自定义异常没有意义24:在 Java中,下面对于构造函数的描述正确的是。(d)A:类必须显示定义构造函数B:构造函数的返回类型是voidC:构造函数和类有相同的名称,并且不能带任何参数D: 一个类可以定义多个构造函数25:根据下面的代码,String s = null;会抛出 NullPointerException 异常的有( ac) 。两项 A:if( (s!=null) & (s.length()0) ) B:if( (s!=null) & & (s.length()0) )C:if( (s=null) | (s.length()=0)
10、 ) D:if( (s=null) | (s.length()=0) )26:下列选项中关于java 中 super 关键字的说法错误的是。( b )A:super 关键字是在子类对象内部指代其父类对象的引用B:super 关键字不仅可以指代子类的直接父类,还可以指代父类的父类C:子类可以通过super 关键字调用父类的方法D:子类可以通过super 关键字调用父类的属性27:下列声明哪个是错误的。(b)A :int i = 10;B: float f = 1.1;C: double d = 34.4;D: long m = 4990;28:关于抽象类的说法正确的是(b)精品资料 - - -
11、欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 6 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用A: 抽象类中一定包含抽象方法,否则是错误B: 包含抽象方法的类一定是抽象类C:抽象方法可以没有方法体,也可以有方法体D:抽象类的子类一定不是抽象类29:所有类的基类。 (a)A:java.lang.Object B: java.lang.Class Cjava.applet.Applet D:java.awt.Frame30:关于 String 和 StringBu
12、ffer 下面说法正确的是( a )A:String 操作字符串不改变原有字符串的内容B: StringBuffer 连接字符串速度没有String 快C:String 可以使用append 方法连接字符串D:StringBuffer 在 java.util 包中二:简答题(2*20 40) (题目写在答题纸上面)1:String 是最基本的数据类型吗,Java基本类型有哪些?String 不是最基本的数据类型,而是一个对象。Java基本类型有:布尔型: boolean字符型: char整数型: byte、short、int、long浮点数型: float 、double2:面向对象的特点?1
13、. 信息隐藏和封装特性: 2.继承 : 3.组合特性4.动态特性:抽象,多态3:JDK是什么?jdk 是 Java语言的软件开发工具包4:作用域public,private,protected, 以及不写时的区别?作用域当前类同一 package子孙类其他 packagepublicprotectedfriendlyprivate不写时默认为friendly5:Java是编译型语言还是解释型的语言?它既不属于传统的编译型语言也不属于解释型语言.它是先编译成 .CLASS 字节码文件 ,然后再利用虚拟机解释执行的.可以说先编译后解释.6:final、finally 、finalize 的区别fi
14、nal 用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。finalize 是 Object 类的一个方法7:heap 和 stack 的区别stack 是一种现行结构,其添加和删除元素应在同一段完成,栈按照先进后出的方式进行处理。heap 是栈的一个组成元素。8:xml 有哪些解析技术?区别是什么?有 DOM,SAX,STAX 等精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 6 页 - - - - - - -
15、- - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对 XML的随机访问SAX: 不现于 DOM,SAX是事件驱动型的XML 解析方式。它顺序读取XML 文件,不需要一次全部装载整个文件。当遇到像文件开头, 文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML 文件,适合对XML的顺序访问STAX:Streaming API for XML (StAX)9:GC是什么?为什
16、么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的 GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。10::数组有没有length() 这个方法? String 有没有 length() 这个方法?数组没有 length() 这个方法,有length 的属性。 String 有有 length()这个方法。11:Overload 和 Override 的区别。 Overloaded 的方法是否可以改
17、变返回值的类型?方法的重写Overriding 和重载 Overloading 是 Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading 是一个类中多态性的一种表现。如果 在 子 类 中 定 义 某 方 法 与 其 父 类 有 相 同 的 名 称 和 参 数 , 我 们 说 该 方 法 被 重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被 “屏蔽” 了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading) 。Ove
18、rloaded 的方法是可以改变返回值的类型。12:error 和 exception 的区别error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。13:abstract class 和 interface 有什么区别?(抽象类与接口的区别)interface 被继承时用的关键字是implements , 而且可以同时implements 多个 interface ,而 abstract class 被继承时用的关键字是extends,而且只能
19、同时extends 一个 abstract class。interface 内定义的方法都是public 的,而 abstract class 内的则不一定。interface 内定义的成员对象都是static & final 的,而 abstract class 不是interface 的方法不能有默认实现,只有一个申明,而abstract class 内申明 abstract 的方法不能有实现,非申明abstract 的方法可以有默认实现。interface 被 implements 时,所有方法都必须被实现,必须申明是public 的,而 abstract class被 extends
20、时只有 abstract 的方法才必须被实现,别的有默认实现的直接被继承过来。14:简述逻辑操作 (&,|) 与条件操作 (&,|) 的区别 ?a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型b.逻辑操作不会产生短路c:&和& 都可以用作逻辑与的运算符,表示逻辑与(and) ,当运算符两边的表达式的结果都为 true 时,整个运算结果才为true ,否则,只要有一方为false,则结果为false。&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。&还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时, &表示按位与操作,
21、我们通常使用0 x0f 来与一个整数进行&运算,来获取该整数的最低4 个 bit 位。15:给我五以上种你最常见到的runtime exception ?1,Object x = new Integer(0);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 6 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用System.out.println(String)x);当试图将对象强制转换为不是实例的子类时,抛出该异常(ClassCastExcep
22、tion)2,int a=5/0;一个整数“除以零”时,抛出ArithmeticException 异常。3, String s=null;int size=s.size();当应用程序试图在需要对象的地方使用null 时,抛出NullPointerException 异常4, hello.indexOf( -1);指示索引或者为负,或者超出字符串的大小,抛出StringIndexOutOfBoundsException 异常5,String ss=new String -1;如果应用程序试图创建大小为负的数组,则抛出NegativeArraySizeException 异常。16:try 里
23、有一个return 语句,那么紧跟在这个try 后的 finally 里的 code 会不会被执行,会被执行,在return 之前执行17:Math.round(11.5) 等於多少 ? Math.round( -11.5)等於多少 ?Math.round(11.5) 是 12, Math.round( -11.5)是-1118:java 中实现多态的机制是什么?方法的重写Overriding 和重载 Overloading 是 Java多态性的不同表现.重写 Overriding 是父类与子类之间多态性的一种表现重载 Overloading 是一个类中多态性的一种表现.19:Anonymou
24、s Inner Class (匿 名 内 部 类 ) 是 否 可 以extends( 继 承 )其 它 类 , 是 否 可 以implements( 实现 )interface( 接口 )匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements 了20:swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String 上可以作用在byte 和 String 上,不能作用在long 上三:程序题( 6*5=30 ) (题目写在答题纸上面)1:爱因斯坦台阶问题。有人走台阶若每步走2 级,则最后剩1 级。若每步走3 级则最后剩2 级
25、。若每步走4 级,则最后剩3 级。若每步走5 级,则最后剩4 级。若每步走6 级,则最后剩 5 级。若每步走7 级,则刚好不剩。试编制程序求此台阶数。public class Test public static void main(String args) for(int i=1;i=1000;i+)if(i%2=1&i%3=2&i%4=3&i%5=4&i%6=5&i%7=0)System.out.println(i);2:试编写一个程序,输入一个字符串,统计其中有多少各单词?单词之间用空格分开。import java.util.Scanner;public class Test publi
26、c static void main(String args) Scanner input = new Scanner(System.in);System.out.print( 请输入 :);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 6 页 - - - - - - - - - - 此文档来源于网络,如有侵权请联系网站删除只供学习交流用String sentence = input.nextLine();/ 将输入的句子转化为单词数组String words = sentence.spli
27、t( );/ 单词数组的长度就是单词数System.out.println( 共有 + words.length + 个单词 .);3:试编写程序,从一个给定的字符串中删去某一个给定的字符。import java.util.Scanner;public class Test public static void main(String args) Scanner input=new Scanner(System.in);System.out.println( 请输入一个字符和字符串:);String str2=input.next()/ 输入一个字符String str1=input.next
28、()/ 输入一个字符串String newStr =str1.replace(str2,);/替换字符串中的字符为空4:第一三维不平衡数组如下:Int a = 1,2,3,4,5,6,7,8,9,10,11;编程实现输出数组a 各个元素,并求各元素之和。5:求 1+2!+3!+.+20! 的和?public class Testpublic static void main(String args)System.out.println(1!+2!+3!+ +20!=+getSum(20);public static long getSum(int n)int i,k,fac,sum=0;for(i=1;i=n;i+)fac=1;for(k=1;k=i;k+)fac=fac*k;sum=sum+fac;return sum;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 6 页 - - - - - - - - - -