《Java程序设计课程习题集.doc》由会员分享,可在线阅读,更多相关《Java程序设计课程习题集.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、007 -习题集Java程序设计课程习题集第1章 Java语言概述1、Java源程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名有什么规定?2、应用程序和小应用程序的主要区别是什么?3、开发与运行应用程序需要经过哪些主要步骤和过程?4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?5、Java语言特点是什么?6、分别用JDK、GEL和Eclipse编写能输出“Hello World!”的Java应用程序。第2章 数据类型及其运算1. 试分析基本数据类型和引用数据类型的基本特点?2. 请使用异或运算符, 实现两个整数的交换。3. 编程
2、序,显示螺旋方阵: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 74. 下列哪个是合法的标识符:( )。A、a=bB、_HelloC、2ndD、Chong qing 5. 下列哪些是合法的标识符()。 A、newB、classC、intD、const2 6. 如果定义有变量double d1, d2=4.0则下列说法正确的是:A、变量d1,d2均初始化为4.0B、变量d1没有初始化,d2初始化为4.0C、变量d1,d2均未初始化D、变量d2没有初始化,d1初始化为4.07. 判断题:所有的变量在使用前都必须进行初始化。( )8. 内部数据类型byte的取值范围是:
3、( ) A、065, 535B、(-128)127C、(-32,768)32,767D、(-256)2559. 下列哪些是不能通过编译的语句:( ) A、int i = 32;B、float f = 45.0;C、double d = 45.0;D、char a=c;10. 判断题:Java中数据类型的长度与具体使用的机器相关。( )11. 如果定义有double x;float y;int m,则表达式x*y-m的类型为( ):A、doubleB、floatC、intD、short12. 如果定义有short s;byte b;char c,则表达式s*b+c的类型为( ):A、charB、
4、shortC、intD、byte13. 已知int i= ; +i; 则i的值等于多少( ) A - B C 14. 已知byte i= 127; +i; 则i的值等于多少( ) A -128 B 127 C 12815. 已知byte i= 127; i=i+1;这两行语句能否编译成功?( )16. 执行以下程序段int a=5,b; b=+a*3后b的值为:( )A、17B、18C、16D、1517. 如果x=3,y=5,则表达式x|y的值为:( )A、15B、8C、1D、718. 如果int a=3,b=2,则执行a*=b+8后a的值为:( )A、20B、14C、30D、16 19. 若
5、所用变量都已正确定义,以下选项中,非法的表达式是:( )A、a!=4|b=1B、a%3C、a=1/2D、A+3220. 设有定义语句int a=1,1,2; 则以下对此语句的叙述错误的是( )。 A、定义了一个名为a的一维数组 B、a数组有3个元素 C、a数组的下标为13 D、数组中的每个元素是整型21. 以下数组初始化形式正确的是:( ) A、int t1=1,2,3,4,5,6 B、int t2=1,2,3,4,5,6 C、int t332=1,2,3,4,5,6 D、int t4;t4=1,2,3,4,5,6第3章 程序控制语句1 编写一个程序求1!+2!+10!;2 如果有两个日期值,
6、计算它们相距的天数。3 怎样定义和使用多维数组。4 编程序输出下列图形。 * *5 编程验证歌德巴赫猜想,任何大于6的偶数可以表示为两素数之和,如10=3+7。6 请写出下面程序的执行结果int i = 9;switch (i) default:System.out.println(default);case 0:System.out.println(zero);break;case 1:System.out.println(one);case 2:System.out.println(two);7 请写出下面程序段的执行结果 one: for (int i = 0; i 3; i+) two
7、: for (int j = 10; j 2) continue one; 第4章 Java面向对象程序设计基础1、什么是类?什么是对象?对象和类是什么关系?2、什么是方法?结构方法和一般方法有什么区别?设计方法应考虑哪些因素?3、为什么要将类进行封装,封装的原则是什么?4、创建一个有两个方法的类,要求其中第一个方法两次调用第二个方法,第一次不使用this,第二个使用this。5、要求设计一个矩形类Rectangle,要求实现构造方法的多态。并利用这些构造方法实例化不同的对象,并输出相应的信息。6、计算出Fibinacii 序列的前n项,n的值要求从命令行输入。Fibinacii 序列的前两项
8、是1,后续每项的值都是该项的前两项之和。即 F(n)=F(n-1)+F(n-2) F(1)=F(2)=1;第5章 面向对象高级程序设计1、 什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?2、“子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目”,这种说法是否正确?为什么?3、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?4、什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?5、父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?6、一个类如何实现接口?实
9、现某接口的类是否一定要重载该接口中的所有抽象方法?7、编写求解几何图形(如直线、三角形,矩型,圆,多边型)的周长,面积的应用程序,要求用到继承和接口等技术。8、编写求解一元多次方程(如一元一次,一元二次,一元高次方程)的解。第6章 字符串处理1、找出以下代码有错误的部分 public int searchAccount(int number25) number =new int15; for(int i=0;inumber.length;i+) numberi=numberi-1+numberi+1; return number;2、将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字
10、母.3、求若干个数的平均数,若干个数从键盘输入.4、将一个字符串数组按字典序重新排列.5、编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数.6、编写应用程序,实现字符串“DotsawIwasTod”的倒转。7、找出两个字符串中所有共同的字符。第7章 Java标准类库1. 编写一个程序,用Map实现学生成绩单的存储和查询,并且对成绩进行排序存储到TreeSet中,求出平均成绩,最大值,最小值。2. 给定一个整数-,输出他的2进值,8进制和16进制表示形式。3. 编写一个程序,检查当前系统的Java版本,和类路径。4. 编程Java程序,在其中调用外部程序“cmd”,并显示其输出结
11、果。5. 请使用java.text.SimpleDateFormat类对日期进行格式化,形式如:2005年8月10日6. 编写一个形如下图的日历程序 2005年8月 日 一 二 三 四 五 六 * 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31第8章 Java异常处理1、什么是异常?简述Java的异常处理机制。2、系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?3、在java的异常处理机制中,try程序块、catch程序块和finally程序块各起到什么作用?4
12、、编写从键盘读入5个字符放入一个字符数组,并在屏幕上显示它们的程序。请在程序中处理数组越界的异常.5、编写Java Aplication,要求从命令行以参数形式读入两个数据,计算它们的和,然后将和输出。编程自定义例外OnlyOneException与NoOprandException。如果参数的数目不足,显示相应提示信息并退出程序的执行。第9章 输入输出处理1. 简述用那几种方法可以对文件进行读写。2. 使用File类列出某一个目录下创建日期晚于2005-8-12的文件。3. 使用File类创建一个多层目录D:javamy Program。4. 能否将一个对象写入一个随机访问文件。5. 从字节
13、流到字符流的转化过程中,有什么注意事项。6. 读取一个Java源程序,找出其中使用到的关键字,并统计其个数。第10章 线程1、将窗口分为上下两个区,分别运行两个线程,一个在上面的区域中显示由右向左游动的字符串,另一个在下面的区域从左向右游动的字符串.2、简述程序、进程和线程之间的关系。什么是多线程程序?3、线程有哪5个基本状态?它们之间如何转化?简述线程的生命周期。4、什么是线程调度?Java的线程调度采用什么策略?5、Runnable接口中包括哪些抽象方法?Thread类有哪些主要的成员变量和方法?6、如何在Java程序中实现多线程?试简述使用Thread子类和实现Runnable接口两种方
14、法的异同。7、利用多线程技术编写Applet程序,其中包含一个滚动的字符串。字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。第11章 GUI程序设计1、JApplet与Applet有何异同?JApplet使用什么缺省布局策略?如何在 JApplet中加入SwingGUI组件?2、编写一个JApplet程序,包含一个JLabel对象,并显示你的姓名。3、JButton与Button有何不同?编写一个图形界面的Application程序,包含一个带图标的JButton对象。当用户单击这个按钮时,Application程序把其Erame的标题修改为“单击按钮
15、”。4、 在3题的基础上修改程序,使得按下按钮和鼠标经过按钮时,其图标有不同的效果。5、为4题中的按钮加入提示信息change。6、 JSlider与Scrollbar有何不同?编写Applet程序,包含3个JSlider和一个 JLabel对象。3个滚动条分别用来调整红、绿、蓝3种颜色的比例,每个JSlider标注0 255的标尺刻度(可以自由确定刻度间隔)。当用户拖动滑块修改3色比例时,相应修改 JLabel的背景色。7 、JPasswordField是谁的子类?它有什么特点?编写JApplet程序接受并验证用户输入的账号和密码,一共提供3次录入机会。8、JTabbedPane与使用Car
16、dLayout的容器有何不同?编写一个JApplet程序包含一个JTabbedPane,验证其使用方法。第12章 Java Applet1、init()方法在applet中起什么作用?2、applet在安全性方面实行了哪些限制? 3、java applet生命周期包括哪几个阶段?4、java applet是怎样嵌入html文件中的?在html文件中至少有哪些说明?5、applet中的主要方法是哪几个?6、applet和application有何区别?是否可以将applet改写成application程序?第13章 JDBC1、简述JDBC的几种不同数据库连接方法。2JDBC访问数据库的基本流程
17、是什么?3Statement对象和PreparedStatement对象的区别是什么?4用JDBC完成以下编程:设有如下数据库模式:Product(maker,model),PC(model,speed,ram,hd, price)。其中,每个字段的类型和含义如下: 表Product字段名类型描述makerVarchar(20)生产厂家的代码modelNumber(4)产品的型号(primary key)表PC 字段名类型描述modelNumber(4)产品的型号(primary key)speedNumber(4)计算机的时钟频率,以兆赫计算ramNumber(4)內存容量,以兆字节计算hd
18、Number(3,1)硬盘容量,以G字节计算priceNumber(6)价格,以人民币元计算(1)使用JDBC在现有的数据库(Access,SQLServer,oracle等均可)中建立上述两个表。 (2)使用JDBC将下述数据加到两个表中 model Maker speed ram hd price1100 Dell 500 128 10 89001101 Dell 677 128 20 120001201 Compaq 677 128 10 115001202 Compaq 733 128 20 15000(3)从数据库中查找硬盘容量为20G, 生产厂家为Compaq的机器型号和价格。 (
19、4)将原先为10G的Dell机器的硬盘更换为12G,而价格不变。 (5)删除所有时钟频率小于或等于500兆赫的机器。 (6)列出时钟频率大于500兆赫的Compaq机器的平均价格。 第14章 JavaBean组件模型1. 简单回答什么是JavaBean?2. JavaBean具有什么特性?3. 修改例14-3,为MyAccountBean增加一个限制属性,当所取金额大于账户余额时,拒绝账户余额修改。终止取款操作。4. 开发一个能显示月历的Javabean。第15章 网络通信1、编写图形界面的Application程序,包含一个TextField和一个Label。 TextField接受用户输入
20、的主机名,Label把这个主机的IP地址显示出来。2、介绍并比较URL类的四种构造方法3、编写Applet,接受用户输入的网页地址,并与程序中事先保存的地址相比较,若二者相同则使浏览器指向该网页。4、编写Applet,访问并显示或播放在指定URL地址处的图像和声音资源。5、用JAVA SOCKET编程,读服务器几个字符,再写入本地显示器。第16章 Java安全技术1、 对计算机安全的攻击通常分为哪几类?2、 什么是机密性,完整性和认可性?3、 什么是对称加密技术和非对称加密技术?4、 什么是数字证书?5、 请简单描述一下Java2的安全模型。6、 部署一个签名Java小程序,要注意哪几个环节。
21、7、 编程序:用keytool在.keystore中产生一对密钥,导出公钥数字证书,从证书中读取公钥,对文件HelloWorld.txt进行加密。然后从.keystore中读取私钥进行解密。第17章 Web服务器端编程1、 静态页面和动态页面的区别?2、 HTTP协议在进行网络传输时使用的编码方式是什么?3、 一个session的生命周期的作用范围是什么?4、 有哪些方法能够实现Session功能?5、 什么是JSP的相对路径?6、 简述JSP中的作用域的概念:7、 简述HttpServlet 类中service() 方法的作用8、 什么是MVC?第18章 J2EE规范和EJB组件模型1 简述J2EE框架构成。2 有哪些主要的J2EE容器?3 什么是EJB技术?第19章 J2ME1 Java平台分为哪几类?2 J2ME中的三种规范是什么?3 MIDP定义的设备包括什么?4 Jini技术的核心是什么?