ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:24.04KB ,
资源ID:7626834      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7626834.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(夏Java程序设计复习资料1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

夏Java程序设计复习资料1.docx

1、夏Java程序设计复习资料1一、单项选择题1.关于Java选择结构下列哪个说法正确?( B )A. if语句和else语句必须成对出现B. if语句可以没有else语句C. switch结构中每个case语句中必须用break语句D. switch结构中必须有default语句2.while循环和dowhile循环的区别是:( D )A. 没有区别,这两个结构任何情况下效果一样B. while循环比dowhile循环执行效率高C. while循环是先循环后判断,所以循环体至少被执行一次D. dowhile循环是先循环后判断,所以循环体至少被执行一次3.下列说法哪个是正确的?( C )A. 程序

2、执行到break语句时一定会结束所有的循环B. 程序执行到continue语句时会结束当前循环C. break语句和continue语句都可以和标签协同使用D. continue语句和break语句的作用相同4.方法内的变量:( B )A. 一定在方法内所在有位置可见B. 可能在方法内的局部可见C. 可以在方法外可见D. 方法外也可用5.void的含义:( B ) A. 方法体为空 B. 方法没有返回值 C. 没有意义 D. 定义方法时必须使用6.throws的作用:( C ) A. 没有意义 B. 表示后面是方法的输出值C. 表示方法可能会抛出例外D. 方法的标志,每个方法都必须有7.下列说

3、法哪个正确?( D )A. 不需要定义类,就能创建对象B. 对象中必须有属性和方法C. 属性必须是简单变量D. 属性可以是简单变量,也可以是一个对象8.下列说法哪个正确?( A )A. 一个程序可以包含多个源文件B. 一个源文件中只能有一个类C. 一个源文件中可以有多个公共类D. 一个源文件只能供一个程序使用9.被声明为private,protected及public的类成员,在类外部:( B )A. 只能访问声明为public的成员E. 只可能访问到声明为protected和public的成员B. 都可以访问C. 都不能访问2 去取610.抽象方法:( C )A. 可以有方法体B. 可以出现

4、在非抽象类中C. 是没有方法体的方法D. 抽象类中的方法都是抽象方法11.关于类中类的说法哪个正确?( D )A. 类中类不能使用上层类的私有属性和方法B. 类中类可以广泛使用,不受任何限制C. 类中类可以单独编译D. 类中类可以使用上层类的私有属性和方法12.下列说法哪个正确?( B )A. Java中允许一个子类有多个父类B. 某个类是一个类的子类,它仍有可能成为另一个类的父类C. 一个父类只能有一个子类D. 继承关系最多不能超来4层13.在调用构造函数时:( C )A. 子类可以不加定义就使用父类的所有构造函数B. 不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函数C. 先

5、调用父类的构造函数D. 先调用形参多的构造函数14.this和super:( C )A. 都可以在main()方法中B. 都是指一个内存地址C. 不能用在main()方法中D. 意义相同15.关于抽象类哪个正确?( B )A. 抽象类中不可以有非抽象方法B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法C. 绝对不能用抽象类去创建对象D. 接囗和抽象类是同一回事16.如果一个程序段中有多个catch,程序会:( C )A. 每个catch都执行一次B. 把每个符合条件的catch都执行一次C. 找到适合的例外类型后就不再执行其他catchD. 找到适合的例外类型后继续执行后

6、面的catch17.下面关于例外控制器排序说法正确的是:( B )A. 应先捕捉父类例外,再捕捉子类例外B. 应先捕捉子类例外,再捕捉父类例外C. 有继承关系的例外不能在同一try块的控制器中使用D. 如果先匹配到父类例外,后面的子类例外仍然可以被匹配到18.下列关于finally说法正确的是:( C )A. finally语句应该放在所有例外控制器的最前面B. 如果程序在前面的例外控制器中匹配了合适例外,就不再执行finally语句了C. 无论程序是否找到合适的例外控制器,都会去执行finally语句如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句了19.如果

7、程序逻辑要求在很多情况下输出一个固定的提示信息,下列说法正确的是:( A )A. 使用String和StringBuffer都可以B. 使用String和StringBuffer,程序的执行效率一样C. 使用StringBuffer效率比较高D. 以上都不对20.Vector类对象中的元素可以是:( C )A. int型整数 B. 浮点数C. 对象 D. 属性21.如果程序逻辑要求对集合中的元素需要经常进行查找定位,应该使用哪些组件来实现?( B ) A. Vector B. Hashtable C. Iterator D. Map22.Character流与Byte流的区别在于:( A )A

8、. 每次读入的字节数不同B. 前者带有缓冲,后者没有C. 前者是块读写,后者是字节读写D. 二者没有区别,可以互相使用23.为了实现多线程程序中线程间通讯,需要使用的流是:( B )A. File streamB. Piped streamC. Random access streamD. Filter stream24.用最简单的代码输出某个文件内容,最好采用:( A )A. File streamB. Piped streamC. Random access streamD. Filter stream25.下列属于图形用户界面元素的有:( C ) A. Applet B. 窗口 C. 按

9、钮 C. 线程26.每个作用Swing组件的程序都必须至少有一个:( B ) A. 按钮 B. 顶层容器 C. 标签 D. 菜单27.监听事件和处理事件:( B )A. 都由Listener完成B. 都由在相应事件Listener处登记过的组件完成C. 由Listener和组件分别完成D. 由Listener和窗口分别完成28.进程是指:( B ) A. 一段程序 B. 正在运行的程序 C. 一个.java文件 D. 一个.class文件29.在JSP中引用其他Java包,应该使用指令:( C ) A import B. include C. page D. package30.关于forwa

10、rd动作的说法正确的有:( C )A. forward动作跳转到的页面执行完毕后,程序将返回到原来的页面B. 无论跳转到什么页面都可以传递参数过去C. forward以下的代码将不能执行D. 不能直接利用forward动作本身向跳转的页面传递参数31.下列说法正确的是:( A )A. 只要.class文件放在同一个目录下,引用其他类不需要做任何说明B. 要引用同目录下的其他.class文件,必须在classpath变量中设置该路径C. 在一个类中引用其他自定义类,必须将两个类定义放在一个.java文件中D. 引用不同目录下的类,只要在classpath变量中设置好该路径即可32.通过如下语句定

11、义的StringBuffer,其length()方法与capacity()方法的返回值分别为:( B )StringBuffer greeting=new StringBuffer(50);String a=”Happy new Year”;greeting.append(a); A. 15,15 B. 15,50 C. 50,15 D. 50,5033.BitSot的最小长度是:( D ) A. 8位 B. 16位 C. 32位 D. 64位34.如果要读取一个大文件的末尾的一段内容,并且知道该段落的确切位置,最方便的流是:( C ) A. File stream B. Piped stre

12、am C. Random access stream D. Filter streamPartial Answers:20.C 21.B 22.A 23.B 24.A 25.C 26.B 27.B 28.B 29.C 30.C 31.A 32.B 33.D 34.C二、多项选择题1.面向过程程序设计的核心是:( C D ) A. 商业逻辑 B. 客观实体 C. 算法 D. 要解决的问题2.符合对象和类关系的是:( C D ) A. 人和老虎 B. 书和汽车 C. 楼和建筑物 D. 汽车和交通工具3.下列哪些是指线程的状态?( A B C ) A. Runnable B. Dead C. new

13、 Thread D. Non Runnable4.网络应用的3层结构指哪些层?( A C D ) A. Web层 B. 用户层 C. 业务层 D. 数据层5.J2EE组件有:( A B D ) A. Servlet B. Java Beans C. AWT D. EJB6.记录页面访问历史事件可以使用的方法有:( A B ) A. 使用cookie B. 改写URL C. 使用session D. 使用表单隐藏Partial Answers:3.A、B、C 4.A、C、D 5.A、B、D 6.A、B三、试说出以下程序的功能:class Account1 private String name;

14、 private int value; void put(int i) value = value + i; int get(int i) if (valuei) value = value - i; else i = value; value = 0; return i; int howmatch() return value; class Save2 extends Thread private Account1 a1; private int amount; public Save2(Account1 a1,int amount) this.a1 = a1; this.amount =

15、amount; public void run() synchronized (a1) int k = a1.howmatch(); try sleep(1); catch(InterruptedException e) System.out.println(e); a1.put(amount); System.out.println(现有+k+, 存入+amount+, 余额+a1.howmatch(); public static void main (String args) Account1 a1 = new Account1(); (new Save2(a1,100).start()

16、; (new Save2(a1,200).start(); (new Fetch2(a1,500).start(); class Fetch2 extends Thread private Account1 a1; private int amount; public Fetch2(Account1 a1,int amount) this.a1 = a1 ; this.amount = amount; public void run() synchronized (a1) int k = a1.howmatch(); try sleep(1); catch(InterruptedExcepti

17、on e) System.out.println(e); System.out.println(现有+k+, 取走+a1.get(amount)+ , 余额+a1.howmatch(); 四、本程序为银行账户的存取款线程设计,通过synchronized互斥锁实现存取款的同步。程序中包含三个类,银行账户类Account,存款线程类Save2和取款线程类Fectch2. 在主函数中先创建一个新账户a1,并创建三个线程,分别调用函数start()使线程处于可运行状态,该函数再调用run()函数使线程处于运行状态,由于账户对象a1用synchronized修饰,故账户a1在任一时刻只能有一个线程访问

18、。这样实现多个存取款线程的同步,保证账户金额的一致性。输出结果:现有0, 存入100, 余额100现有100, 存入200, 余额300现有300, 取走300, 余额0 四、编程题有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串plain的话,服务器仅将hello字符串返回给用户。否则将用户的话追加到当前目录的文本文件 Memo.txt中(路径为Memo.txt),并向用户返回OK。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数 据不一致。Server的程序如下文件Server.java:

19、public class Serverpublic static void main(String args)MemoController memoController = new MemoController();tryServerSocket ss = new ServerSocket(1999);while (true)Socket s = ss.accept();tryUserThread t = new UserThread(s, memoController);t.start();catch(Exception e)e.printStackTrace();catch(Excepti

20、on e) e.printStackTrace();finally memoController.close();类UserThread程序如下: 文件UserThread.java:public class UserThread extends Thread Socket s;MemoController memo;public UserThread (Socket s, MemoController memo)this.s = s;this.memo = memo;public void run()try BufferedReader br = new BufferedReader(new

21、 InputStreamReader(s.getInputStream(); PrintWriter pw = new PrintWriter(newOutputStreamWriter(s.getOutputStream();String req = br.readLine();if (req.equals(plain)pw.println(hello);elsememo.append(req);pw.println(OK);pw.flush();pw.close();br.close();s.close();catch(Exception e)e.printStackTrace();请根据

22、题目的要求和现有的Server.java, UserThread.java的程序完成类MemoController.java的程序。Reference Answer:import java.io.*;public class MemoControllerFileOutputStream fos;OutputStreamWriter osw;BufferedWriter bw;public MemoController()tryfos=new FileOutputStream(memo.txt,true); osw=new OutputStreamWriter(fos);bw=new Buffe

23、redWriter(osw);catch(FileNotFoundException e);public synchronized void append(String s)trybw.write(s,0,s.length(); bw.flush();bw.close();osw.close();fos.close();catch(IOException e)public static void main(String args)MemoController mmc=new MemoController();mmc.append(I am xubin );五、详述出以下程序的功能:import

24、 java.sql.*;import javax.swing.*;class jdbcExample1 public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url =jdbc:odbc:studyDSN; String login = sa; String password =; Connection conn = DriverManager.getConnection(url,login,password); Statement statement =conn

25、.createStatement(); String sqlQuery=select * from course; ResultSet rs= statement.executeQuery(sqlQuery); while(rs.next() System.out.print(rs.getString(1)+ ,); System.out.print(rs.getString(2)+,); System.out.println(rs.getInt(3); statement.close(); conn.close(); catch ( SQLException sqlException ) J

26、OptionPane.showMessageDialog( null, sqlException.getMessage(), Database Error, JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); catch ( ClassNotFoundException classNotFound ) JOptionPane.showMessageDialog( null, classNotFound.getMessage(), Driver Not Found, JOptionPane.ERROR_MESSAGE ); System.exit( 1

27、); 五、class jdbcExample1通过JDBC存取studyDSN数据库中的表course,输出所以字段的值。同时说明java应用程序通过jdbc存取数据库时应遵循的五个步骤:(注意其在程序中的相应位置)1.加载JDBC驱动程序2.建立数据库连接3.建立SQL语句对象,执行查询4.处理结果集5.关闭数据库连接六、试说出以下程序的功能:shuben289/WageCalculator application/by Yongjie Wangimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java

28、.text.*;public class WageCalculator extends JFrame / JLabel and JTextField for hours private JLabel hoursJLabel; private JTextField hoursJTextField; / JLabel and JTextField for overtime worked in a week private JLabel overtimeJLabel; private JTextField overtimeJTextField; / JLabel and JTextField for gross wages private JLabel grossWagesJLabel; private JTextField grossWagesJTextField; / ButtonGroup to control

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1