一、选择题
1、以下文件名后缀中,只有( C )不是静态网页的后缀。
A、.html B、.htm C .JSP D、.shtml
2、以下文件名后缀中,只有( B )不是动态网页的后缀。
A、.jsp B、.html C、.aspx D、php
3、在page指令中,( C )属性是可以在页面中重复的属性。
A、language B、buffer C、import D、autoflush
4、JSP的结构由( B )组成(多选)。
A、指令 B、注释 C、脚本元素 D、操作
5、以下选项中,那一项不是JSP指令( B )。
A、page B、import C、include D、taglib
6、下面哪种数据类型是基本类型( D )。
A、class B、interface C、数组 D、char
7、下面哪种数据类型是引用类型( C )。
A、boolean B、int C、interface D、long
8、下面哪一个运算符具有3个操作数( D )。
A、* B、++ C、&& D、?:
9、下面那个运算符只有一个操作数( A )。
A、~ B、|| C、<< D、/
10、下面那个语句是条件语句( C )。
A、break语句 B、while语句 C、if语句 D、for语句
11、类中的成员默认的访问修饰符是( A )。
A、private B、protected C、public D、空
12、常量使用( C )进行修饰
A、private B、abstract C、final D、static
13、包含Servlet发回到客户端信息的ServletResponse对象是由( C )创建的。
A.客户端的浏览器
B.Web服务器的HTTP引擎
C.Web服务器的Servlet容器
D.Servlet对象
14、对于标准的Web网页,通常使用( B )表示响应信息是HTML格式的文本文件。
A.text/css B. text/html
C.application/vnd.ms-excel D. application/msword
15、下面哪个方法不属于session对象( D )
A、getAttributeNames() B、getservletContext()
C、invalidate() D、addCookie(Cookie cook)
16、下面哪个方法不属于request对象( B )
A、getServerName() B、getServerInfo()
C、getServletPath() D、getServerPort()
17、能够获取当前页信息并调用页面方法的对象是( B )
A、request B、page
C、PageContext D、session
18、以下操作中,( A )是与使用JavaBean无关的。
A、jsp:include B、jsp:useBean
C、jsp:setProperty D、jsp:getProperty
19、下面哪个不是jsp:setProperty操作的属性( D )。
A、name B、param C、property D、scope
20、以下方法中,哪一个方法不是HTTPServlet类的方法( B )。
A、doGet B、doService C、doPost D、doDelete
21、以下类中,哪一个类不是javax.servlet和javax.servlet.http包中提供的类或接口( B )。
A、Servlet B、BaseServlet
C、GenericServlet D、HTTPServlet
22、与JSP同类型的技术有( C )。
A.CGI B.C/C++ C.ASP D.C#
23、下面( D )不是JDK的开发包。
A.JavaSE B.JavaME C.JavaEE D.JavaBean
24、Tomcat的默认端口是( B )。
A.7001 B.8080 C.80 D.112
25、下面不是JSP本身以加载的基本类的是( A )。
A.java.lang.* B.java.io.*
C.javax.servlet.* D.javax.servlet.jsp*
26、对于预定义<%!预定义%>的说法错误的是( C )。
A.一次可以声明多个变量和方法,只要以分毫(;)结尾就行
B.一个声明仅在一个页面中有效
C.声明的变量将作为局部变量
D.在预定义中声明的变量将在JSP页面初始化时初始化
27、在JSP中使用 A.name B.property C.value D.以上皆不会出现 28、page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是 ( D )。 A.<%@ page %>作用于整个JSP页面 B.可以再一个页面中使用多个<% @page %>指令 C.为增强程序的可读性,建议将<% @page %>指令放在JSP文件的开头,但不是必须的 D.<% @page %>指令中的属性只能出现一次 29、不能再不同用户之间共享数据的方法是( A )。 A.通过Cookie B.利用文件系统 C.利用数据库 D.通过ServletContext对象 30、在JSP中调用JavaBean时不会用到的标记是( A )。 A. C. 31、下列属于JSP中注释的有( AD )(多项选择) A.<%--与--%> B./ C./** 与 **/ D. 32、page对象属于( C )类对象。 A.输入输出 B.作用域通信对象 C.Servlet D.错误 33、下列不是JSP作用域的通信对象的有( D )。 A.session B.application C.pageContext D.out 34、下列可以解决在JSP中的中文问题的方法有( ACDE )。(多项选择)。 A.在页面设置charset B.系统自动设置 C.利用过滤器对所有的请求进行转码 D.对request和response进行转码设置 E.在页面设置pageEncoding 35、下面( D )不是core标记库的条件处理标记。 A 36、下面( D )不是 A.basename B.var C.scope D.bundle 37、下面( B )标记是用来设置时区的。 A. C. 38、下列选项中,( C )是正确的并且客户端不能查看到的JSP注释。 A.<-- 注释-- > B. ______和___<%-- --%>_______ 4、JSP指令控制对整个页面的处理,目前有page、include和___taglib_____三种。 5、JSP页面由__HTML代码_____和嵌入其中的___Java代码_____所组成。 6、JSP技术就是__Java EE___技术中的一个组成部分。 7、Tomcat是JSP运行的__引擎____。 8、MyEclipse是__可视化____的开发工具。 9、JSP页面是由传统的页面HTML文件中加入__Java脚本片断__和_JSP标记_所构成的。 10、在JSP页面中,除了普通的HTML代码,还有以下3种:__脚本元素__、__指令__和__动作__重要的组成部分。 11、JSP指令(在__<%@__和__%>__之间)用来设置和整个JSP页面相关的属性。 12、在JSP文件中,可以在<%和%>标记间直接嵌入任何有效的__Java语言代码__。 13、JSP引擎管理JSP页面生命周期的两个阶段: __转换_____和___执行______。 14、在JSP页面中可以声明变量和方法,但是仅在__当前页面____内有效。 15、___JSP指令_____用来设置整个JSP页面相关的属性。 16、JSP页面可以通过__include指令______来包含其他文件。 17、jsp:forward动作用于从一个JSP文件向另一个文件传递一个包含用户请求的__request______对象。 18、Jsp:attribute动作主要有name和___trim_____两个属性。 19、request对象包含所有__请求___的信息,如___请求____的来源、标头、Cookies和____请求_____相关的参数值等。 20、pageContext对象可以获取当前页面的其他__JSP隐含对象______。 21、__ exception____对象可以输出错误信息。 22、 23、__ 24、<x:out>标记是通过__XPath_____技术(定位XML元素的一种技术)来实现的。 25、_fn:endsWith_____函数用来判断源字符串是否符合一连串特定词尾。 26、fn:toLowerCase函数允许将源字符串中的字符全部转换成___小写___字符。 27、JavaBean是描述(Java)的___软件组件_______模型。 28、JavaBean通过__java编译器_______可以得到正确的执行。 29、JavaBean类似于Microsoft的___COM_____组件。 30、JavaBean类必须有一个___没有参数______的构造函数。 31、__ 32、Servlet是运行在服务器端的____Java应用程序_____。 33、Servlet的生命周期分为3个时期: __装载Servlet__、__创建实例__和_销毁实例______。 34、___ServletRequest接口____定义一个Servlet引擎产生的对象,通过这个对象Servlet可以获得客户端请求的数据。 35、Cookie能够帮助Web服务器保存_访问者____的相关信息。 36、__状态支持机制_____必须允许服务器将状态信息发送到客户端,并保存这条信息会随请求一起返回到服务器。 37、JSP开发网站的两种模式分为__JSP+JavaBean___和__ JSP+Servlet+JavaBean ____。 38、_事务处理____模块包含应用程序在数据运算中使用的各种食物规则和操作方法。 39、采用__N层应用模式______可以将问题细化,可集中精力解决每个单独的层。 40、MVC是一种设计模式,它由___视图_____、___控制器______和___模型_______三部分组成。 41、____web.xml__________文件是Web应用的必备组件。 42、在Tomcat启动Web应用时,该应用中所有的JSP页面将被编译成____ Servlet类文件_____________。 43、每当传递请求或响应时调用Filter的____doFilter()__________方法。 44、维护用户会话的三种基本技术是URL重写技术、__ cookie技术___和隐藏表单域。 45、HTTP是一个____无状态___________协议。 46、在HTTP协议中,用于发送大量数据的方法是___POST_______。 47、在J2EE的Web层主要有两种技术方案:___Servlet___技术和__JSP___技术。 48、_Web_____页面和_ UI____屏幕是表示模块的典型例子。 49、一个典型的___关系数据库___通常由一个或多个被称作表格的对象组成,数据库中的所有数据或信息都保存在这些表格中。 50、__SQL语句______的主要功能就是同各种关系数据库建立连接并进行操作,它作为关系数据库管理系统的标准语言。 51、__JDBC______是用于Java应用程序连接数据库的标准方法,简单说就是用访问数据库的。 52、在加载Driver类时,它应该创建自己的实例并向__DriverManager____注册该实例。 53、数据库连接池的基本思想就是为数据库连接建立一个___缓冲池_____。 三、简答题 1、请简述JSP的执行过程 一个JSP页面的执行过程可以分为以下几个步骤: (1)浏览器客户端向JSP引擎发出对JSP页面的请求 2)JSP引擎将对应JSP页面转换成Java Servlet源代码 (3)JSP引擎编译Java Servlet源代码,生成.class文件 (4)JSP引擎加载运行对应的.class文件,生成响应的结果页面 (5) JSP引擎把响应的输出结果发送到浏览器客户端 2、简述 include指令的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。 3、JSP有哪些内置对象?作用分别是什么? request:用户端请求,此请求会包含来自get/post请求的参数 response:网页传回用户端的回应 pageContext:当前JSP页面的上下文信息 session:与请求有关的会话信息 application:服务器servlet上下文信息 out:用来传送回应的输出 config:表示JSP页面的servlet配置信息以及Web应用配置描述文件 page:JSP页面本身 exception:处理异常信息 4、简述Servlet和JSP的关系 JSP是以另外一种方式实现的Servlet, Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。因此,当编写的页面显示效果比较复杂时,首选是JSP,或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而在处理业务逻辑时,首选则是Servlet。同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。 5、简述JSP中的作用域的分类 (1)页作用域,只允许在所建的JSP页面中访问 (2)请求作用域,在相应的请求的生命周期内有效,就是说对象在创建它的页面内有效,以及请求被转发或被包含的页面内有效 (3)会话作用域,范围比请求作用域大,参与会话的所有页面都可以访问 (4)应用程序作用域,在Web应用程序活动期间,应用程序对象在应用的整个生命周期内都是有效的,特定的应用程序组件都可以访问这些对象 6、请简述Servlet的基本运行流程。 (1) 客户端(一般是Web浏览器)通过HTTP协议向Web服务器发送请求 (2)Web服务器接收该请求并将其发给Servlet。如果Servlet尚末被加载,Web服务器将把它加载到Java虚拟机并且执行它 (3) Servlet接收该HTTP请求并执行相应的处理 (4) Servlet向Web服务器返回应答 (5) Web服务器将从Servlet收到的应答发送给客户端 7、简述JavaBean具有哪些特征? (1) JavaBean类必须有一个没有参数的构造函数 (2) JavaBean内的属性都应定义为私有的 (3) 属性值通过getXxx和setXxx来操作 8、请写出7个JSP的动作并写出其作用? 《java程序设计》复习题(带答案) 第一部分 选择题(单选) 1. javac 是 java的 (B) A.解释器 B.编译器 C.小程序浏览器 D.调试器 2. appletviewer是java的 (C) A.解释器 B.编译器 C.小程序浏览器 D.调试器 3. 编译一个定义了三个类和三个方法的 java源码文件,总共会产生几个字节码文件,其扩展名是什么?(C) A.5个字节码文件,其扩展名是“.java” B.2个字节码文件,其扩展名是“.java” C.3个字节码文件,其扩展名是“.class” D.2个字节码文件,其扩展名是“.class” 4. java源码文件的名称与主类的名称(B) A.必须相同但不区分大小写 B.必须相同且区分大小写 C.必须不同 D.任意 5. 下面那些选项不能用做变量名的首字符(C) A.字母 B.下划线(_) C.数字 D.美元符号($) 6. 下面哪个不是java的原始数据类型?(B) A.short B.boolean C.Int D.Float 7.下面哪条语句不会出现编译警告或错误?(A) A.float f=1.3F; B.chat c =”a”; C.float f=1.3; D.boolean d=null; 8. 以下声明常量不正确的是(B) A.final int PI=3; B.final PI=3; C.static final int PI=3: D.public static final int PI=3; 9. java定义了4个整型数据类型:字节性(byte)短整型(short) 整型(int) 长整型(long),其中byte占用内存为(A) A.8bit B.16bit C.32 bit D.bit 10. 5%2.1的值是(D) A.1 B.0 C.0.8 D.不能通过编译 11. -11&3的值是(A) A.1 B.3 C.9 D.–11 12. 8<<2的值是(A) A.2 B.4 C.8 D.32 13 若有int a = 1, b= 2 , c = 3, d=4; 则表达式a>b?a:c>d?c:d的值是(D) A.1 B.2 C.3 D.4 14. 以下为合法类型转换的为(D) A.( int )”A” B.(char)”A” C.(boolean)(2-2) D.(char) (651/12) 15 下面哪条语句是正确的?(C) A.int a={1,2,3,4,5,}; B.int b=(1,2,3,4,5) C.int c[]={1,2,3,4,5} D.int []d={1,2,3,4,5} 16. 对于数组int a[];下面那条语句可以输出数据a的元素个数?D A.System.out.println(a.size); B.System,out.println(a.size()); C.System.out.println(a.length()); D.System.out.println(a.length); 17. 可以用作switch表达式的基本数据类型分别是(B) A.boolean B.byte C.float D.double 18. 下面的while语句退出时.i的值是(D) byte b=1; int i = 0 ; while(b++>0) i=i+1; A.126 B.0 C.127 D.出现死循环,i的值无穷大 19. 设J_Hello.java文件内容如下: class J_Hello{ static void main(String args[]){ System.out.println(“Hello!”); } } 下面说法正确的是(D) A.J_Hello.java无法通过编译 B.J_Hello.java可以通过编译,但运行时出现“Main method not public”提示信息 C.J_Hello.java可以通过编译,但无法运行,且无任何提示信息 D.J_Hello.java可以通过编译,可以正常运行,输出“Hello!” 20 下面哪个类声明是正确的(D) A.abstract final class car{} B.abstract private car(){} C.protected private car{} D.public abstract class car{}; 21. 下列(C)的说法是错误的。 A.Java 语言只允许单一继承 B.Java语言允许多个接口 C.Java语言不允许一个类派生多个子类 D.Java语言的单一继承使得代码更加可靠 22. 下述(A)说法是正确的 A.实例变量是类的成员变量 B.实例变量是用static关键字声明的 C.方法变量在方法执行时创建 D.方法变量在使用之前不用初始化 23. 使用继承的优点(A) A. 基类的大部分功能可以通过继承关系自动进入派生类 B.继承将基类的实现细节暴露给派生类 C. 基类实现出现问题,、就会影响到派生类 D.可在运行期决定是否选择继承代码,有足够的灵活性 24. 下列关于修饰符混用的说法,错误的是(A) A.abstract 不能与final并列修饰同一个类 B.abstract 类中不能有private的成员 C.abstract 方法必须在abstract类中 D.static方法中能处理非static的属性 25 对于下列代码: public class Parent {public int addValue(int a, int b) { int s; s=a+b; return s;} }A class Child extends Parent{…..} Child类中欲把Parent类中的addValue方法覆盖,下述什么方法可以加入类Child中?A A.private int addValue(int a,int b){….} B.public float addValue(int a,int b){….} C.public int addValue(int a,int b){….} D.public int addValue(int a,int b)throws MyException{….} 26 声明成员变量为临时变量(又称为过渡变量)所用的保留字是(C) A.final B.abstract C.transient D.temp 27. 声明公共变量所用的保留字是(A) A.public B.private C.protectede D.static 28 声明受保护变量所用的保留字是(C) A.public B.private C.protected D.static 29 设有下面的程序段 1.class StaticStuff 2.{ 3.static int x=10; 4.static {x+=5;} 5.public static void main(String args[]) 6.{ 7.System.out.println(“x=”+x); 8.} 9.static {x/=3;} 10.} 哪个说明是正确的() A.4行和9行不能通过编译,因为缺少方法名和返回类型 B.9行不能通过编译,因为只能有一个静态初始化器 C.编译通过,执行结果为:x=5; D.编译通过,执行结果为:x=3; 30 对于下述类定义哪个说法正确?(A) class MyString extends String{…..} A.可以成功编译 B.无法编译,因为没有main方法 C.无法编译,因为String 是抽象类 D.无法编译,因为String是final类 31 不能在Java派生类中被覆盖的方法是(C) A.构造函数 B.动态方法 C.final方法 D.抽象方法 32 关于方法覆盖,下面哪个说法是错误的(A) A.方法覆盖可以发生在任意类之间 B.覆盖方法与被覆盖的方法返回值类型相同 C.如果被覆盖的方法是用public 修饰的,覆盖方法也必须用public 修饰 D.覆盖方法不能抛出比被覆盖的方法更多的异常 33 下面哪个方法声明是正确的?B A.abstract final String abc(){} B.public abstract abc(){} C.private static void abc(){} D.public abstract static void abc(){} 34 编译以下代码,将出现什么情况?() abstract class Shape{ abstract void draw(); } class Square extends Shape{} A.Square类和Shape类都可以成功编译 B.Square类无法编译,但Shape可以编译 C.Shape类无法编译,但Square可以编译 D.Square类和Shape类都无法编译 35 关于Java的垃圾回收机制,下面那些结论是正确的?() A.程序可以任意指定释放内存的时间 B.正确的程序写法是不能依赖垃圾回收的时间或者顺序的 C.程序不能标识某个局部变量的引用不再被使用 D.程序可以显示地立即释放对象占有的内存 36 要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到,下面那些设计可以满足上述要求?() A.该成员域的封装属性设置为public B.该成员域的封装属性设置为private C.该成员域的封装属性设置为 protected D.该成员域不需要特殊的封装属性 37 接口的实现所用的关键字是() A.interface B.implements C.extends D.throws 38 在编写异常处理的 Java 程序中,每个catch语句块应该与什么语句块对应? A.if-else B.switch C.try D.throw 39 在编写Java Application程序时,若需要使用到标准输入、输出语句,必须在程序的开头写上什么语句? A.import java.awt.*; B.import java.applet.Applet; C.import java.io.*; D.import java.awt.Graphics; 40 下面哪个类最适合处理大数据量的文本文件? A.java.io.FileInputStream B.java.io.FileReader C.java.io.BufferedReader D.java.io.RandomAccessfile 41 以下什么类不属于字符流类? A.Reader B.FileReader C.BufferedInputStream D.StringReader 42 在设计java的数据流操作的程序中,必须加入什么语句? A. B. C. D. 43 以下哪个可能包含菜单条? A.Panel B.Frame C.Applet D.Dialog 44 以下代码完成画线功能,指出所画线的颜色 g.setColor(Color.red.green.yello.cyan); g.drowLine(0,0,100,100) A.red B.green C.yello D.cyan 45 Thread 类的什么方法实现线程的暂时停止操作? A.destroy() B.stop() C.sleep() D.suspend() 46 处理线程间通信等待和通知的方法是?() A.wait()和notify() B.start()和stop() C.run()和stop() D.wait()和 suspend() 47 在java中,开发图形用户界面的程序需要使用系统提供的类库,这个类库是() A.java.io B.java.awt C.java.applet D.java.event `48 applet 所在的页面被浏览和加载后,applet就诞生了,当浏览器切换到别的页面时,它的什么方法被调用?() A.init B.start C.stop D.destroy 49标签组件由什么类生成() A.Label B.Button C.Choice D.Checkbox 50 画矩形,使用什么方法? A.drawLing(x1,y1,x2,y2)] B.drawRect(x1,y1,w,h) C.drawOval(x1,y1,w,h) D.drawString(s,x1,y1) 第二部分 填空题 1.sun公司提供的Java开发工具包,用于台式机的开发工具包是__________ 2.Java程序可分为两种基本类型,它们是__________和__________ 3.Java虚拟机运行Java程序的基本步骤是:首先从后缀为__________的文件加载代码到内存中,接着在内存中__________代码的合法性及__________,然后__________执行安全和合法的代码 4.Java标识符是由__________、__________、__________组成的字符序列 5.Java字符(char)采用的是ISO规定的__________字符集 6.int类型数据在内存中占__________个二进制位 7.在Java语言中,字符串直接量是用__________括起来的字符序列 8.字符串不是字符数组,而是类__________的实例对象 9.在类中声明的变量叫__________, 可在__________中使用 10.在方法和方法块中声明的变量叫__________,其使用范围是__________ 11.byte或short或int类型数据与long类型数据混合运算时,其结果是__________类型 12.设x=2,则表达式(x++)/3的值是__________ 13.设x=5,y=10,则表达式x>y&&x++=y--的值是__________ 14.设有运算符!=、*、&&、>+、?:按优先级从高到低的排列顺序是__________ 15.表达式(3<5)^(6<4)的值是__________ 16.表达式(byte)(1200)的值是__________ 17.数组对象的长度在数组对象创建后,就__________改变 18.已知数组a的定义是“int a[]={1,2,3,4,5};”则这时a[2]的值是__________ 19.如有声明float a[][]=new float[3][4];则系统为该数组分配__________个字节的空间 20.对于数组int [][]t={(1,2,3,4),(5,6,7,8)};t.length等于__________,t[0].length等于__________ 21.swith语句中的case后面的常量可以是__________类型和__________类型 22.若有byte b=1;int I=0;while(++b>0) I=I+1;则while退出时I的值为__________ 23.面向对象的计算机语言一般应有3个基本特征,分别是__________、__________、__________。 24.如果一个Java Applet源程序文件只定义有一个类,其类名为MyApplet,则类MyApplet必须是__________类的子类 25.一个复杂的系统往往包含多个对象,这些对象间可能存在的关系有三种,它们是__________、__________、__________ 26.__________方法是一种仅有方法头,没有具体方法体个操作实现的方法,该方法必须在抽象类中定义 27.__________方法是不能被当前类的子类重新定义的 28.Java语言通过__________机制简化了程序的内存管理。 29.在Java中有两种多态,一种是使用方法的__________实现多态,另一种是使用方法的__________实现多态。 30.被protected修饰的变量称为__________,可被__________访问。 31.抽象方法是指__________的方法,抽象方法只能出现在__________中 32.在JAVA类的层次结构中,最顶端的类是__________,它在__________中定义,是所有类的始祖。 33.不能覆盖父类中的__________方法和__________方法。 34.创建子类对象实例时,系统可以自动调用父类的__________构造方法,初始化__________的数据。 35.对于父类中的构造方法,系统不能自动调用它们,只能通过在子类构造方法中使用关键字__________调用,其调用语句位置必须是__________ 36.创建一个名为MyPackage的语句是__________,该语句应该放在程序的位置为:__________ 37.Java提供的异常处理机制包括两个过程__________和__________ 38.在Java程序中,通过接口的定义可以实现__________重继承关系 39.顺序执行以下两条语句的输出结果是:______ String s=”沈阳市”; System.out.println(s.length()); 40.字符串分为两大类,一是字符串常量,使用__________类的对象表示;另一类是字符串变量,使用__________类的对象表示。 41.创建一个标识有“关闭”按钮的语句是__________ 42.Java的组件主要是在__________和__________中 43.线程创建后,可以在任何时刻调用__________、方法改变线程的优先级 44.调用__________方法可以停止线程的运行 45.Applet所在的页面被浏览和加载后,Applet就诞生了。当浏览器切换到别的页面时,它的__________方法被调用 46.标签组件由__________类生成。 47.画矩形的方法是__________ 48.关键字synchronized的作用是_________________________ 49.当线程对象被调度执行时自动调用__________方法 50.当线程对象被调度执行时自动调用__________方法 第三部分 回答问题 1、上机编译编写的源程序,使用什么命令进行编译?源程序文件的扩展名是什么?Java编译器产生的文件扩展名是什么? 2、上机解释执行编译好的程序,使用什么命令进行解释?Java解释器解释的文件的扩展名是什么? 3、简述Java语言的主要特点。 4、Java应用程序和Java小应用程序有何区别? 5、Java能跨操作系统平台运行的原理是什么 6、简述Java程序的框架结构 7、float和double型数据在赋值时有哪些注意事项? 8、float和double型数据在赋值时有哪些注意事项? 9、Java为什么把字符串定义为类?为什么定义了两个字符串类? 10、静态变量有何特点?如何存取静态变量? 11、静态方法有何特点?静态方法存取成员变量时有何要求? 12、什么是抽象类,抽象方法?他们有何特点? 13、类与对象有何关系?如何创建对象? 14、什么是类变量、成员变量、实例变量、局部变量? 15、什么是类的多态性?何为隐藏、覆盖、重载? 16、this和super有什么作用? 17、什么是构造方法?构造方法有何特点和作用? 18、设Object类派生出G类,G类派生出F类,F类派生出ME类 问: 1构造器的调用顺序是什么? 2如果父类的构造器重载了,可通过什么方法调用父类中某个指定的构造器? 3如果子类自己的构造器重载了,可通过什么方法在一个构造其中调用另一个构造器? 19、什么是标准输入输出方法?什么是标准输入输出设备?标准输入方法read在使用中应注意什么?它输入的数据是什么类型? 20、包有什么作用?Java系统提供了哪些常用包?如何使用包? 21、接口有什么作用?接口有哪些性质? 22、什么是异常?为什么进行异常处理?如何创建一个自定义异常?如何抛出自定义异常? 23、试述Java Applet的工作原理,其生命周期是如何划分的? 24、如何从HTML文件中向Applet传递参数?这些参数是如何被接收和处理的? 25、什么是Java数据流? 第四部分 写出下面程序的运行结果或完成的功能(以下各程序请自己商机通过,得出结果。) 1. public class sum{ double sum=0.0; for(int I=1;I<=100;I++) sum+=1.0/(double)I System.out.println(“sum=”+sum); } 2. public class J_Test{ int i =1,x=2; switch(x){ case 1: i ++; case 2: i --; case 3: ++ i;break; case 4:-- i;} System.out.println(i); } } 3. classQ1{ public static void main(String args[]){ double d=5.55; Dec dec = new Dec(); dec.decrement(d); System.out.print(d); } class Dec{ public void decrement(double decMe){ decMe=decMe-1; } } 4. 使用命令java abc Good Moning运行下面程序:问输出什么? Public class abc{ Public static void main(String args[]){ Charger c=new Charger(); c.method(args); System.out.print(args[0]+” ”+arg[1]); } } class Charger{ void method(String[] s){ String temp=s[0]; s[0]=s[1]; s[1]=temp; } } 5. 设有如下程序: public class J_Test9{ public static void main(String args[]){ int sum=0; for(int I=1;I<12;I++){ for(int j=1;j<4;j++){ sum+=j; if(I+j>s) break a;} } System.out.println(“sum=”+sum); } } 6. class J_Base { public void mb__method() { System.out.println(“Base”); } } class J_Test15 extends J_Base { public void mb_method() { System.out.println(“Test”); } public static void main(String args[]) { Object a=new J_Test15(); ((J_Base)a).mb_method(); } } 7. public class J_Test16 { static int m_data=0; public int mb_method() { m_data++; return m_data; } public static void main(String args[]) { J_Test16 a=new J_Test16(); J_Test16 b=new J_Test16(); J_Test16 c=new J_Test16(); a.mb_method(); b.mb_method(); c.mb_method(); int I=a.mb_method(); System.out.println(i); } } 8. public class J_Test17 { int m_I=2; String m_s=null; J_Test17() { m_I=2; m_s=”record”; } public static void main(String args[]) { J_Test17 app=new J_Test17(); System.out.println(app.m_I+app.m_s); } } 9. public class abc{ public static void main(String args[]){ SubClass sb=new SubClass(); System.out.println(sb.max()); } } class SubClass extends SuperClass{ int max(){return((a>b)?a:b); } } 10. class J_Base{ public int m_data=6; public void mb_print() { System.out.print(m_data); } } class J_SubClass extends J_Base{ public int m_data=3; public void mb_print(); { System.out.print(m_data); } } class J_Test{ public static void main(String args[]){ J_Base app=new J_SubClass(); app.mb_print(); System.out.println(app.m_data); } } 11. class Parent{ void printMe() {System.out.println(“parent”);} class Child extends Parent{ void printAll() { super.printMe(); this.printMe(); printMe(); } } 12. import java.awt.*; public class St{ public static void main(String args[]){ String forwards=new String(“I love fava”); String backwards=” ”; System.out.println(forwards); Int lastCharPos=(forwards.length()-1); Int i; for(I=lastCharPos;I>=0;I++) backwards+=forwards.charAt(i); System.out.println(backwards); } 13. class J_Base{ public int m_data=1; public String mb_method() {return “2”;} } class J_Test extends J_Base{ public int m_data=3; public String mb_method(){return “4”;} public static void main(String args[]){ J_Base app=new J_Test();System.out.println(app.m_Data+app.mb_Method());p } } 14. public class H1{ static int c; int a,b; public static void main(String[] s) { int a=1,b=2,c=3; H1 h1=new H1(); H1 h2=new H1(); h1.a=4; h2.a=5; System.out.println(a); System.out.println(b); System.out.println(h1.a); System.out.println(h2.a); System.out.println(c); System.out.println(H1.c); } } 15. abstract class V1{ abstract int abc(); } class E1 extends V1{ int abc() { return 1; } } class H1{ public static void main (String[] s){ E1 e1=new E1(); System.out.println(e1.abc()); } } 16. class H2{ void ex(int[] y){ for(int I=0;I } } class H1{ public static void main(String[] s){ int[] x={1,2,3,4}; for(int I=0;I System.out.println(); H2 h=new H2; h.ex(x); for(int I=0;I } } 17. class V1{ int a=1; } class E1 extends V1{ int b=2,c; void m1(){ c=a+b; System.out.println(c); } } class H1{ public static void main(String[] s) { E1.e1=new E1 (); E1.ma (); } } 18. class V1{ int a=1; } class E1 extends V1{ int a=30,b=20,c; void m1() { c=a+b; System.out.println(c); } } class H1{ public static void main(String[] s) { E1 e1=new E1(); e1.m1(); } } 19. class V1{ int a=1; void m1 () { System.out.println(“E1.m2”); } } class H1{ public static void main(String[] s) { E1.e1=new E1(); E1.m1(); E1.m2(); } } 20. class V1{ V1 () { System.out.println(“V1”); } } class V2 extends V1 { V2 () { System.out.println(“V2”); } } class V3 extends V2 { V3 () { System.out.println(“V3”); } } class H1 { public static void main(String[] s) { V3 e1=new V3 (); } } 第五部分 程序设计 1. 编写一个字符界面的java Application程序,输出1~9中除6以外所有偶数的平方值(即2、4、8的平方值)。 注:要求使用循环 2. 编写一个字符界面的java Application程序,使用你熟悉的方法对数组 a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。 3. 编写一个字符界面的java Application程序,输出所有的水仙花数。 注:水仙花数是一个3位数,它的各位数字的立方和等于这个3位数自身,如:153=12+53+33 则153是水仙花数。 4. 编写一个字符界面的java Application程序,输出Fibonacci序列的前20项。 注:Fibonaci序列定义如下: 第1个数为0 第2个数为1 从第3个数开始,每个数是前两个数之和。 如:0 1 1 2 3 5 8 13…… 5. 设有如下类定义: public class Array{ static int a[]=new int[5]; int n=5; 1添加构造方法。对数组元素初始化 2设计一个对数组a中各元素求和的方法sum,添加到类Array中 6. 创建一个Fraction类执行分数运算,要求如下: ①用整型数表示类的private成员变量:f1和f2。 ②提供构造方法,将分子存入f1,分母存入f2。 ③提供两个分数相加的运算方法,结果的分子存入f1,结果的分母存入f2。 ④编写主控程序,实现分数相加运算。 7. 设类Rectangle定义如下: public class Rectangle{ static int width,height; } 在类Rectangle中添加两个方法,方法girth计算矩形周长,方法计算矩形area面积。 8. 编写一个日期类Date,要求: ①日期类Date属性有: year (int 型,代表年)、month (int 型 代表月)、day (int 型,代表日) ②日期类 Date 的方法有: Date():构造函数,日期默认初值为2000年1月1日。 Date(int y,int m,int d);构造函数 y、m、d 分别代表年,月,日。 Int Getyear():获取日期的年份作为方法的返回值。 Int GetMonth():获取日期的月份作为方法的返回值。 Int GetDay ():获取日期的日作为方法的返回值。 Void ShowDate();以”****年**月**日”的形式显示一个日期,如:2001年8月13日。 9. 编写程序,完成文件复制功能。 10. 设计一个Applet小程序,使其可以进行简单的加法运算。下载本文