JAVA三大框架测试题
java笔试题大集合及答案
java笔试题大集合及答案# Java笔试题大集合及答案1. Java中接口和抽象类的区别是什么?- 接口和抽象类都是抽象的,不能直接实例化。
- 接口中所有的方法默认是public的,而抽象类可以包含非public的成员。
- 一个类可以实现多个接口,但只能继承一个抽象类。
- 接口中不能包含构造方法,而抽象类可以。
- 接口中的字段默认是public static final的,而抽象类中的字段可以是任意类型。
2. Java中如何实现单例模式?- 单例模式确保一个类只有一个实例,并提供一个全局访问点。
- 可以通过私有化构造方法,提供一个私有静态变量来保存实例,并提供一个公有静态方法来获取实例。
3. Java中集合框架的层次结构是怎样的?- 集合框架分为两大类:单元素集合和复合元素集合。
- 单元素集合包括List、Set和Queue。
- 复合元素集合包括Map。
- 每个接口都有多个实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。
4. Java中如何实现多线程?- 可以通过继承Thread类并重写run方法来实现。
- 也可以通过实现Runnable接口并重写run方法,然后创建Thread对象来实现。
- Java 5引入了Executor框架,可以更方便地管理线程。
5. Java中异常处理的机制是什么?- Java使用try-catch-finally块来处理异常。
- try块中编写可能抛出异常的代码。
- catch块中编写处理异常的代码。
- finally块中的代码无论是否发生异常都会执行。
6. Java中StringBuffer和StringBuilder的区别是什么?- StringBuffer是线程安全的,而StringBuilder不是。
- StringBuffer的方法是同步的,StringBuilder的方法不是。
- 在单线程环境下,StringBuilder的性能优于StringBuffer。
java章节习题及期末考试题答案
java章节习题及期末考试题答案第1章Java开发入门习题一、填空题1.将.java源文件编译为.class文件的是【】命令。
2.在Eclipse窗口中选择菜单【】→New→Java Project创建Java 项目。
3.在安装JDK的过程中,有三个功能模块可供选择,它们分别是【】,【】和【】。
4.将Hello.java文件编译为class文件,需要键入【】命令。
5.JRE是Java程序的【】。
二、判断题1.Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。
()2.JDK安装成功后,需要将bin目录的路径配置在环境变量path 中。
()3.Java配置环境变量path的目的是为了可以查找到.class文件。
()4.JDK安装成功后,classpath环境变量必须配置。
()5.在命令行窗口中,编译Demo.java文件可以输入javac Demo。
()三、选择题1.如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()A: c:\jdkB: c:\jdk\binC: c:\jre\binD: c:\jre2.下列关于classpath环境变量的说法中,说法正确的是()A: classpath配置一次后可永久使用B: 没有classpath环境变量就不能运行Java程序C: classpath环境变量可以让虚拟机找到class文件的目录D: 查看当前classpath配置的命令是:classpath3.下面哪种类型的文件可以在Java虚拟机中运行()A: .javaB: .jreC: .exeD: .class4.Java属于以下哪种语言()A: 机器语言B: 汇编语言C: 高级语言D: 以上都不对5.下列关于Java特点的描述中,错误的是()。
A: Java是一门面向对象的语言B: Java具有自动垃圾回收的机制C: Java可以运行在Window和Linux等不同平台上D: Java中只支持单线程序运行答案一、填空题1.javac2.File3.开发工具;源代码;公共JRE4.javac Hello.java5.运行环境二、判断题1.对2.对3.错4.错5.错三、选择题1. B2. C3. D4. C5. D第2章Java编程基础习题一、填空题1.可以通过【】循环使程序能够多次键盘输入。
JavaEE企业级开发SSM框架题库及答案
JavaEE企业级开发SSM框架题库及答案1、以下哪个方法可以定义Spring MVC中的拦截器()∙ A、继承HandlerInterceptor∙ B、实现WebRequestInterceptor∙ C、实现HandlerInterceptorAdapter∙ D、继承WebRequestInterceptor参考答案 : B2、下列有关AOP专业术语中,用于指那些被拦截到的点的是()。
∙ A、Joinpoint∙ B、Pointcut∙ C、Aspect∙ D、Advice参考答案 : A3、针对GET方式RESTful风格的请求http://localhost:8080/chapter14/user/1,后台方法接收参数的路径映射写法可行的是()。
∙ A、@RequestMapping("/user/{id}",method=RequestMethod.GET)∙ B、@RequestMapping(value="/user/ids")∙ C、@GetMapping(value="/user/{ids}")∙ D、@GetMapping(value="/user/{id}",method=RequestMethod.GET)参考答案 : C4、下面描述中,关于query()方法说法错误的是()∙ A、List query(String sql, RowMapper rowMapper)会执行String类型参数提供的SQL语句,并通过RowMapper返回一个List类型的结果∙ B、List query(String sql, PreparedStatementSetter pss, RowMapper rowMapper)会根据String类型参数提供的SQL语句创建PreparedStatement对象,通过RowMapper将结果返回到List中∙ C、List query(String sql, Object[] args, RowMapper rowMapper)会将args参数绑定到SQL语句中,并通过RowMapper返回一个Object类型的单行记录∙ D、queryForList(String sql,Object[] args, class<T> elementType)可以返回多行数据的结果,但必须是返回列表,elementType参数返回的是List元素类型参考答案 : C5、下面关于<collection>元素的描述正确的是()∙ A、MyBatis就是通过<collection>元素来处理一对多关联关系的∙ B、<collection>元素的属性与<association>元素完全相同∙ C、ofType属性与javaType属性对应,它用于指定实体对象中所有属性所包含的元素类型∙ D、<collection >元素只能使用嵌套查询方式参考答案 : A6、以下有关采用传统DAO开发方式进行MyBatis与Spring框架的整合的说法错误的是()∙ A、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,只需要编写DAO接口∙ B、采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession∙ C、可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现在类中注入SqlSessionFactory∙ D、SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。
java面试题库java面试题目及答案(3篇)
第1篇一、基础知识1. Java简介题目:请简述Java的基本特点。
答案:- 简单易学:Java设计之初就考虑了易学性,使用面向对象编程。
- 原生跨平台:Java通过JVM(Java虚拟机)实现跨平台运行。
- 安全性:Java提供了强大的安全机制,如沙箱安全模型。
- 体系结构中立:Java不依赖于特定的硬件或操作系统。
- 高效:Java的运行速度接近C/C++。
- 多线程:Java内置多线程支持,便于实现并发处理。
- 动态性:Java在运行时可以进行扩展和修改。
2. Java虚拟机题目:请解释Java虚拟机(JVM)的作用。
答案:JVM是Java程序的运行环境,其主要作用包括:- 将Java字节码转换为本地机器码。
- 管理内存,包括堆、栈、方法区等。
- 提供垃圾回收机制。
- 管理线程和同步。
3. Java内存模型题目:请简述Java内存模型的组成。
答案:Java内存模型主要由以下部分组成:- 堆(Heap):存储对象实例和数组。
- 栈(Stack):存储局部变量和方法调用。
- 方法区(Method Area):存储类信息、常量、静态变量等。
- 本地方法栈(Native Method Stack):存储本地方法调用的相关数据。
- 程序计数器(Program Counter Register):存储线程的当前指令地址。
4. Java关键字题目:请列举并解释Java中的几个关键字。
答案:- `public`:表示访问权限为公开。
- `private`:表示访问权限为私有。
- `protected`:表示访问权限为受保护。
- `static`:表示属于类本身,而非对象实例。
- `final`:表示常量或方法不能被修改。
- `synchronized`:表示线程同步。
- `transient`:表示数据在序列化时不会被持久化。
二、面向对象编程5. 类和对象题目:请解释类和对象之间的关系。
答案:类是对象的模板,对象是类的实例。
JAVA模拟试题及答案(一)
选择看前40,填空看前30第一部分模拟试题第一题单项选择题1、Java语言和c++语言相比,哪一项是Java有的,而c++没有?(D )A、面向对象B、动态链接C、有类库D、跨平台2、下列选项中,不属于Java语言特点的一项是( C )。
A、分布式B、安全性C、编译执行D、面向对象3、在下列选项中,属于Java语言的代码安全检测机制的一项是( B )。
A、动态链接B、访问权限的检查C、通过接口实现多重继承D、将所有的Java应用都看做对象,按类进行封装4、下列选项中,不属于Java语言安全机制的一项足( D )。
A、语法检查B、不允许使用指针C、代码参数类型合法性检查D、对内存进行跟踪5、下面关于Java代码安全的说法哪一项是不正确的( B )?A、Java程序在解释执行时所需要的类都是通过字节码校验程序装入的B、Java字节码的执行是由JVM中的编译器完成的C、在Java程序运行时,首先装入字节码,然后进行校验,最后在解释器中执行D、在默认的安全配置条件下,Applet不能访问任何本地资源6、下列API不属于java .1ang.Math类的一个是(C )。
A、random() (随机数)B、abs()C、drawLine()D、sin()7、阅读下列代码段,选出该代码段的正确的文件名( D )。
class A{void methodl(){System.out.println(”methodl in class A”):}}public class Bvoid method2(){System.out.println(”method2 in class B”):}public static void main(String args[]){System.out.println(”main()in class B”):}}A、A .javaB、A.classC、B.classD、B.java8、编译下面源程序会得到哪些文件?(C )class AI{}elass A2{}Public class B{Public static void main(String args[ ]){}}A、只有B.class文件B、只有A1.Class和A2.class文件C、有A1.class、A2.Class和B.class文件D、编泽不成功9、定义类头时能使用的修饰符是( D )。
什么才是真正的三大框架(Whatisthethreerealframework)
什么才是真正的三大框架(What is the three real framework)Now many beginners and programmers are flocking to learn the Web development of the book level framework: Struts2,Spring, Hibernate. It seems that these frameworks become the only factual standards for a person to master Java, whether to write J2EE programs and the necessary basis for finding a job.However, if you ask these programmers at the interview, why do you study these frameworks? What is the nature of these frameworks? Few people seem to be able to give me very satisfactory answers. Because they are learning to study, to study for work, not to really understand a framework. In fact, everyone should think about the question: why do you want to study the framework? What does the frame bring to me? Next, let's take login as one of the simplest examples of how we write Web programs in different years.Later, we gave up writing logic on the page.Later, the program was written more and more, we found that this kind of Java code in the HTML code to complete the logic of the way there are many problems:1. Java code is cluttered because it is cluttered in a HTML environment, and the readability is very poor. A JSP file sometimes becomes dozens of K, or even hundreds of K. To find a piece of logic, often unable to locate.2. writing code is very confused, do not know where the code should be written, do not know whether other people have alreadyachieved similar functions, where to quote.3. suddenly, a demand has changed. So, everyone began to replace the whole head, but also carefully, for fear of the other logical change.4. logic processing program needs to maintain its own life cycle, for similar database transactions, log and many other modules can not be unified support.At this time, if you have a product, it can extract the Java code on the page, let the page as little as possible Java code, how good. So many people began to use servlet to deal with business logic.Public class LoginServlet extends HttpServlet (non-Javadoc) {/ * @see * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) / @Override protected void doPost (HttpServletRequest req, HttpServletResponse throws ServletException, IOException RESP) {String message = null; RequestDispatcher = dispatcherreq.getRequestDispatcher ("/result.jsp"); String name = req.getParameter ("name"); String password = req.getParameter ("password"); UserHandler userHandler = new (UserHandler); if (userHandler.authenticate (name, password)) {message = "Congratulations, login The success of ";} else {message =" I'm sorry ";} req.setAttribute logon failure (message, message); dispatcher.forward (req, resp);}} here we need in the web.xml for the servlet URL configuration request relationship.<servlet> <servlet-name>Login</servlet-name> <servlet-class> com.demo2do.servlet.LoginServlet < / servlet类> > < < / Servlet Servlet映射> <名称> < / Servlet Servlet登录名> <网址> < /模式/登录URL模式> < / servlet映射>代码重构到这里,我们发现,其实我们的工作量本身并没有减少,只是代码从JSP移动到了servlet,使得整个流程看上去稍微清楚了一些。
三大框架
Hibernate1.Hibernate 的初始化.读取Hibernate 的配置信息-〉创建Session Factory1)创建Configeration类的实例。
它的构造方法:将配置信息(Hibernate config.xml)读入到内存。
一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。
2)创建SessionFactory实例把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。
SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。
缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。
SessionFactory的缓存中:Hibernate 配置信息。
OR映射元数据。
缓存-大:重量级对象小:轻量级对象3)调用SessionFactory创建Session的方法1】用户自行提供JDBC连接。
Connection con=dataSource.getConnection(); Session s=sessionFactory.openSession(con);2】让SessionFactory提供连接Session s=sessionFactory.openSession();4)通过Session 接口提供的各种方法来操纵数据库访问。
Hibernate 的缓存体系一级缓存:Session 有一个内置的缓存,其中存放了被当前工作单元加载的对象。
每个Session 都有自己独立的缓存,且只能被当前工作单元访问。
二级缓存:SessionFactory的外置的可插拔的缓存插件。
其中的数据可被多个Session共享访问。
SessionFactory的内置缓存:存放了映射元数据,预定义的Sql语句。
Hibernate 中Java对象的状态1.临时状态(transient)特征:1】不处于Session 缓存中2】数据库中没有对象记录Java如何进入临时状态1】通过new语句刚创建一个对象时2】当调用Session 的delete()方法,从Session 缓存中删除一个对象时。
JavaEE练习答案
一、选择题1.下列关于JavaEE叙述错误的是(D )。
A)JavaEE是一个标准中间件体系结构B)JavaEE是企业分布式应用开发标准C)JavaEE的编程思想是:组件-容器D)JavaEE是一门编程语言2.JavaEE技术框架包括(D)。
A)组件技术B)服务技术C)通信技术D)以上三种3.JavaEE Web组件包括( A )。
A) Servlet和JSP B) Servlet和JDBC C) JSP和JNDI D) EJB和JDBC4.JavaEE提供的组件主要包括( C)。
A) 客户端组件、Web组件和JDBC组件B) Web组件、EJB组件和JDBC组件C) 客户端组件、Web组件和EJB组件D) Web组件、EJB组件和JNDI组件5.下列组件属于客户端组件的是( A )。
A) Applet B) EJB C) JSP D) Servlet6.以下关于JavaEE体系架构的优点正确的是( C)。
A) 独立于硬件配置但需要操作系统支持B) 坚持面向过程的设计原则C) 兼具灵活性、可移植性和互操作性D) 能进行企业信息系统集成,但并不轻松7.( C )是用于构建发布在Java平台上的组件和应用程序的开发环境,是一切Java应用程序的基础。
A)NetBeans B)JBuilder C)JDK D)JSP8.JDK是用于构建发布在Java平台上的组件和应用程序的( A )环境,是一切Java应用程序的基础。
A) 开发B) 运行C) 测试D) 部署9.JavaEE编程属于服务器端应用的编程,因此JavaEE程序的运行需要一个( B )应用服务器的支持。
A)客户B)中间件C)商业D)数据库10.JavaEE编程属于( B )应用的编程,因此JavaEE程序的运行需要一个中间件应用服务器的支持。
A) 客户端B) 服务器端C) JSP D) Servlet11.目前JavaEE应用开发环境分为两大类,基于命令行的开发环境和( A )开发环境。
(完整word版)ssm框架题库-java(可编辑修改word版)
第1章Spring 的基本应用习题一、填空题1.依赖注入的作用就是在使用Spring 框架创建对象时,动态的将其所依赖的对象注入到【】组件中。
2.在使用Spring 框架之后,对象的实例不再由调用者来创建,而是由【】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
3.在Spring 入门程序中只需将Spring 的4 个基础包以及【】的JAR 包复制到lib 目录中,并发布到类路径下即可。
4.简单来说,BeanFactory 就是一个管理Bean 的工厂,它主要负责初始化各种Bean,并调用它们的【】方法。
5.Spring 开发所需的JAR 包分为两个部分:【】和【】。
二、判断题1.Spring 中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。
()2.通常在Java 项目中,会采用通过FileSystemXmlApplicationContext 类来实例化ApplicationContext 容器的方式。
()3.初学者学习Spring 框架时,只需将Spring 的4 个基础包以及commons-logging.jar 复制到项目的lib 目录,并发布到类路径中即可。
()4.依赖注入的作用就是在使用Spring 框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。
()5.Spring 框架采用的是分层架构,它一系列的功能要素被分成20 个模块。
()三、选择题1.以下关于Spring 核心容器相关说法错误的是。
()A: Spring 框架的所有功能都是通过其核心容器来实现的。
B: 创建BeanFactory 实例时,需要提供Spring 所管理容器的详细配置信息,这些信息通常采用XML 文件形式来管理。
C: ApplicationContext 不仅包含了BeanFactory 的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。
三大框架
谈谈你对mvc的理解MVC是Model—View—Controler的简称。
即模型—视图—控制器。
MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。
MVC中的模型、视图、控制器它们分别担负着不同的任务。
视图: 视图是用户看到并与之交互的界面。
视图向用户显示相关的数据,并接受用户的输入。
视图不进行任何业务逻辑处理。
模型: 模型表示业务数据和业务处理。
相当于JavaBean。
一个模型能为多个视图提供数据。
这提高了应用程序的重用性控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。
然后根据处理的结果调用相应的视图来显示处理的结果。
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。
控制器调用相应的视图来显示处理的结果。
并通过视图呈现给用户。
项目中为什么使用SSH1. 使用Struts是因为struts是基于MVC模式的,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;第二,struts有着丰富的taglib,如能灵活运用,则能大大提高开发效率。
2. 使用Hibernate:因为hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。
hibernate 是个轻量级的持久性框架,功能丰富。
3. 使用Spring:因为spring基于IoC(Inversion of Control,反向控制)和AOP构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事务管理(Transcation Managment),等等struts如何实现国际化以下以两国语言(中文,英文)为例:1. 在工程中加入Struts支持2. 编辑ApplicationResource.properties文件,在其中加入要使用国际化的信息, 例如: lable.welcome.china=Welcome!!!3. 创建英文资源文件ApplicationResource_en.properites4. 创建临时中文资源文件ApplicationResource_temp.properites 例如:lable.welcom.china=中国欢迎您!5. 对临时中文资源文件进行编码转换。
java期末考试题库及答案解析
java期末考试题库及答案解析Java期末考试题库及答案解析一、选择题1. Java语言属于以下哪种类型的编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个关键字用于定义Java类?A. classB. structC. interfaceD. enum答案:A3. Java中的main方法的返回类型是什么?A. voidB. intC. StringD. Object答案:B4. 以下哪个是Java的集合框架中的接口?A. ArrayListB. LinkedListC. SetD. HashMap答案:C5. Java中的异常处理机制使用哪个关键字来实现?A. tryB. catchC. finallyD. all of the above答案:D二、填空题1. Java语言是_________设计的,它具有跨平台的特性。
答案:James Gosling2. 在Java中,一个类可以继承另一个类的_______方法和变量。
答案:非私有3. Java的垃圾回收机制是用于_______内存的。
答案:自动管理4. Java中的_______关键字用于定义接口。
答案:interface5. Java中的_______关键字用于实现多态。
答案:override三、简答题1. 请简述Java语言的三大特性。
答案:Java语言的三大特性包括:面向对象、跨平台和网络编程。
2. 什么是Java的封装性,它有什么好处?答案:封装性是Java面向对象编程的核心概念之一,它允许将数据(属性)和操作数据的方法组合在一起,形成一个“对象”。
封装的好处包括数据隐藏、安全性提高和易于维护。
3. 请解释Java中的继承机制,并举例说明。
答案:Java中的继承机制允许一个类(子类)继承另一个类(父类)的属性和方法。
这使得代码复用变得简单,并且可以创建层次结构。
例如,一个名为“Animal”的类可以被“Dog”类继承,后者可以继承“Animal”的所有属性和方法,同时也可以添加自己的特定属性和方法。
(完整版)JAVA试题及答案(50道选择题)
选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真”;D、b oolean a = = false;6、以下(C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str。
equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System。
JAVA测试题(三套含答案)
JAVA测试题(三套含答案)<测试一>1.在单一文件中import、class和package的正确出现顺序是:AA.package, import, classB.class, import, packageC.import, package, classD.package, class, import2.public static void main方法的参数描述是:A,DA.String args[]B.Strings args[]C.String argsD.String []args3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,DA.float f=1.3;B.char c="a";C.byte b=257;D.boolean b=null;E.int i=10;4.编译,运行下列代码后的结果是:Dpublic class Test {public static void main (String args []) {int age;age = age + 1;System.out.println("The age is " + age);}}A.编译,运行后没有输出B.编译,运行后输出:The age is 1C.能通过编译,但运行时产生错误D.不能通过编译4.下面那些关键字不是JAVA的关键字BA ifB thenC gotoD whileE case5.下面那些不是合法的变量定义:A,FA.2variableB.variable2C. _whatavariableD. _3_E. $anothervarF. #myvar6.内部数据类型byte的取值范围是BA.0 - 65, 535B.(–128) – 127C.(–32,768) – 32,767D.(–256) – 2557.下列哪些表达式返回true ABA."john" == "john"B."john".equals("john")C."john" = "john"D."john".equals(new Button("john")) 8.声明公用的abstract 方法的正确格式是A A.public abstract void add();B.public abstract void add() {}C.public abstract add();D.public virtual add();9.下面的代码能打印出的结果为:Cint i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two"); default:System.out.println("default");}A.oneB.one, defaultC.one, two, defaultD.default10.下面的代码能打印出的结果为:B int i=9;switch (i) {default:System.out.println("default"); System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");}A.defaultB.default, zeroC.error default clause not definedD.no output displayed11.下面的代码那个能正常的编译通过:B,CAint i=0;if(i) {System.out.println("Hello");}Bboolean b=true;boolean b2=true;if(b==b2) {System.out.println("So true");}C.int i=1;int j=2;if(i==1|| j==2)System.out.println("OK");Dint i=1;int j=2;if(i==1 &| j==2)System.out.println("OK");12.Hello.txt不与Mine.java在同一个目录下,如果你试图编译,运行下面的代码,那么会是什么结果?Cimport java.io.*;public class Mine {public static void main(String argv[]){Mine m=new Mine();System.out.println(m.amethod());}public int amethod() {FileInputStream dis=new FileInputStream("Hello.txt"); }catch (FileNotFoundException fne) {System.out.println("No such file found");return -1;}catch(IOException ioe) {} finally{System.out.println("Doing finally");}return 0;}}13.当你试图准备编译,运行下面代码时会发生:CA.编译和运行很正常B.编译时错误C.运行时错误class Base {}class Sub extends Base {}class Sub2 extends Base {}public class CEx{public static void main(String argv[]){Base b=new Base();Sub s=(Sub) b;}}14.当你试图准备编译,运行下面代码时会发生:Dpublic class Tux extends Thread{static String sName = "vandeleur";public static void main(String argv[]){Tux t = new Tux();t.piggy(sName);System.out.println(sName);}public void piggy(String sName){sName = sName + " wiggy";start();}public void run(){for(int i=0;i < 4; i++){sName = sName + " " + i;}}}A.编译时错误B.编译成功,并打印出"vandeleur wiggy"C.编译成功,并打印出" vandeleur wiggy 0 1 2 3"D.编译成功,并打印出" vandelur"15.在什么情况下类获得默认的构造方法:BA.类被定义时B.类中没有定义任何构造方法时C.在类中至少定义了一个构造方法时16.listener(监听器)方法的正确的访问修饰符是什么?AA.publicB.staticC.privateD.protectedE.Default(即默认为空)17. 假定有一个包含引起异常(不是一个RuntimeException)的代码的方法,用什么方式告诉方法的调用者要捕获该异常:BA.throw ExceptionB.throws ExceptionC.new ExceptionD.不用特别指定18.下面的代码能打印出的结果是:A,Bpublic class MyFor{public static void main(String argv[]){int i;int j;outer:for (i=1;i <3;i++)inner:for(j=1; j<3; j++) {if (j==2)continue outer;System.out.println("Value for i=" + i + " Value for j=" +j);}}}A.Value for i=1 value for j=1B. Value for i=2 value for j=1C. Value for i=2 value for j=2D. Value for i=3 value for j=119.那个代码能够添加在//mothod here地方,并能正确执行?B,Cclass Base{public void amethod(int i) { }}public class Scope extends Base{public static void main(String argv[]){}//Method Here}A. void amethod(int i) throws Exception {}B. void amethod(long i)throws Exception {}C. void amethod(long i){}D. public void amethod(int i) throws Exception {} 20.运行下面代码能够得出的结果?BString s=new String("Bicycle");int iBegin=1;char iEnd=3;System.out.println(s.substring(iBegin,iEnd));A.BicB. icC. icyD. error: no method matching substring(int,char) 21.下面定义的变量能执行那些操作?AString s1=new String("Hello")String s2=new String("there");String s3=new String();A.s3=s1 + s2;B.s3=s1-s2;C.s3=s1 & s2;E.s3=s1 && s222. System.out.println(4 | 3);能打印出什么结果?DA 6B 0C 1D 723.传递4,0来运行下列代码中的方法divide(int a, int b),结果是:A public void divide(int a, int b) {try {int c = a / b;} catch (Exception e) {System.out.print("Exception ");} finally {System.out.println("Finally");}A.打印输出: Exception FinallyB.打印输出: FinallyC.打印输出: ExceptionD.没有任何输出24.对public void add(in t a) {…}方法的重写方法:AA.必须返回voidB.必须返回intC.可以返回任何需要的类型25. 对public void add(int a) {…}方法的重载方法应返回:CA.voidB.intC.任何类型26. 下列类分别在不同的文件中定义:Cclass Vehicle {public void drive() {System.out.println("Vehicle: drive");}}class Car extends Vehicle {public void drive() {System.out.println("Car: drive");}}public class Test {public static void main (String args []) {Vehicle v;Car c;v = new Vehicle();c = new Car();v.drive();c.drive();v = c;v.drive();}}编译和执行类Test后,结果是:A.在语句v= c;处产生编译时错误B.在语句v= c;处产生运行时错误C.输出:Vehicle: driveCar: driveCar: driveD.输出:Vehicle: driveCar: driveVehicle: drive27. 在子类构造方法内的什么位置可以对超类的构造方法(super())进行调用:BA.子类构造方法的任何地方B.子类构造方法的第一条语句处C.子类构造方法的最后一条语句处D.不能对超类的构造方法进行调用28. 下列代码中有明显的语法错误的语句是:C1.public class Test {2.public static void main (String args []) {3.Employee e = new Employee("Bob", 48);4. e.calculatePay();5.System.out.println(e.printDetails());6. e = Null;7. e = new Employee("Denise", 36);8. e.calculatePay();9.System.out.println(e.printDetails());10.}}A.Line 10B.Line 11C.Line 6D.Line 829. 选择可以建立线程的接口:AA.RunnableB.RunC.少数用于管理的系统部件D.ThreadE.Executable30. 选择正确生成text field的代码,此text field最多能够显示10个字符(假定其字体有固定大小)并最初显示“hello”串:AA.new TextField("hello", 10) ;B.new TextField(10,"hello");C.new TextField("hello",max,10);D.new TextField("hello",10,max);31. 选择定义在Graphics类中的方法:A,CA.drawLine(int, int, int, int) ;B.drawImage(Image, int, int, ImageObserver) ;C.drawString(String, int, int) ;D.add(Component);E.setVisible(boolean);F.setLayout(Object);32. 从下面的布局管理器中选择按行放置控件、从左到右、从上到下,当一行装满时开始新的一行的布局管理器:BA.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout33. 选择可以替换一个Container对象布局的方法:AA.setLayout(aLayoutManager);B.addLayout(aLayoutManager);/doc/137072775.html,yout(aLayoutManage r);D.setLayoutManager(aLayoutManager);34. 一个类Example的main()方法的参数是args,类被如下调用执行:java Example catmain方法中访问args[0]的输出是什么?AA.catB.javaC.ExampleD.抛出一个NullPointerException异常E.抛出一个ArrayIndexOutOfBoundsException异常35.下面的代码编译,运行后得出的结果:Dpublic class Conv{public static void main(String argv[]){Conv c=new Conv();String s=new String("ello");c.amethod(s);}public void amethod(String s){char c='H';c+=s;System.out.println(c);}}A.编译成功,打印出"Hello"B. 编译成功,打印出"ello"C. 编译成功,打印出elloHD. 编译错误36.执行后打印的结果为:Cpublic class Oct{public static void main(String argv[]){ Oct o = new Oct(); o.amethod();}public void amethod(){int oi= 012;System.out.println(oi);}}A.12B.012C.10D.10.037.编译,执行下面的代码会出现的结果:Apublic class Ref{public static void main(String argv[]){ Ref r = new Ref();r.amethod(r);}public void amethod(Ref r){int i=99;multi(r);System.out.println(i);}public void multi(Ref r){r.i = r.i*2;}}A. 一个编译时错误B. 99C. 198D. 一个运行时错误.38.现在你存储一个唯一的整型序列,那么你需要哪个容器接口?AA.SetB.ListC.MapD.Vector39.给出下列代码,请选择2个正确输出?D,Epublic class Example{public static void main(String args[]){int i=0;do{System.out.println(“Doing it for i is”+i);} while (--i>0);System.out.println(“Finished”);}}A.Doing it for i is 3B.Doing it for i is 2C.Doing it for i is 1D.Doing it for i is 0E.Finished40. System.out.println(Math.floor(-2.1));打印的结果为:DA -2B 2.0C -3D -3.0<测试二>Java程序员笔试题一、单项选择题(共10题,每题2分,共20分)1.下列说法哪一个是正确的。
JAVA测试题汇总
JAVA测试题汇总在JAVA中,下列哪些说法是正确的(AC).java源文件的扩展名为.java.写好的java源程序可以直接运行.编写的源程序必须先编译后才能运行.程序员可以读懂扩展名为.class的文件下列标识符哪个是合法的(D).class.$abc.1234._name下面哪些赋值语句是正确的?(AB)float数值范围为-3.4*10的-38次幂到3.4*10的38次幂int other = (int) true; //是布尔类型系统会自动将ture转换成-1,false是十六进制的整形数值byte取值范围为(-2^7)~(2~7)-1即-128~127最大表示范围为:-263 ~ 263-1,即-9223372036854775808 ~。
在Java中,下列语句不能通过编译的有(ABCD )“join”+ 3;“join”+3;‘a’+5;设 a = 3,则表达式 (--a )<“<<”代表左移运算符。
该运算符为双目运算符,结合方向为从左到右,作用是把一个整移动到左边界之外的多余二进制位会被丢弃,并从右边0,--a=2 二进制就是 10,向左移动2位是1000,换算后等于8 下列代码运行的结果是(c )int x = 4;int y = 5;if(x++>4 & ++y>5) {x++;}System.out.println("x=" + x + ",y=" + y);x=4,y=6尝试运行下面的代码会发生什么?( B)public static void main(String[] args) {boolean m = true;if (m = false) {System.out.println("true");} else {System.out.println("false");}}输出字符串”true”输出字符串”false”编译时错误运行时错误编译并运行以下代码将发生什么?(D)char digit = 'a';for (int i = 0; i < 10; i++){switch (digit){case 'x' :{int j = 0;System.out.println(j);}default :{int j = 100;System.out.println(j);}}int i = j;输出11次100输出10次100,然后抛出运行期异常编译错误,因为变量i不能在main() 方法中被声明2次编译错误,因为变量j不能在main() 方法中被声明2次以上都不对class Demo Bpublic static int fun(int c)return c+=2;}public static void main(String[] args)int temp = fun(2);System.out.println(temp);}下面哪些函数是public void aMethod(){...}的重载函数?( BD) …}在java中,关于数组描述正确的是(CD ).数组中的索引下标从1开始.存储在数组当中的数据都属于同一数据类型.通过数组名.length()能获得数组的长度.数组的最大索引下标是数组的长度减1下面程序的输出结果是什么(A ).编译不通过.运行时出错.输出null.输出0下面哪个语句正确地声明一个整型的二维数组( C) 以下代码输出是( C )public static void main(String[] args) {int i = 0;int sum = 0;while (i <= 10) {i++;if (i % 2 != 0)continue;sum += i;}System.out.println(sum);}和下面代码能完成相同的选项是(B)public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) {sum = sum + i;}i++;}System.out.println(sum);}上述全对下列有关类、对象和实例的叙述,正确的是哪一项?(D).类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称.类是对象的抽象,对象是类的具体化,实例是类的另一个名称.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称下面关于java中包的说法正确的是(AD)在java中可以使用import语句导入包在java中可以使用package语句导入包位于同一个包中的类,不需要导包就可以直接访问不同的包中可以出现类名相同的类下列有关抽象类的叙述正确的是哪项?(C).抽象类中一定含有抽象方法.抽象类既能被实例化也能被继承.抽象类的声明必须包含abstract关键字.抽象类中不能有构造方法下列有关接口的叙述错误的是哪项?(D).接口中只能包含抽象方法和常量.一个类可以实现多个接口.类实现接口时必须实现其中的方法.接口不能被继承运行以下代码片段,输出结果是?( D)Y b = new Y();X() {System.out.print("X");}Y() {System.out.print("Y");}Y y = new Y();Z() {System.out.print("Z");}public static void main(String[] args) {new Z();}下列关于类的继承的描述,正确的有( D )一个类可以同时继承多个父类一个类可以具有多个子类子类会自动拥有父类所有的方法一个类继承另一个类需要使用 extends 关键字下列选项中关于java中this关键字的说法错误的有( D )关键字是一个对象的引用关键字可以用于引用当前类以外其他类型的对象可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行可用于静态方法中下列关于构造函数的说法正确的是( A )方法名必须与类名相同使用new关键字创建对象时,java虚拟机会自动调用构造函数我们在定义一个类时,必须要声明至少一个构造函数构造函数中不能使用return语句编译并运行以下代码将发生什么?( C )int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {System.out.println("Both are equal");} else {System.out.println("Both are not equal");}}代码编译时报出错误提示信息“equal s() 方法未定义”编译通过,抛出运行期异常.输出Both are equal.输出Both are not equal运行以下的main()方法,结果是?( A )String myString;int x = 100;if (x < 100) myString = "x is less than 100";if (x > 100) myString = "x is greater than 100"; System.out.println(myString.length());.编译时报出错误提示信息“变量myString没有被初始化”.编译通过.编译未能通过。
java基础笔试题及答案
java基础笔试题及答案1. Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. public答案:A2. 下列哪个选项不是Java语言的基本数据类型?A. intB. floatC. charD. String答案:D3. 在Java中,下列哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. finally答案:A4. 下列哪个选项是Java中正确的继承关系?A. 类可以继承多个类B. 接口可以继承多个接口C. 类可以实现多个接口D. 接口可以实现类答案:C5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. public答案:B6. 下列哪个选项是Java中正确的访问修饰符?A. publicB. privateC. protectedD. all of the above答案:D7. 在Java中,下列哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. 下列哪个选项是Java中的集合框架?A. ArrayListB. LinkedListC. HashMapD. all of the above答案:D9. 在Java中,下列哪个关键字用于定义一个抽象类?A. abstractB. finalC. staticD. interface答案:A10. 下列哪个选项是Java中正确的多线程实现方式?A. 实现Runnable接口B. 继承Thread类C. 实现Callable接口D. all of the above答案:D11. 在Java中,下列哪个关键字用于定义一个静态方法?A. staticB. finalC. abstractD. synchronized答案:A12. 下列哪个选项是Java中正确的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D13. 在Java中,下列哪个关键字用于定义一个私有成员?A. privateB. protectedC. publicD. static答案:A14. 下列哪个选项是Java中正确的集合初始化方式?A. List<String> list = new ArrayList<>();B. List<String> list = new LinkedList<>();C. List<String> list = new HashMap<>();D. all of the above答案:A15. 在Java中,下列哪个关键字用于定义一个同步方法?A. synchronizedB. volatileC. transientD. strictfp答案:A16. 下列哪个选项是Java中正确的泛型声明方式?A. List list = new ArrayList<String>();B. List<String> list = new ArrayList();C. List<String> list = new ArrayList<String>();D. all of the above答案:B17. 在Java中,下列哪个关键字用于定义一个局部变量?A. finalB. staticC. transientD. volatile答案:A18. 下列哪个选项是Java中正确的异常类?A. ExceptionB. ErrorC. ThrowableD. all of the above答案:D19. 在Java中,下列哪个关键字用于定义一个常量?A. finalB. staticC. transientD. volatile答案:A20. 下列哪个选项是Java中正确的集合遍历方式?A. for loopB. while loopC. for-each loopD. all of the above答案:D。
java校招面试题目(3篇)
第1篇第一部分:基础知识1. Java基本概念(1)请解释Java中的面向对象编程(OOP)的特点。
解析:面向对象编程的特点包括封装、继承和多态。
封装是指将数据和对数据的操作封装在一个类中;继承是指允许一个类继承另一个类的属性和方法;多态是指同一个方法在不同对象上表现出不同的行为。
(2)简述Java中的四种访问控制符及其作用范围。
解析:Java中的四种访问控制符分别是public、protected、默认(不写)和private。
public可以访问任何类;protected可以在同一个包内和子类中访问;默认访问(不写)只能在同一个包内访问;private只能在类内部访问。
2. Java基本数据类型(1)请列出Java中的基本数据类型,并说明其特点和取值范围。
解析:Java中的基本数据类型包括byte、short、int、long、float、double、char和boolean。
byte和short为有符号整数类型,取值范围分别为-128到127和-32,768到32,767;int为基本整型,取值范围为-2,147,483,648到2,147,483,647;long为长整型,取值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807;float和double为浮点数类型,取值范围分别为-3.4E38到3.4E38和-1.8E308到1.8E308;char为字符类型,取值范围为0到65,535;boolean为布尔类型,取值为true或false。
(2)简述Java中的自动装箱和拆箱。
解析:自动装箱是指将基本数据类型自动转换为包装类型(如int自动转换为Integer);自动拆箱是指将包装类型自动转换为基本数据类型。
在装箱和拆箱过程中,如果数据类型不匹配,会抛出ClassCastException异常。
3. Java关键字(1)请解释Java中的关键字final、static和synchronized。
java集合框架(习题和答案及解析)
java 集合框架(习题)集合框架Key Point* Collection 接口、Set 接口、List 接口基本操作* List 接口及其实现类* Set 接口及其实现类* 迭代遍历* Hash 算法与hashCode 方法* Comparable 接口* Map 接口及其实现类* 遍历Map* 泛型练习1. 填空Collection 接口的特点是元素是对象;List 接口的特点是元素有(有|无)顺序,可以(可以|不可以)重复;Set 接口的特点是元素无(有|无)顺序,不可以(可以|不可以)重复;Map 接口的特点是元素是键值对,其中值可以重复,键不可以重复。
2. (List)有如下代码import java.util.*;public class TestList{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“World”);list.add(1, “Learn”);list.add(1, “Java”);printList(list);}public static void printList(List list){for(Object obj:list){String str=(String)obj;System.out.println(obj);}}}要求:1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容2) 写出程序执行的结果 Hello java Learn World3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和LinkedList 使用上有什么区别?实现上有什么区别?把实例化的语句改为new LinkedList();ArrayList 数组实现查询快增删慢LinkedList 链表实现查询慢增删快4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使用上有什么区别?实现上有什么区别?ArrayList是线程不同步的,轻量级的,线程不安全,速度快Vector是线程同步的,多线程访问比较安全,速度慢3. (List)写出下面程序的运行结果import java.util.*;public class TestList{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“World”);list.add(“Hello”);list.add(“Learn”);list.remove(“Hello”);list.remove(0);for(int i = 0; i<list.size(); i++){System.out.println(list.get(i));}}}HelloLearn4. (Set,List)import java.util.*;public class TestListSet{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“Learn”);list.add(“Hello”);list.add(“Welcome”);Set set = new HashSet();set.addAll(list);System.out.println(set.size());}}选择正确答案A.编译不通过B.编译通过,运行时异常C.编译运行都正常,//输出HashSet中不能放重复值D.编译运行都正常,输出45. (List)已知有一个Worker 类如下:public class Worker {private int age;private String name;private double salary;public Worker (){}public Worker (String name, int age, double salary){ = name;this.age = age;this.salary = salary;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public double getSalary(){return salary;}public void setSalary(double salary){this.salary = salary;}public void work(){System.out.println(name + “ work”);}}完成下面的要求1) 创建一个List,在List 中增加三个工人,基本信息如下:姓名年龄工资zhang3 18 3000li4 25 3500wang5 22 32002) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资33003) 删除wang5 的信息4) 利用for 循环遍历,打印List 中所有工人的信息5) 利用迭代遍历,对List 中所有的工人调用work 方法。
java程序设计试题及答案
java程序设计试题及答案一、选择题(每题2分,共20分)1. 在Java中,下列哪个关键字用于定义类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B4. 在Java中,下列哪个选项不是合法的变量名?A. _nameB. $nameC. nameD. 2name答案:D5. 下列哪个选项不是Java的访问修饰符?A. publicB. protectedC. privateD. static答案:D6. Java中,下列哪个选项不是集合框架的一部分?A. ListB. SetC. MapD. Stream答案:D7. 在Java中,下列哪个关键字用于定义接口?A. classB. structC. interfaceD. enum答案:C8. 下列哪个选项不是Java的异常处理关键字?A. tryB. catchC. throwD. implements答案:D9. 在Java中,下列哪个选项不是线程的生命周期状态?A. NewB. RunnableC. BlockedD. Dead答案:C10. 下列哪个选项不是Java的泛型类型?A. ListB. SetC. MapD. Object答案:D二、填空题(每题2分,共20分)1. Java中的“Hello World”程序需要继承________类。
答案:Object2. Java中,一个方法的返回类型是________。
答案:void3. 在Java中,________关键字用于定义包。
答案:package4. Java中,________关键字用于定义接口。
答案:interface5. Java中,________关键字用于实现多态。
java数据结构期末考试题及答案
java数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个类是实现了List接口的?A. ArrayListB. LinkedListC. HashSetD. TreeMap答案:A、B2. 以下哪个方法用于在ArrayList中添加元素?A. add(E e)B. put(E key, V value)C. insert(int index, E element)D. append(E element)答案:A3. 在Java中,哪个类实现了Map接口?A. ArrayListB. HashMapC. HashSetD. LinkedList答案:B4. 以下哪个排序算法的时间复杂度为O(nlogn)?A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B5. 在Java中,哪个类提供了优先队列的功能?A. PriorityQueueB. LinkedListC. StackD. TreeSet答案:A6. 在Java中,以下哪个方法用于删除LinkedList中的元素?A. remove(Object o)B. poll()C. pop()D. dequeue()答案:A、B7. 在Java中,以下哪个类实现了Set接口?A. ArrayListB. HashSetC. HashMapD. LinkedList答案:B8. 在Java中,哪个类提供了栈的功能?A. StackB. LinkedListC. PriorityQueueD. TreeSet答案:A9. 在Java中,以下哪个方法用于在HashMap中添加键值对?A. add(K key, V value)B. put(K key, V value)C. insert(K key, V value)D. append(K key, V value)答案:B10. 在Java中,以下哪个类实现了SortedSet接口?A. TreeSetB. HashSetC. LinkedHashSetD. ArrayList答案:A二、填空题(每题2分,共20分)1. 在Java中,______类实现了List接口,允许对元素进行索引访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17.对第2题中的WageItem 实体类有如下配置,其中空白处应填入的代码是( A)。
3.阅读下面的代码,要输出查询结果中第一条记录的用户名,正确的代码是(AD )。
String hql = "select u.uname, u.upass from TblUser u"; Query query = session.createQuery(hql);
A.Object[] arr = (Object[])query.list().iterator().next(); System.out.println(arr[0]); B.TblUser user = (TblUser)query.list().get(0); System.out.println(user.getUname()); C.String uname = (String)query.list().get(0).get(0); System.out.println(uname); D.String uname = (String)query.list().get(0)[0];
A.第一行中的命名参数“@status”应该是“:status” B.第二行createQuery 函数应该传入hql 作为参数 C.第三行命名参数名称“:status”应该是“status” D.第四行应该是“return query.list(hql);”
5.下面代码的执行效果是(C )。
String hql = "from TblStudent s order by s.score asc"; Query query = session.createQuery(hql); query.setFirstResult(0); query.setMaxResults(5); return query.list();
<key column="wi_wage_id" /> <one-to-many class="Wage" /> </set> D.<set name="wage">
<key column=" wi_wage_id" /> <many-to-one class="Wage" /> </set>
18.某系统中有如下代码片段,执行下面代码可能导致执行的SQL语句不包括(CD )。
11.下面不属于持久化的是( A)。
A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把
对象还原出来
B.把程序数据从数据库中读出来
C.从 XML 配置文件中读取程序的配置信息 D.把程序数据保存为文件
12.下面(A )不属于关系—对象映射的映射信息。 A.程序包名到数据库库名的映射 B.程序类名到数据库表名的映射 C.实体属性名到数据库表字段的映射 D.实体属性类型到数据库表字段类型的映射
19、在 hibernate 中, Customer.hbm.xml 文件如下: <set name="orderses" inverse="true" cascade="all" > <key> <column name="Customer_Id" /> </key> <one-to-many class="entity.Orders" /> </set> 关于 cascade 属性说法正确的是( B ) A.此属性不需要设置 B.不添加此属性,不能通过 Customer 对象进行级联操作 C.默认支持所有级联操作 D.默认只支持删除级联操作
20、下面关于 hibernate 核心接口说明错误的是( B ) A. Configuration 接口:配置 Hibernate,根据其启动 hibernate,创建 SessionFactory 对象 B. SessionFactory 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的, 避免多个线程共享同一个 session,是轻量级、一级缓存 C. Query 和 Criteria 接口:执行数据库的查询 D. Transaction 接口:管理事务
<!--配置wage 属性--> ______________________ </class>
A.<many-to-one name="wage" column="wi_wage_id" class="Wage" /> B.<one-to-many name="wage" column="wi_wage_id" class="Wage" /> C.<set name="wage">
A.配置文件配置有误 B.没有在配置文件中包含对映射文件的声明 C.映射文件配置有误 D.没有开启事务
15.下列属于多对一关系的是( AD)。 A.书和作者 B.商品种类和商品 C.用户和发布的出租信息
D.士兵和班长
16.下面是某系统中的两个实体类,依此可以得知(B )。
public class Wage{ //月工资实体类 private Long wid; private String empName; //雇员姓名 private String month; //月份 //Getter & Setter …… } public class WageItem{ //工资项 private Wage wage; private Long iid; private String itemName; //项目名称,如基本工资、职位津贴等 private String amount; //数额 //Getter & Setter …… }
13.下面(CD )不是 Hibernate 映射文件中包含的内容。 A.数据库连接信息 B.Hibernate 属性参数 C.主键生成策略 D.属性数据类型
14.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(D )。
public static void main(String[] args) { SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session session = sf.openSession(); Medal medal = new Medal(); medal.setOwner("Shen Baozhi"); medal.setSport("Table Tennis-Women's Singles"); medal.setType("Gold Medal"); session.save(user); session.close(); }
System.out.println(uname);
4.对下面代码中存在的错误,说法不正确的是( D)。
String hql = "from TblUser u where u.status = @status ";//<1> Query query = session.createQuery();//<2> query.setNamedParameter(":status","");//<3> return query.executeQuery(hql);//<4>
<set name="items" inverse="true"> <key column="wi_wage_id/> <one-to-many class="WageItem" /> </set> Wage wage = (Wage)session.get(Wage.class,1L); WageItem item = (WageItem)session.get(WageItem.class,1L); wage.getItems().remove(item); session.update(wage);
A.查询所有学生的平均分 B.查询得分大于平均分的学生的成绩 C.查询得分最高的学生 D.查询得分大于平均分的学生
7.以下(CD )利用了外联结查询。 A.立即加载 B.延迟加载 C.迫切左外联结查询 D.迫切右外联接查询
8.以下程序的打印结果是(C )。
Customer c1=(Customer)session.load(Customer.class,new Long(1)); Customer c2=(Customer)session.load(Customer.class,new Long(1)); System.out.println(c1==c2); session.close();
21. 以下属于 struts2 的控制器组件是:A A. Action B.ActionForm C.ActionServlet D.dispatchAction
22. 以下属于 struts2 的体系结构的是:(多选)AC A. struts2 控制器组件 B.struts2 配置文件 C.FilterDispathcer D.Action