第1讲 注释与注解

注释与注解单元测试

1、以下哪些不属于JAVA中可用的注释
    A、//
    B、/* */
    C、./** */
    D、#

2、JAVA注解用的符号是
    A、@
    B、#
    C、$
    D、%

3、修饰在方法上,表示被修饰的方法用来重写父类上的方法使用的注解是:
    A、@Override
    B、@Deprecated
    C、@SuppressWarings
    D、@Interface

4、表示被修饰的内容是不被推荐使用的注解是:
    A、@Override
    B、@Deprecated
    C、@SuppressWarings
    D、@Overload

5、用于抑制警告的注解是:
    A、@Override
    B、@Deprecated
    C、@SuppressWarings
    D、@Overload

6、生成HTML注释文档,用于显示方法参数用到的注释参数是
    A、@author
    B、@version
    C、@param
    D、@return

7、生成HTML注释文档,用于显示方法返回值相关内容用到的注释参数是
    A、@author
    B、@version
    C、@param
    D、@return

8、生成HTML形式的JAVA文档常用以下哪两种方式
    A、利用JAVADOC命令
    B、利用NETBEANS等IDE工具辅助工具
    C、直接编写HTML
    D、编写代码来生成

9、JAVA内置的注解有
    A、@Override
    B、@Deprecated
    C、@SuppressWarings
    D、@Overload

第2讲 泛型与集合类

泛型与集合类单元测试

1、泛型中,限定通配符<? extends T> 表示
    A、泛型类型必须是 T 的子类来设定泛型类型的上边界
    B、泛型类型必须是 T 的父类来设定类型的下边界
    C、可以用任意泛型类型来替代
    D、不可以用任何泛型类型来替代

2、实现下列哪个接口,可以启用比较功能
    A、Runnable接口
    B、Iterator接口
    C、Serializable接口
    D、Comparable接口

3、下列关于泛型的说法,错误的是
    A、泛型可以将类型作为参数进行传递
    B、使用泛型时,不能使用类型参数创建对象
    C、一个类只能接收一个泛型参数
    D、使用泛型时,不能在强制类型转换中使用类型参数

4、List接口的特点是哪项
    A、不允许重复元素,元素无顺序
    B、不允许重复元素,元素有顺序
    C、允许重复元素,元素有顺序
    D、允许重复元素,元素无顺序

5、表示键值对概念的接口是哪项
    A、Set
    B、List
    C、Collection
    D、Map

