java笔试经典(题及答案)2013
二级JAVA真题2013年09月
二级JAVA真题2013年09月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:40,分数:40.00)1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是。
∙ A.12345ABCDE∙ B.EDCBA54321∙ C.ABCDE12345∙ D.54321EDCBA(分数:1.00)A.B. √C.D.解析:[解析] 栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,1为栈底元素最后出栈,E为栈顶元素最先出栈,因此出栈的顺序为EDCBA54321。
2.下列叙述中正确的是______。
∙ A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构∙ B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况∙ C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况∙ D.循环队列中元素的个数是由队头指针和队尾指针共同决定(分数:1.00)A.B.C.D. √解析:[解析] 循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间。
循环队列仍然是顺序存储结构,是队列常采用的形式,因此选项A错误。
在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队列排头元素的前一个位置。
循环队列中的元素是动态变化的,每进行一次入队运算,队尾指针就进一;每进行一次出队运算,队头指针就进一。
可见由队头指针和队尾指针一起反映队列中元素的动态变化情况,因此选项B、C是错误的。
从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,因此选项D是正确的。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。
∙ A.O(n)∙ B.O(n2)∙ C.O(log2n)∙ D.O(nlog2n)(分数:1.00)A.B.C. √D.解析:[解析] 最糟糕的情况应该是比较到线性表最后一个值,也没有查找到所需要的值,那么从线性表的第0个值开始比较,每次取出一个值比较,不符合,再取下一个值,依次比较,一直到最后一个,那么长度为N,就需要比较n次。
Java基础笔试机试测试题(带答案)
Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);System.out.println("sb = " + sb.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。
A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量 c 的值是()。
int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main 方法如下所示,该程序的运行结果是()。
2013年10月Java语言程序设计(一)试题答案
全国2013 年10 月高等教育自学考试一、单项选择题(本大题共10 小题,每小题 1 分,共10 分)1.在Java 语言中,用于标记回车符的转义字符是(C)P9A .\b B./bC.\n D./n2.设有定义int i=6 ;,则执行语句“i+=-i1;’后’,i 的值为(B)P14A .10 B.11C.12 D.133.以下关于抽象类及抽象方法的说法中,不正确...的是(B)P54A .抽象方法只能出现在抽象类中B.抽象类必须有抽象方法C.有抽象方法的类一定是抽象类D.抽象方法没有实现的代码4.执行下列程序语句后, b 的值是(A)P75String a= 〃Hello 〃;String b=a.substring(1,3) ;A.el B.HeC.ell D.Hel5.能够直接添加组件的Swing 容器是(D)A .JFrame B.JDialogC.JWindow D JPanel6.用于判定鼠标右键操作的常量是(C)A .BUTTON1_MASK B.BUTTON2_MASKC.BUTTON3_MASK D.BUTTON4_MASK7.设置异或绘图模式的方法是(A)A.setXORMode() B.setPaintMode()C.XORMode() D.PaintMode()8.用来定义临界段,能对共享对象的操作上锁的关键字是(D)A .static B.shareC.serialize D.synchronized9.如果一次从文件中读出一行数据,可使用的方法是(B)A .FileReader 的readLine() 方法B.BufferedReader 的readLine() 方法C.FileReader 的read()方法D.BufferedReader 的read()方法10.获取InetAddress 对象的IP 地址所用到的方法是(C)A .getHostlPAddress() B.getHostlP()C.getHostAddress() D.getHost()11.在Java语言中,双精度型变量在内存中占___8___个字节。
Java基础笔试机试测试题带答案
Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
public class Test {public static void changeString(StringBuffer sb) {sb.append("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);.toString());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。
A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v');4)下列代码运行后,变量c的值是()。
int a=15,b=10;double c=a/b;a) 1.5 b) 1.0 c) 1 d) 05)main方法如下所示,该程序的运行结果是()。
public static void main(String [] args){int i=0;}a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。
Java常见笔试题及答案
Java常见笔试题及答案一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet、类的子类并且存储该源程序文件的文件名为MyApplet。
13、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
二级JAVA真题2013年03月
二级JAVA真题2013年03月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:40,分数:40.00)1.下列数据结构中,属于非线性结构的是______。
∙ A.双向链表∙ B.循环链表∙ C.二叉链表∙ D.循环队列(分数:1.00)A.B.C. √D.解析:[解析] 程序流程图是软件过程设计中常用的图对于线性结构,除了首结点和尾结点外,每一个结点只有一个前驱结点和一个后继结点。
线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。
2.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是______。
∙ A.单链表∙ B.循环链表∙ C.双向链表∙ D.二叉链表(分数:1.00)A.B. √C.D.解析:[解析] 由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后件结点,但不能找到其前件结点。
也就是说,只能顺着之后向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点。
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。
双向链表中的每个结点设置有两个指针,一个指向其前件,一个指向其后件,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。
二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。
3.下列与栈结构有关联的是______。
∙ A.数组的定义域使用∙ B.操作系统的进程调度∙ C.函数的递归调用∙ D.选择结构的执行(分数:1.00)A.B.C. √D.解析:[解析] 归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的时候,才停止递归调用,开始从最后一个递归调用返回。
JAVA笔试题(附答案)
Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
5、error和exception有什么区别?
error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
6、shorts1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
答案:ABC
9.下列说法错误的有()
A.能被java.exe成功运行的java class文件必须有main()方法
B.J2SDK就是Java API
C.Appletviewer.exe可利用jar选项运行.jar文件
D.能被Appletviewer成功运行的java class文件必须有main()方法
我对于D的理解是这样的:静态的只能访问静态的,非静态的可以访问静态的,也就是说类方法中不能调用实例方法。非要说他错,是不是加了绝对二字。
8.下列说法错误的有()
A.Java面向对象语言容许单独的过程与函数存在
B.Java面向对象语言容许单独的方法存在
C.Java语言中的方法属于类中的成员(member)
2013年1月java自考试题及答案
2013年1月java自考试题及答案一、选择题(每题2分,共20分)1. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. final答案:B2. 下列哪个选项不是Java语言的特性?A. 平台无关性B. 面向对象C. 多线程D. 编译型语言答案:D3. 在Java中,下列哪个关键字用于抛出异常?A. throwB. throwsC. catchD. finally答案:B4. 下列哪个选项不是Java集合框架的一部分?A. ListB. MapC. SetD. Stack答案:D5. 在Java中,下列哪个关键字用于定义一个方法?A. classB. methodC. functionD. def答案:B6. 下列哪个选项不是Java中的访问修饰符?A. publicB. protectedC. privateD. internal答案:D7. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. type答案:A8. 下列哪个选项不是Java异常处理的关键字?A. tryB. catchC. throwD. error答案:D9. 在Java中,下列哪个关键字用于定义一个包?A. packageB. importC. classD. interface答案:A10. 下列哪个选项不是Java中的循环结构?A. forB. whileC. do-whileD. repeat答案:D二、填空题(每题2分,共20分)1. Java语言的三大特性是______、______和______。
答案:封装、继承、多态2. 在Java中,______关键字用于定义一个抽象类。
答案:abstract3. Java中的______关键字用于定义一个私有方法。
答案:private4. Java中的______关键字用于实现多重继承。
java考试题及答案
java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。
A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。
答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。
答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。
答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。
答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。
答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。
()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。
Java常见的笔试题及答案
1.下面哪个注解是在spring中的用作事务控制(B)
A .@Transaction
B .@Transactional
C .@Service
D .@Autowired
2.下面说法正确的是(D)
A :Linked List是使用了链表的结果,特点是查找效率高;
B :在高并发,多线程的情况下使用高效率Hash Map;
C :Array List是一个动态数组能自动扩展,所以设置初始长度没必要;
D :Set集合内元素不能重复,使用equals()来判断元素是否相等
3.下面哪个CSS属性会使DOM脱离文档流(A)
A . position:absolute;
B . position:relative;
C . position:static;
D . 都不对
4.下面说法错误的是(A)
A :通过代理Proxy.xxx()来执行被代理类的方法;
B :Java动态代理一搬是用来做切面编程的,在被代理类的方法执行前后加入一些代码;
C :动态代理中是通过反射的来执行被代理类的方法;
D:Java动态代理的代理类需要继承Invocation Handler接口;
5.在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用下
列哪个修饰词(D)
A . protected
B . public
C . private
D .不需要任何修饰词。
Java软件开发工程师笔试题(标准答案)
Java工程师笔试题一、填空题(本大题10小题,每空1分,共20分)。
语言的三大特性即是: 继承、封装、多态。
2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。
3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用_ __ 时所传递进去的变量或值。
对象则是每个客户专用的。
接口。
6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。
的相对优先级。
8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、里氏替换、依赖倒置、接口分离9.通过Ajax,客户端获取的数据主要有两种类型:文本型和 xml10. Socket通常也称为套接字,用于描述 __ ip 和 _ _接口二、选择题(本大题 20 小题,每小题2分.共40分)。
1.在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法:A) final B) static C) abstract D) void2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。
A) interface A extend B,C B) interface A implements B,CC) class A implements B,C D) class A implements B, implements C3.在JAVA接口中可以定义( )。
A) 静态方法 B) 常量 C) 构造方法D) 抽象方法4.假设A有构造方法A (int a),则在类A的其他构造方法中调用该构造方法和语句格式应为()。
A) A(X) B) (x) C) this(x) D) super(x)5.设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z--/++x 的值是( )。
java笔试题带答案
java笔试题带答案一.选择题1.下面关于Java语言说法错误的是:()A.java语言是完全面向对象的B。
java语言支持多继承C.java语言支持多线程D。
java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:()A.某123B。
12javaC.continueD。
java$ne某t3.下列关于注释语句的描述中,正确的一项是()A。
以//开始的是多行注释语句B。
以结束的是单行注释语句C。
以结束的是可以用于生成帮助文档的注释语句D。
以结束的是单行注释语句4.为了区分重载多态中同名的不同方法,要求()。
A)形式参数个数或者类型不同B)返回值类型不同C)调用时用类名或对象名做前缀D)形式参数名称不同5.下面定义数组的格式中正确的是:()A.inta[10]B。
inta=newint[10]C.int[]a=newint[5]D.inta[]6.下面说法中不正确的是:()A.类是对象的抽象,对象是类的实例B。
类是组成java程序的最小的单位C.java语言支持多继承D。
java一个程序中只能有一个public类7.定义类时,不可能用到的保留字是()。
A)privateB)claC)e某tendD)implement8.为AB类的定义一个公共的构造函数,该方法头的形式为()A.voidAB()B。
publicvoidmethod()C.publicmethod()D。
publicAB()9.下面说法中不正确的是:()A.java中一个类只允许实现一个接口B。
抽象类中允许有非抽象方法的存在C.类变量(实例变量)可以直接用类名调用D。
通过uper可以调用基类的构造函数10.容器JFrame默认使用的布局编辑策略是()A.BorderLayoutB。
FlowLayoutC。
GridLayoutD。
CardLayout11.以下哪个表达式是不合法的()A.String某=”Hello”;inty=9;某+=y;B.String某=”Hello”;inty=9;if(某==y){}C.String某=”Hello”;inty=9;某=某+y;D.String某=null;inty=(某!=null)&&(某.length()>0)12.claperon{publicintaddvalue(inta,intb){int;=a+b;return;}}clachilde某tendparent{}若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述哪个是正确的:A)intaddvalue(intI,intj)B)voidaddvalue()C)voidaddvalue(doublei)D)intaddvalue(inta)13.下面程序在fun()方法当出现数组下标超过界限的情况下的输出结果是:()publicvoidtet(){try{fun();Sytem.out.print(“情况1”);}catch(ArrayInde某OutOfBoundE某ceptione){Sytem.out.print(“情况2”);}catch(E某ceptione){Sytem.out.print(“情况3”);}finally{Sytem.out.print(“finally”);}}A.情况1B。
java笔试题大全带答案
java笔试题大全带答案一、选择题1.下列哪个选项是JAVA语言中的基本数据类型?A. IntegerB. BooleanC. StringD. Double答案:B. Boolean2.以下关于JAVA程序的描述中,错误的是:A. JAVA源程序文件的扩展名为.javaB. JAVA虚拟机是JAVA程序的运行环境C. JAVA程序由一个或多个类组成D. JAVA程序的入口函数是main函数答案:C. JAVA程序由一个或多个类组成(应为:JAVA程序由一个类组成)3.以下哪种循环结构可以根据循环条件决定是否执行循环体?A. for循环B. do-while循环C. while循环D. switch循环答案:C. while循环4.以下关于JAVA的面向对象特性的描述中,正确的是:A. 封装是指将数据和操作数据的方法绑定在一起,形成一个类B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为C. 继承是指一个类可以派生出多个子类D. 抽象是指一个类具有实例化对象的能力答案:B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为二、填空题1.下列代码的输出结果是______。
```javaint a = 5;int b = 2;System.out.println(a / b);```答案:22.以下关于JAVA异常处理的语句中,正确的是______。
A. tryB. exceptC. catchD. throw答案:C. catch3.以下哪个关键字声明的方法可以被子类重写?A. finalB. staticC. abstractD. private答案:C. abstract4.以下哪个关键字可以在子类中调用父类的同名方法?A. thisB. superC. extendsD. implements答案:B. super三、编程题请编写一个JAVA程序,实现以下功能:1. 定义一个名为Rectangle的类,包含如下属性和方法:- 属性:宽度(width)、高度(height)- 方法:计算矩形面积(getArea)、计算矩形周长(getPerimeter)2. 在main函数中创建一个Rectangle对象,并计算其面积和周长并打印输出。
java工程师笔试题及答案
java工程师笔试题及答案# Java工程师笔试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是Java语言的特点?- A. 面向过程- B. 面向对象- C. 编译型语言- D. 解释型语言答案:B2. Java中,哪个关键字用于定义类?- A. `class`- B. `interface`- C. `enum`- D. `package`答案:A3. 在Java中,哪个方法用于获取类的完整路径名?- A. `getClass()`- B. `getClassName()`- C. `getName()`- D. `getPackage()`答案:A4. 以下哪个是Java集合框架中的接口?- A. `ArrayList`- B. `LinkedList`- C. `HashSet`- D. `Collection`答案:D5. Java中的异常分为哪两大类?- A. 编译时异常和运行时异常- B. 检查型异常和非检查型异常- C. 系统异常和应用异常- D. 可捕获异常和不可捕获异常答案:B二、简答题(每题5分,共20分)1. 请简述Java的垃圾回收机制。
答案:- Java的垃圾回收机制是自动内存管理的一部分,它负责回收不再使用的对象所占用的内存。
- 垃圾回收器定期检查堆内存,找出那些不再被任何引用指向的对象,然后将这些对象占用的内存释放。
2. 什么是Java的多线程,以及它的重要性是什么?答案:- Java的多线程是指在同一个Java虚拟机中同时运行多个线程的能力。
- 多线程可以提高程序的响应性和效率,允许同时执行多个任务,特别是在多核处理器上。
3. 请简述Java中的接口和抽象类的区别。
- 答案:- 接口定义了一组方法规范,但不能包含实现,所有方法默认为public abstract。
- 抽象类可以包含方法的实现,并且可以有非抽象方法。
4. 请解释Java中的泛型是什么,并给出一个简单的例子。
java考试题及答案
java考试题及答案Java考试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪类编程语言?A. 过程式编程语言B. 面向对象编程语言C. 函数式编程语言D. 逻辑编程语言答案:B2. Java程序的执行入口是以下哪个方法?A. main()B. init()C. start()D. run()答案:A3. 下列哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A4. Java中,哪个关键字用于定义一个方法?A. methodB. functionC. procedureD. void答案:D5. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. derivedD. subclass答案:A6. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D7. Java中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C8. Java中,哪个类是所有Java类的父类?A. ObjectB. ClassC. SystemD. Thread答案:A9. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. package答案:B10. 下列哪个是Java集合框架中的接口?A. ListB. SetC. MapD. All of the above答案:D二、简答题(每题10分,共30分)1. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它通过垃圾回收器定期检查不再被引用的对象,并释放它们占用的内存。
垃圾回收器运行在后台,开发者不需要手动释放对象内存。
2. 描述Java中多态的概念及其实现方式。
JAVA笔试题_附答案版
JAVA笔试题_附答案版一:单选题1. 下列哪一种叙述是正确的(D )A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2. 如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么? DA. 0B. 1C. 2D. 编译失败3. 下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4. 在Servlet处理请求的方式为: CA.以进程的方式B.以程序的方式C.以线程的方式 Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5. JDBC中,用于表示数据库连接的对象是: BA.Statement 连接的实例,执行sqlB.Connection 建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6. 用于调用存储过程的对象是: CA.ResultSet 返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7. 按照MVC设计模式,JSP用于实现: BA.ModelB.ViewC.ControllerD.容器8. 如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收? CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9. 如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么? BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10. 在J2EE中属于Web层的组件有: AA.ServletB.EJBC.AppletD.HTML11. 在Servlet的生命周期中,容器只调用一次的方法是: CA.serviceB.getServletConfigC.initD.destroy12. 以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配 exception D. 可能抛出系统异常的方法是不需要申明异常的13. 如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么? AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C )A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
java考试试题及答案
java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。
答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。
中兴2013年Java开发笔试题目及答案(7)
中兴2013年Java开发笔试题目及答案(7)A. public int method (int a, int b) { return 0; }B. private int method(int a, int b) { return 0; }C. private int method(int a, long b) { return 0; }D. public short method(int a, int b) { return 0; }正确答案:AC39.查看如下代码:public class Foo {public void method(String str,int age){}}下列选项中,和Foo 类中method 方法重载的方法是()。
A.public int method(String str,int age){}B. public void method(int year,String s){}C. public int method(int year,String s){}D. public int method(String str){}正确答案:BCD40. 下列异常类是RuntimeException的子类的是:()。
A. ArrayIndexOutOfBoundsExceptionB. NullPointerExceptionC. NumberFormatExceptionD. ClassNotFoundException正确答案:ABC41.IO类实现了打开并读取一个文本文件,每次读取一行内容。
将每行作为一个String字符串放入String数组里面返回。
阅读代码并完成以下5题:public class IO {public String[] read(InputStream in) throws IOException {String[] arr = new String[1];String[] temp = null;空白处1String line =while (( 空白处2 ) != null) { arr[arr.length - 1] = line;空白处3for (int i = 0; i arr.length; i++) { temp[i] = arr[i];}空白处4for (int i = 0; i arr.length; i++) { arr[i] = temp[i];}}arr = new String[temp.length - 1]; for (int i = 0; i arr.length; i++) {arr[i] = temp[i];}br.close();return arr;}public static void main(String[] args) throws IOException {String[] arr = new IO().read(new FileInputStream( data.txt ));System.out.println(arr);空白处5System.out.println(str);}}}(1). 下列选项中,能填入空白处1的代码是( )A.BufferedReader br = new BufferedReader(new InputStreamReader(in));B.BufferedReader br = new BufferedReader(new FileReader(in));C.FileReader br=new FileReader(in);D.InputStreamReader br=new InputStreamReader(in);正确答案:A(2). 下列选项中,能填入空白处2的代码是( )A.line = br.read();B.line = br.readLine();C.line = br.readString();D.line = br.readUTF();正确答案:B(3). 下列选项中,能填入空白3的代码是( )A.temp = new String[arr.length + 1];B.temp = new String[arr.length];11。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java笔试经典(基础部分及答案和分析)1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个类,但是最多只能有一个public修饰的类。
2、Java有没有goto? 7答:java中有goto ,但只是保留字,用来兼容以前版本的再无其他用途。
3、说说&和&&的区别。
8答:&是按位与,左右两边同时为1这得1,其他情况都为0,而&&是逻辑与,左右两边都为true这结果为true否则为false,并且&&会发生短路,而& 不会发生短路4、在JAVA中如何跳出当前的多重嵌套循环?8答:有两种方法:①在循环体中boolean值和break搭配使用;②使用continue和break 对应的标识,运行到bcontinue或break处时跳出到对应标识处5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9答:switch语句是使用int 型和枚举型的,而精度比int 型低的byte char short 都可以转化成int 型,所以byte是可以用在switch上的,但是系统不会将long型的转化成int型,所以不能使用long.而String是个类,而不是基本数据类型,系统也不会自动将String 转化成int的。
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9答:前一个错了,s1=s1+1处s1+1会使short型s1转化成int型,但是在将int型的值赋给short型的变量将会报错。
后一个是对的,因为+=是一个复合型运算符,复合赋值运算符会自动地将运算结果转型为其左操作数的类型,不会对s1的类型进行改变。
7、char型变量中能不能存贮一个中文汉字?为什么? 9答:char型的变量可以存贮一个中文字。
应为Java是用Unicode来编码的,而Unicode 编码是用16个字节来存贮char型的变量的,而一个汉字正好是用16个字节来存储的,所以可以。
8、用最有效率的方法算出2乘以8等於几? 9答:2<<3,将2左移3位。
因为位运算是cpu直接运算的,所以效率最高。
9、请设计一个一百亿的计算器9答:10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?11 答:final关键字修饰一个变量是引用不能变,引用的对象还是可以改变的。
如:StringBuffer stb=new StringBuffer(“abc”);Stb=new StringBuffer(“bcd”);//会报错。
但是运行stb.append(“abdeae”);不会报错。
11、"=="和equals方法究竟有什么区别?11答:==是专门用来比较两个变量是否相等的,也就是比较两个变量对应的内存中的数值是否相等。
用来比较基本类型的数据是否相等,两个引用是否相等(是否指向同一个对象),只能用“==”。
对于equal方法,主要是用来比较对象是否相等。
在Object类里的equal()方法没有重写的情况下,equal和==是一样的。
但是重写后equal()是指的连个对象是否相等,即其对应的数据以及类型是否相等(hashCode()是否相等)。
12、静态变量和实例变量的区别?12答:在语法定义上看:静态变量在定义时需要加上static,而实例变量不需要。
在程序运行上看:实例变量是属于一个实例的,当一个实例创建时系统才为之分配内存空间。
而静态变量是属于一个类的,当程序加载到该类字节码时,就会开辟对应的静态空间,就可以是使用静态变量了,而不需要创建实例。
实例变量需要通过对象才能使用,但是静态变量直接通过类来就还可以使用了。
13、是否可以从一个static方法内部发出对非static方法的调用?12答:不能,一个static方法只能调用static方法。
应为非静态方法是通过实例来调用的,使用前必须先创建实例。
但是static方法但调用可以不用创建实例的,所以在static方法中使用非static方法时,该非static方法没有创建对应的实力,这时是会报错的。
14、Integer与int的区别13答:int是Java提供的8中原始数据类型之一。
Java为每个原始数据类型都提供了封装类,Integer是Java为int提供的封装类。
Int的默认值为0,而integer的默认值为null,即integer 可以区分null和0的区别,int则无法表示处为复制的情况,例如想要表达出没有参加考试和参加了考试但是成绩为0分的区别,只能用Integer了。
在JSP开发中Integerde 默认值为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。
在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm 映射文件中设置其unsaved-value属性为0。
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13答:12 和-11。
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,Math.ceil(11.6)的结果为11,Math.ceil(-11.6)的结果是-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
16、下面的代码有什么不妥之处? 131. if(username.equals(“zxx”){}2. . int x = 1;return x==1?true:false;答:1可能报错(NullPointerException),因为username可能为null。
2中不知道返回类型是否是int型,而且返回值一定是true,没有必要写成三元运算符。
17、请说出作用域public,private,protected,以及不写时的区别13答:作用域当前类同一package 子类其他packagePublic Y Y Y YProtected Y Y Y N默认(Friendly) Y Y N NPrivate Y N N N18、Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型? 14答:overload是重载,表示同一个类中可以有多个同名的方法,但是这些方法的参数列表不相同(参数的个数或者是类型不同)。
Override是重写,表示子类中的方法可以与父类中的某个方法的名称和参数完全一样,通过子类创建实例对象调用这个方法时,将会调用子类中的定义方法,而将父类中的这个方法覆盖掉,这也是面向对象的一种表现形式。
override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。
对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。
除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。
在覆盖要注意以下的几点:1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。
在使用重载要注意以下的几点:1、在使用重载时只能通过不同的参数样式。
例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int));2、不能通过访问权限、返回类型、抛出的异常进行重载;3、方法的异常类型和数目不会对重载造成影响;4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
19、构造器Constructor是否可被override? 15答:不能,应为构造器不能被继承,所以不能被重写,但是可以被重载。
20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?15答:接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,抽象类中可以有静态的main方法。
21、写clone()方法时,通常都有一行代码,是什么?15答:clone有缺省行为,Super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员。
22、面向对象的特征有哪些方面15答:封装:封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。
把对同一事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一个类中。
继承:在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。
继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。
多态:多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。