《Java基础程序设计》_课后习题_第1页
《Java基础程序设计》_课后习题_第2页
《Java基础程序设计》_课后习题_第3页
《Java基础程序设计》_课后习题_第4页
《Java基础程序设计》_课后习题_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库第一章【思考题】1、简述path环境变量的作用。2、请说说你对JVM的理解。【答案】1、path环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。2、JVM是Java Virtual Machine的缩写,全称是Java虚拟机。Java语言的一个非常重要的特性就是跨平台性,而Java虚拟机是实现这一特性的关键。不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。第二章【思考题】1、请简述&与&的区别。2、简述break、continue和return语句的区别。【答案】1、&和&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。当运算符“&”和“&”的右边为表达式时,使用“&”进行运算,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“&”被称作短路与。 2、break语句:在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。 continue语句:continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。return语句:return语句可以用于从当前的方法中退出,返回到调用该方法的语句处,继续执行。return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。第三章【思考题】1、什么是对象?什么是类?类和对象有什么关系?2、请简述this关键字的应用。【答案】1、对象(Object)是一个应用系统中用来描述客观事物的实体,是具有特定属性和行为(方法)的基本运行单位,是类的一个特定状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有自己标识的任何东西,可以概况来说:万物皆对象。类(Class)是Java代码的基本组织模块,是用以描述一组具有共同属性和行为对象的基本原型,是对这组对象的概况、归纳和抽象的表达。类是对象的模板,它定义了本类对象所拥有的属性集和行为集,是对一组具有相同属性和相同方法的对象的定义。类和对象之间是抽象和具体的关系:类是一个模板,是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类必须通过对象才能使用,而对象中的属性和行为必须在类中定义。2、this关键字的应用如下:1)通过this关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突问题。2)通过this关键字可以调用本类中的成员方法。3)可以在一个构造方法中使用“this(参数1,参数2)”的形式调用本类中的其他构造方法。第四章【思考题】1、请简述方法重写和方法重载的区别?2、请列举抽象类和接口的区别(至少5点)?【答案】1、方法重写(Overriding)和方法重载(Overloading)是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中定义的方法,对它而言,父类中定义的方法如同被“屏蔽”了。如果在同一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。2、抽象类和接口有如下区别:1)抽象类可以有构造方法,接口中不能有构造方法。2)抽象类中可以有普通成员变量,接口中没有普通成员变量。3)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4)抽象类中的抽象方法的访问类型可以是public,protected和(默认类型),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。5)抽象类中可以包含静态方法,接口中不能包含静态方法。6)抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认为public static final类型。7)一个类可以实现多个接口,但只能继承一个抽象类。第五章【思考题】1、请简述String类和StringBuffer类的区别。2、请简述装箱和拆箱的概念。【答案】1、String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法。String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能。2、包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型,反之,拆箱是指将引用数据类型的对象转为基本数据类型。第六章【思考题】1、请简述List、Set、Map三个接口存取元素时各有什么特点。2、请简述使用泛型的优点。【答案】1、List与Set具有相似性,它们都是单列元素的集合,所以,它们有一个共同的父接口,叫Collection。List表示有先后顺序的集合,当多次调用add(Obj e)方法时,每次加入的对象就会按先来后到的顺序排序,也可以调用add(int index,Obj e)方法指定当前对象在集合中的存放位置。一个对象可以被反复存储进List中,每调用一次add方法,这个对象就被插入进集合中一次。List除了能以Iterator接口取得所有的元素,再逐一遍历各个元素之外,还可以调用get(index i)方法来明确说明取第几个元素。Set里面不允许有重复的元素,所谓重复,即不能有两个相等的对象 。Set取元素时,无法直接确定取第几个,只能以Iterator接口取得所有的元素,再逐一遍历各个元素。Map与List和Set不同,它是双列元素的集合,每次存储时要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。取则可以根据key获得相应的value,即get(Object key)方法的返回值为key 所对应的value。2、使用泛型有如下优点:1)提高了Java程序的类型安全,在编译时期解决错误,避免程序在运行时期发生错误。2)消除强制类型转换问题。3)泛型可以替代Object类型的参数和变量的使用,使程序的性能大幅度提升,并增加了代码的可读性。第七章【思考题】1、简述IO流的分类有哪些?2、请简述File类的作用并列出5个常用方法及其功能。【答案】1、IO流有很多种,按照操作数据的不同,可以分为字节流和字符流,按照数据传输方向的不同又可分为输入流和输出流,程序从输入流中读取数据,向输出流中写入数据。在IO包中,字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示,字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。2、File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如:“D:filea.txt”,也可以是相对于当前目录而言的相对路径,如:“srcHello.java”。File类内部封装的路径可以指向一个文件,也可以指向一个目录,在File类中提供了针对这些文件或目录的一些常规操作。File类的常用方法及其功能如下:1)createNewFile():当File对象对应的文件不存在时,该方法将新建一个此File对象所指定的新文件,若创建成功则返回true,否则返回false。2)isFile():判断File对象对应的是否是文件(不是目录),若是文件则返回true,反之返回false。3)isDirectory():判断File对象对应的是否是目录(不是文件),若是目录则返回true,反之返回false。4)exists():判断File对象对应的文件或目录是否存在,若存在则返回ture,否则返回false。5) delete():删除File对象对应的文件或目录,若成功删除则返回true,否则返回false。第八章【思考题】1、简述java.awt包中提供了哪些布局管理器。2、简述在事件处理机制中所涉及到的概念。【答案】1、在java.awt包中提供了五种布局管理器,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、GridLayout(网格布局管理器)、GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)。2、事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。AWT事件处理机制中几个比较重要的概念如下所示:l 事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次操作)。l 事件源(组件):事件发生的场所,通常就是产生事件的组件。l 监听器(Listener):负责监听事件源上发生的事件,并对各种事件做出响应处理的对象(对象中包含事件处理器)。l 事件处理器:监听器对象对接收的事件对象进行相应处理的方法。第九章【思考题】1、JDBC API中常用的接口和类有哪些?2、Statement接口和PreparedStatement接口有什么区别?【答案】1、JDBC API中常用的接口和类有:Driver接口、Connection接口、Statement接口、PreparedStatement接口、ResultSet接口和DriverManager类。2、PreparedStatement接口继承自Statement接口,它具有Statement接口的所有方法,同时也添加了一些新方法。其区别主要有一下两点:1)PreparedStatement接口包含已编译的SQL语句,而Statement接口没有。2)PreparedStatement接口中的SQL语句可包含若干个参数,也可用“?”占位符,而Statement没有。第十章【思考题】1、进程和线程之间有什么不同?2、创建线程有哪两种方法?这两种方法有什么区别?【答案】1、在一个操作系统中,每个独立执行的程序都可以称为一个进程,也就是“正在运行的程序”。而在进程中还可以有多个执行单元同时执行,这些执行单元可以看作程序执行的一条条线索,被称为线程。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2、线程的创建有两种方法:一种是通过继承Thread类,一种是通过实现Runnable接口。实现Runnable接口相对于继承Thread类来说,有如下显著的好处:1)适合多个相同程序代码的线程去处理同一个资源的情况,把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想。2)可以避免由于Java的单继承带来的局限性。在开发中经常碰到这样一种情况,就是使用一个已经继承了某一个类的子类创建线程,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么就只能采用实现Runnable接口的方式。第十一章【思考题】1、简述TCP/IP协议的层次结构。2、简述你对IP地址的认识。【答案】1、TCP/IP协议的层次结构比较简单,共分为四层,分别是链路层、网络层、传输层和应用层。其中链路层也称为网络接口层,该层负责监视数据在主机和网络之间的交换。网络层也称网络互联层,是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。传输层主要使网络程序进行通信,在进行网络通信时,可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论