JAVASE 程序设计及实践课后练习题答案 青岛农业大学 青岛英谷教育科技股份有限公司

JAVASE 程序设计及实践课后练习题答案 青岛农业大学 青岛英谷教育科技股份有限公司

木来 木来

理论篇练习题答案

第1章 初识Java

1. B          2. B          3. B          4.B          5. B

  java me,java se,java ee

第2章 Java基础知识

1. D          2. B          3. A          4.C       5.A          6. D          7. D          8. D

9. C          10. D       11. C

12. 下划线、$、数字、区分

13. 0、0

14. length、new

第3章 类与对象

1. D          2. C          3. B          4.ABD    5. AB       6. A

第4章 类之间的关系

1. B          2. C          3. D          4.C          5. D          6. A

第5章 抽象类、接口和内部类

1. A          2. C          3. C

第6章 异常

1. BC       2. A          3. B         4. B          5.B          6. A          7. B          8. BCD    9. B

第7章 泛型与集合

1. D          2. D          3. A          4.C          5. B

第8章 流与文件

1. ABC             2. B          3. C          4.B          5. A

第9章 JDBC基础

1. A         2. B          3. C

4. oracle.jdbc.driver.OracleDriver

5. jdbc:oracle:thin:@serverName:port:instance

第10章 Swing图形界面(1)

1. C          2. A          3. C          4.D          5. A          6. D          7. C          8. D

9. C          10. D       11. C        12.B        13. D

第11章 Swing图形界面(2)

1. A          2. B          3. C          4.A          5. A

6. JFileChooser、showOpenDialog、showSaveDialog

7. JColorChooser

第12章 线程知识

1. B          2. A          3. D

4. sleep()、wait()、yield()

5. synchronized

第13章 网络编程Socket

1. A          2. D          3. C          4.B          5. A          6. D

7. InetAddress

第14章 Java高级应用拓展

1. CD       2. A          3. B          4.C          5. D

6. java.text

7. SimpleDateFormat

8. native2ascii

9. \d{1,2} 或 [0-9]{1,2}

 

问答部分

第一章

1、简单列举Java语言的特点?

答:(1)简单性(2)面向对象性(3)分布式(4)健壮性(5)跨平台性(6)高性能(7)多线程(8)动态性

2、Java应用程序分为几类?各有什么特点?

答:两类:Applications(Java应用程序)Applet(Java小程序)

特点:Applications是指在计算机操作系统中运行的程序。使用Java创建应用程序与使用其他任何计算机语言相似,这些应用程序可以基于GUI或命令行界面。Applet是为在Internet上工作才创建的Java小程序,通过支持Java的浏览器运行,Applet可以使用任何Java开发工具创建,但必须被包含或嵌入到网页中,当网页显示浏览器上后,Applet就被加载并执行。

3、面向对象的特征有哪些方面,并分别简要解释。

答:(1)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念。

2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。

4)多态:多态性是指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

4、简述JVMJREJDK的概念及三者关系。

答:(1JVMJava虚拟机)是可运行Java字节码(.class文件)的虚拟计算机系统;JREJava运行环境)是运行Java程序所必须的环境的集合,JRE包括Java虚拟机、Java平台核心类和支持文件;JDKJava开发工具包)是针对Java开发人员的开发工具集合。

2JVMJREJDK从范围上讲是从小到大的关系。

第二章

1、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?

答: switch expr1 )中, expr1 是一个整数表达式。因此  switch 能作用于byte long,string 都不能作用于 swtich

第三章

1、构造方法与一般方法有何区别?

答:构造方法区别于其他方法的地方是它的名字必须与其所在的类的名字相同,且没有返回类型。

第四章类之间的关系

1,什么叫多态,?如何理解多态?

2overloadoverride的区别?overloaded的方法是否可以改变返回值的类型?

3.构造器constructor是否可被override

第五章 抽象类 接口

简述抽象类,接口的异同?

抽象类和接口

相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明(4) 派生类必须实现未实现的方法

 区 别:1 接口可以被多重实现,抽象类只能被单一继承 2抽象类是从一系列相关对象中抽象出来的概念,因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性  3抽象类有非抽象的方法和构造方法,并且修饰符可以是私有的,接口只能是抽象的方法,并且修饰符是public 4 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法5  抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。6抽象类可以有普通成员变量,接口不行;