6、import java.util.*; public class Test { public static void main(String[] args) { List list=new ArrayList(); list.add("Hello "); list.add("World"); //insert code here System.out.print(o); } } 将哪一行插入注释下一行,将导致输出“Hello World"?
    A、for(Object o: list)
    B、for (Object o: list.iterator())
    C、for (Iterator o: list)
    D、for (Iterator o :list.iterator(); o.hasNext(); )

7、Set接口的特点是哪项
    A、不允许重复元素,元素有顺序
    B、允许重复元素,元素无顺序
    C、允许重复元素,元素有顺序
    D、不允许重复元素,元素无顺序

8、下列哪些项是泛型的优点? (选两项)
    A、不用向下强制类型转换
    B、代码容易编写
    C、类型安全
    D、运行速度快

9、下列关于java.util.Arrays中包含的函数,以下说法正确的是
    A、equals( ): 用来比较两个数组是否相等
    B、sort( ): 对数组进行排序
    C、fill( ): 用来将值填入到数组内
    D、binarySearch( ):在任意给定数组中寻找元素

第3章 JAVA新特性

Java新特性单元作业

1、请用lambda表达式改写下列使用匿名内部类实现Runnable接口的代码: new Thread(new Runnable() { @Override public void run() { System.out.println("Hello World!"); } }).start();

2、给定接口Formula如下: interface Formula { double calculate(int a); default double sqrt(int a){ return Math.sqrt(a); } }1. 编写实现Formula接口的类FormulaImpl,FormulaImpl类的calculate 方法中调用Formula接口默认的sqrt方法,返回。 2. 编写主函数,使用FormulaImpl类的对象,输出的值。

3、编写方法getLength,采用Optional类返回给定字符串的长度。如果给定字符串为null,则返回0。

4、给定List如下: List<String> words = new ArrayList<>(); words.add("hello"); words.add("welcome"); words.add("to"); words.add("my"); words.add("favourite"); words.add("school"); 利用流操作,实现: 1. 将所有元素的字母都变为大写,并输出。 2. 将所有元素按照字母逆序的方式进行排序,并输出。

第4章 网络编程

网络编程单元测试

1、对端口的概述,下列哪个是错误的?
    A、1个端口只能联系一个应用程序。
    B、端口号的值是可以任意的。
    C、0到1023的端口号是限制使用的。
    D、端口是应用程序的逻辑标识

2、当使用客户端套接字Socket创建对象时,需要指定( )。
    A、服务器IP地址和端口号。
    B、服务器端口号和文件名。
    C、服务器IP地址和文件名。
    D、服务器名称和文件名。

3、Java的网络编程中,用哪一个类来表示TCP协议的服务器Socket对象?
    A、Socket
    B、ServerSocket
    C、InputStream
    D、OutputStream

4、使用Socket套接字编程时,为了向对方发送数据,需要使用( )方法获取流对象。
    A、getLocalPort( )
    B、accept( )
    C、getOutputStream( )
    D、getInputStream( )

5、下面哪个类是UDP传输的数据包类( )。
    A、DatagramPacket
    B、DatagramSocket
    C、Data
    D、Object

6、UDP协议的特点包括()。
    A、是无连接的数据报服务。
    B、会出现分组丢失、重复、乱序。
    C、具有高可靠性。
    D、比TCP网络开销小。

7、TCP协议的特点包括()。
    A、是面向连接的流传输控制协议。
    B、不会出现丢失或乱序。
    C、无须等待对方的应答。
    D、具有高可靠性。

8、针对TCP协议而言,对于一个功能齐全的Scoket,其工作过程包括:
    A、创建Scoket。
    B、打开连接到Socket的输入/输出流。
    C、按照一定的协议对Socket进行读/写操作。
    D、关闭Socket。

第5章 Java EE概述

Java EE概述 单元测验

1、传统两层化模型的缺点不包括
    A、重用业务逻辑和界面逻辑困难。
    B、第一次部署时比较困难。
    C、可延展性不理想。
    D、客户端担当过多的角色而显得臃肿。

2、J2EE的技术规范不包括
    A、JDBC
    B、EJB
    C、JSP
    D、JVM

3、下列关于JSP 和 Java Servlet的说法,不正确的是
    A、JSP通常是大多数HTML代码中嵌入少量的Java代码。
    B、Servlet是一种小型的Java应用程序。
    C、Servlet是一种客户端的应用。
    D、Servlet提供的功能大多与JSP类似,不过实现的方式不同。

4、下列关于J2EE的说法,不正确的是
    A、J2EE使用多层的分布式应用模型,各个应用组件根据它们所在的层分布在不同机器上。
    B、J2EE是一个具体的产品。
    C、J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。
    D、J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

5、关于J2EE,J2SE与J2ME的区别,以下说法正确的是:
    A、J2SE是J2EE的扩展。
    B、J2EE提供了企业级分布式应用程序的API。
    C、J2SE主要面向桌面级应用程序开发。
    D、J2ME主要面向嵌入式应用程序开发。

6、J2EE的多层企业级应用模型包括
    A、运行在客户端机器上的客户层组件。
    B、运行在J2EE服务器上的Web层组件。
    C、运行在J2EE服务器上的业务逻辑层组件。
    D、运行在EIS服务器上的企业信息系统层软件。

第7章 会话技术

会话技术单元作业

1、编程实现一个简易购物车,参考初始界面如下: 在文本框中输入任意数值后,点击提交按钮,进入结算页面。参考界面如下: 点击链接,可以返回购物车界面继续购物。假设再次输入商品数量20后提交:

第9章 隐藏对象

隐藏对象单元作业

1、制作一个页面计数器,显示该页面累计被访问的次数。利用application对象属性存储访问次数,通过判断是否是一个新的会话来判断是否是一个新访问(即当刷新页面时,不增加计数)。提示:在JSP声明中,可以使用 ServletContext application = getServletContext(); 来获得application对象。

第10章 JAVABEAN技术

JAVABEAN技术单元作业

1、设计一个计算圆面积的JavaBean,使用一个JSP页面调用该JavaBean. 要求: 用表单输入圆的半径 使用JSP动作(jsp:setProperty)元素获得并处理表单参数,从而得到圆的面积。 使用JSP动作(jsp:getProperty)输出圆的半径和面积。

期末考试

《Java应用开发基础》线上课程期末考试

1、当每个JSP页面在第一次被访问时,JSP引擎将会把它翻译成一个( )
    A、applet
    B、application
    C、servlet源程序
    D、exe文件

2、当( )时,JSP引擎为该用户创建一个session对象。
    A、web应用服务器启动时
    B、web应用服务器启动后,只针对第一个来访用户
    C、一个客户首次访问一个网站中的一个JSP页面时
    D、用户在客户端每次向Web服务器提出请求时

3、test.jsp文件中有如下代码: <jsp:useBean id="info" scope="_____" class="bean.InfoBean"/> 要使info对象在Web Server关闭才会消失,下划线中应填入( )
    A、page
    B、request
    C、session
    D、application

4、在J2EE中,给定test.jsp 文件如下: <html> <% int a=2016; %> a: <%= a%> <% a++; %> </html> 当某一用户第二次访问该JSP页面时, 输出结果是( )
    A、a:2016
    B、a:2017
    C、a:0
    D、a:

5、在用户登陆的JSP页面上包含如下代码所示的表单: <form action = "loginCheck.jsp" name="loginForm" method="____"> 用户名:<input type="text" name="name"/><br> 密码:<input type="password" name="pwd"/> <input type="submit" value="登录"/> </form> 如果希望提交表单时在地址栏上不显示提交信息,则应该在下划线处填写 ( )
    A、get
    B、post
    C、any
    D、以上答案都正确

6、在JSP中,如果要导入java.util.* 包,应使用( )指令
    A、page
    B、taglib
    C、include
    D、forward

7、在一个JSP文件中,有表达式<%=1+2%>,运行时页面显示 ( )
    A、1+2
    B、3
    C、12
    D、编译错误

8、给定一个JSP程序源代码,如下: <jsp:forward page="result.jsp"> <jsp:param name="school" value="FAFU"/> </jsp:forward > 在result.jsp中,使用( )代码片段可以输出参数school的值
    A、<jsp:getParam name="school">
    B、<jsp:getParameter name="school">
    C、<%=request.getAttribute("school")%>
    D、<%=request.getParameter("school")%>

9、给定Cookie userName,下面哪句代码能向客户机添加一个Cookie对象 ( )
    A、response.setCookie(username);
    B、request.addCookie(username);
    C、response.addCookie(username);
    D、request.setAttribute("Cookie",userName);

10、能够修饰某个方法,同时表明被修饰的方法是用来重写父类上的方法而使用的注解是:
    A、@Override
    B、@Deprecated
    C、@SuppressWarings
    D、@FuncionalInterface

11、创建一个只能存放String的泛型ArrayList的语句是哪项?
    A、ArrayList<String> al=new ArrayList<>();
    B、ArrayList al=new ArrayList<>();
    C、ArrayList al=new ArrayList();
    D、ArrayList al=new List();

12、当使用客户端套接字Socket创建对象时,需要同时指定( )。
    A、服务器IP地址和端口号。
    B、服务器IP地址、端口号以及文件名。
    C、服务器IP地址和服务器名称。
    D、服务器名称和文件名。

13、在JSP页面中表单包含如下代码: <form name=”myform” action=”doPost.jsp”> <select name="book"> <option value="Web技术应用基础"> Web技术应用基础 </option> <option value="Java语言程序设计"> Java语言程序设计 </option> </select> <input name=”submit” type=”submit” value=”提交”> </form> 当表单提交后,在doPost.jsp中能够获取所提交表单数据的是 ( )
    A、request.getParameter(“book”);
    B、request.getParameter (“select”);
    C、response.getAttribute(“select”);
    D、response.getAttribute(“book”);

14、如果当前JSP页面出现异常时需要转到一个异常页,需要设置page指令的( )属性
    A、Exception
    B、isErrorPage
    C、ErrorPage
    D、error

15、以下类中,实现了Set接口的类是
    A、ArrayList
    B、HashTable
    C、HashSet
    D、Collection

16、在JSP中,要定义一个方法,需要用到以下()元素。
    A、<%= %>
    B、<% %>
    C、<%! %>
    D、<%@ %>

17、在J2EE中,以下不是JSP隐式对象的是()。
    A、pageContext
    B、cookie
    C、application
    D、out

18、在JSP中,可以使用()动作用于将请求转发给其他JSP页面。
    A、forward
    B、include
    C、useBean
    D、setProperty

19、Servlet中,可以使用()接口中定义的()方法来处理客户端发出的表单数据请求。
    A、HttpServlet doHead
    B、HttpServlet doPost
    C、ServletRequest init
    D、ServletRequest destroy

20、WEB应用中,常用的会话跟踪方法不包括( )。
    A、URL重写
    B、Cookie
    C、隐藏表单域
    D、有状态HTTP协议

21、给定代码段如下: new Thread(new Runnable() { @Override public void run() { System.out.println("I Love FAFU!"); } }).start(); 与上述代码可相互替换的有
    A、new Thread( () -> System.out.println(" I Love FAFU!") ).start();
    B、new Thread( () -> {System.out.println(" I Love FAFU!");} ).start();
    C、new Thread(System.out.println(" I Love FAFU!");).start();
    D、new Thread( -> System.out.println("I Love FAFU!");).start();

22、可以在下划线处插入,并且能够正确输出I love FAFU!的语句是( ) <html> <body> <% String str="FAFU!"; %> I love ______ </body> </html>
    A、str
    B、System.out.print(str);
    C、<%=str%>
    D、<% out.println(str); %>

23、下面关于Servlet说法中,正确的有( )
    A、一个Servlet是一个Java类
    B、Servlet是位于Web服务器内部的服务器端的Java应用程序
    C、Servlet必须由客户端的浏览器解释执行
    D、加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机

24、下列属于JSP指令的有( )
    A、include
    B、import
    C、page
    D、taglib

25、下面关于session对象的描述,正确的有( )
    A、session存活期是无限的
    B、session的创建和销毁是由服务器来控制的
    C、要想记录客户的连接信息,可以使用session对象
    D、只有当客户关闭浏览器或session对象达到了最大生存时间,该客户的session对象才被取消,这时服务器与客户的会话关系消失

26、Jsp: include动作标记和include指令标记包含文件的处理时间和方式不同。

27、response对象主要用于向客户端发送数据。

28、不能用一个page指令指定多个属性的取值。

29、Cookie保存在客户端,所以存在一定的安全隐患。

30、服务器启动后,新建一个application对象。该对象一旦建立,就一直保持到服务器关闭。

31、Set集合是通过键值对的方式来存储对象的。

32、集合中不能存放基本数据类型,而只能存放引用数据类型。

33、在“<%!”和“%>”标记之间声明的Java变量在整个页面内有效,不同的客户之间不共享。

34、JavaBean也是Java类,因此每个JavaBean必须有个主函数。

35、lambda表达式能够通过表达式来代替函数式接口,从而可以使用更少的代码来实现同样的功能。