第六章 异常

什么是检查型异常,非检查型异常

检查型异常:指编译器要求必须处置的异常,是程序运行时由于外界因素造成的一般性异常

非检查型异常:指编译免这种异常的发生.器不要求强制处理的异常,该异常是因设计或实现方式不当导致的,可以避

简述java异常处理机制

java提供了两种处理异常的机制,一是捕获异常,二是声明抛出异常.

java运行过程中系统得到一个异常对象时,它会沿着方法的调用栈逐层回溯,寻找处理这个异常的代码,,找到后,系统把当前异常对象教给这个方法处理,这就是捕获异常.如果方法中不知道如何处理所出现的异常,则可在定义方法时,声明抛出异常.

第七章

1简述一下使用泛型有什么优点?

答:泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2.简要描述ArrayList,Vector,LinkedList的存储性能和特性?

答:ArrayList支持可随需要而调整的动态数组。其内部封装了一个动态再分配的Object[]数组。每个ArrayList对象有一个capacity,表示存储列表中元素的数组的容量。当元素添加到ArrayList时,它的capacity自动增加。在向一个ArrayList对象添加大量元素的程序中,可使用ensureCapacity()方法增加Capacity,此法可以减少或增加重分配的数量。Vector 由于使用了synchronized 方法(线程安全),通常性能上较ArrayList 差,而LinkedList 使用双向链表实现存储,按序号索引数据需要进

行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

3.简述CollectionCollections的区别。

答:java.util.Collection是一个集合接口集合接口集合接口集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态静态静态静态多态方法多态方法多态方法多态方法。此类不能实例化不能实例化不能实例化不能实例化,就像一个工具类个工具类个工具类个工具类,服务于JavaCollection框架。 Java代码

4ListMapSet三个接口,存取元素时,各有什么特点?

答:List 以特定次序来持有元素,可有重复元素。

Set 无法拥有重复元素,内部排序。

Map 保存key-value值,value可多值。

5、描述HashMapHashtable的区别。

答:HashtableHashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMapJava 1.2引进的Map接口的一个实现。

最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是

只有HashMap可以让你将空值作为一个表的条目的keyvalueHashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。如果有必要,用containKey()方法来区别这两种情况。

第八章:流与文件

一、Java中按照流的流向可分为几种,举例说明?按照流的角色分为几种,举例说明?按照流处理数据单位的大小(字节或字符)分为几种,举例说明?

按照流的流向分为:输入流和输出流。

按照流的角色分为:节点流和过滤流。

按照处理流的基本单位分为:字节流和字符流。

二、Reader类具有读取floatdouble类型数据的方法吗?

Reader类是表示字符输入流的所有类的父类,主要是用于从数据源按照字符的方式读取数据。

三、d盘中创建文件test.txt,文件中内容为“hellojava”然后利用流把该文件拷贝到e盘根目录下?

// 在D盘中创建文件test.txt,文件中的内容为:“hello Java”
File file = new File("D:/test.txt");
StringBuilder builder = new StringBuilder();
builder.append("hello java");
OutputStreamWriter osw = null;
try {
osw = new FileWriter(file);
osw.write(builder.toString());
} catch (IOException e) {
e.printStackTrace();
} finally { // 最后一定要关闭流
if (osw != null) {
try {
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 利用流把该文件拷贝到E盘根目录下
InputStream ips = null;
OutputStream ops = null;
try {
ips = new FileInputStream(file);// 源文件
byte[] buffer = new byte[1024]; // 定义一个缓冲数组
ops = new FileOutputStream("E:/" + file.getName());// 目标文件
// 如果没有读到结尾就继续读,每次读指定的字节数
for (int len = 0; (len = ips.read(buffer)) != -1;) {
ops.write(buffer, 0, len); // 每次写出实际读取到长度
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally { // 最后关闭流
if (ips != null) {
try {
ips.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (ops != null) {
try {
ops.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

四、编程模仿dos下的dir命令,列出某个目录下的内容?

五、简述序列化和反序列化概念?

对象的序列化就是把对象写入到一个输出流中,对象的反序列化是指从一个输入流中读取一个对象。

小结1java把不同类型的输入、输出源抽象为流,用统一接口来表示,从而使程序简单明了。

2Java中提供了处理字节流的类,既以inputstreamoutputstream为基类派生出的一系列类。

3Java中提供了处理unicode码表示的字符流的类,既以readerwriter为基类派生出的一系列类。

4、序列化是将数据分解成字节流,以便存储在文件中或者在网络上传输;反序列就是打开字节流并重构对象。

5、一个类可以序列化必须实现serializableexternaliable接口。

6Java提供了支持对象序列化的对象流:objectinputstreamobjectoutputstream

第九章JDBC

一、简述JDBC访问数据库的步骤?

1、加载JDBC驱动程序2、创建数据库连接3、创建statement4、执行SQL语句5、处理返回结果6、关闭创建的对象

二、使用JDBC查询Scott用户的emp表中的所有信息?

String sql="select * from emp";
PreparedStatement stmt =conn.prepareStatement(sql);//
ResultSet rs = stmt.executeQuery();

int columnCount = rs.getMetaData().getColumnCount(); //这地方补充了一下
while (rs.next()) {
    for (int i = 1; i <= columnCount;i++) {
        //map.put(md.getColumnName(i),rs.getObject(i));
        System.out.println(md.getColumnName(i) + " -- " + rs.getObject(i) );
    }
}

小结1JDBCjava应用与数据库通信的的基础。

2dbc包含一组类与接口,用于连接到任何数据库。

3Jdbc通过result维持查询结果集,并提供游标进行数据操作。

4、通过statement实现静态SQL查询。

5、使用preparestatement实现动态SQL查询。

6、使用callablestatement实现存储过程的调用。

7Databasemetadata接口用于得到关于数据库的信息。

8Resultsetmetadata接口主要用来获取结果集的结构。

9Jdbc默认的事务提交模式是自动提交。

10、通过setautocommit()方法控制自动提交模式,使用rollback()方法实现事务回滚。

第十章

1简述适配器与监听接口的区别?

区别:适配器只需要重写需要的事件处理方法,而监听接口需要实现全部的方法。

监听接口中定义了抽象的事件处理方法,这些方法针对不同的操作进行不同的处理。在程序中,通常使用监听类实现监听接口中的事件处理方法。监听接口定义在java.awt.event包中,该包中提供了不同事件的监听接口,这些接口中定义了不同的抽象的事件处理方法。

扩展监听接口时,有些事件处理方法是不需要的,但必须重写。处于简化代码的目的,java.awt.event包中有提供了一套抽象适配器类,分别实现每个具有多个事件处理方法的监听接口。这样继承适配器后,可以仅重写需要的事件处理方法。

2事件处理的步骤:

1)创建监听类,在事件处理方法中编写事件处理代码

2)创建监听对象

3)利用组件的addXXXListener()方法将监听对象注册到组件上

第十一章

简述实现一个自定义的对话框的步骤?

(1)   继承JDialog类,在构造方法中传入参数

(2)    在对话框中添加用户界面组件

(3)    添加事件处理

(4)    设置对话框大小

第十二章

简述什么是多线程?

线程的最主要功能是多任务处理,即多线程。多线程也就是在主线程中有多个线程在运行,多个线程的执行是并发的,在逻辑上“同时”,而不管是不是物理上的“同时”。

多线程和传统上的单线程在程序设计上的区别在于:

由于各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行的,由此带来的线程调度、同步等问题是需要重点留意的。

3        java如何进行异常处理

  try代码块的功能就是监视异常的发生,如果try块中的代码产生异常时则由catch快进行捕获并处理,也就是说catch、代码块中的代码用于处理try代码块中抛出的具体异常类型的异常对象

try 不可以抛出异常

图片.png

4 条评论
木来
木来 (作者) 回复 小红
你想要什么的java web鸭!
程序猿
兄弟,有每章编程题的答案吗?
小明
老哥,没有呀
小红
有没有java web的答案呀