《Java基础案例教程(第3版)》-课后习题答案汇 黑马 第1-12章_第1页
《Java基础案例教程(第3版)》-课后习题答案汇 黑马 第1-12章_第2页
《Java基础案例教程(第3版)》-课后习题答案汇 黑马 第1-12章_第3页
《Java基础案例教程(第3版)》-课后习题答案汇 黑马 第1-12章_第4页
《Java基础案例教程(第3版)》-课后习题答案汇 黑马 第1-12章_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

一.填空题一.填空题Java是一种可以编写跨平台应用软件、完全面向 的程序设计语言。Java中提供了Java程序的执行入口是

命令用于编译Java的源文件。方法。java命令可以执行后缀名为 的文件。在Java中,字节码文件的扩展名为 。二.判断题Java()Java()Java()Javajavac()JavaJVM()三.选择题1.Java语言的类别描述正确的是(。A、机器语言B、汇编语言C、高级语言D、以上都不正确2.Java虚拟机中运行的文件类型是(。A、.javaB、.jreC、.exeD、.classJava编译器的可执行文件(。A、javac.exeB、java.exeC、jar.exeD、javadoc.exe下列选项中,JDKjavac.exe、java.exe等可执行程序的子目录是(。A、conf目录B、lib目录C、bin目录D、include目录User.class的字节码文件的命令正确的是(。A、javaUserB、javaUser.classC、javacUserD、javacUser.class四.简答题Path环境变量的作用。Java的运行机制。五.编程题使用IDEA编写一个HelloWorld程序,并在IDEA开发工具内编译运行,并输出打印结果。1.在Java中如果要使用另一个包中类的功能,则需要使用 关键字来导入这个类。Java中的基本数据类型有 种。逻辑运算符的运算结果是一个 值。在Java中, 语句用于在循环中跳过当前循环并进入下一次循环。Java中数组的初始化方式分为两种,分别是静态初始化和 。二.判断题Java()switchcasebreak()Java中,将取值范围较大的数据类型的数值转换为取值范围较小的数据类型的数值属()true()do…while()三.选择题1.Java中的标识符说法错误的是(。A、标识符可以由字母、数字、下划线和美元符号组成。B、标识符可以以字母或下划线开头,但不能以数字开头。C、标识符不区分大小写。D、在程序中,一般建议使用有意义的单词或名称来定义标识符。2.下列选项中,不属于基本数据类型的是(。A、StringB、shortC、booleanD、char下列选项中,关于基本数据类型转换说法错误的是(。AB、一个byte类型的数据和一个int类型的数据进行运算时,结果为long类型。C、自动类型转换是由编译器自动完成的。D、强制类型转换极容易造成数据精度的丢失。下列选项中,关于变量的定义和初始化,在编译时会发生错误的是(。A、inta=50;B、longb=13;C、floatc=20.0;D、chard='D';Java中的数组说法错误的是(。A、同一个数组中元素的类型可以不同。B、数组的索引范围从0开始C、数组的长度必须是一个非负整数值,并且在创建数组后,数组的长度保持不变。D、在二维数组中可以存储不同大小的一维数组。四.简答题Java中所有的基本数据类型,并描述每个数据类型在内存中所占的空间大小。whiledo…while循环语句在执行时的区别。五.编程题3位数,其各个位数的三次方和等于该数本身。2.编写一个程序,求取数组{52,63,1,14,36,95,6,10,27,40}中最大值并输出该值位于数组中的第几个位置。一.填空题面向对象的三大特性分别为 、继承和多态。实例化对象是指使用关键字 来创建一个对象,并为对象分配内存空间。在Java中访问级别最严格只允许同一个类中才可以访问的修饰符是 。在Java中,一个对象在创建时会自动调用并初始化的特殊方法叫 。Java中被static关键字修饰的变量可以通过 直接进行访问。二.判断题()Java()()this()()三.选择题下列选项中,不属于面向对象的三大特性的是(。A、继承B、多态C、封装D、抽象下列关于对象的引用传递的描述正确的是(。A、传递的是对象的副本B、传递的是对象的内存地址C、传递的是对象的属性值D、传递的是对象的方法publicclassDemo{intnum=10;publicstaticvoidmain(String[]args){intnum=5;System.out.println(num);publicclassDemo{intnum=10;publicstaticvoidmain(String[]args){intnum=5;System.out.println(num);}}上述代码的执行结果是( )。A、编译错误B、运行错误C、10D、5下列关于构造方法的说法中,错误的是(。AB、类的有参构造方法的参数列表必须与类的成员变量完全匹配。C、如果一个类没有明确定义构造方法,编译器会自动生成一个默认的无参构造方法D、构造方法与类同名,没有返回类型。static的描述错误的是(。A、Java中的static关键字可以修饰类的成员,包括属性、方法以及代码块B、静态方法只能访问静态成员C、static关键字可以修饰成员变量和局部变量D、静态方法可以通过类名或对象访问四.简答题简述实现封装需要进行的操作。Java中的访问控制修饰符有哪些,以及对应的访问权限。五.编程题请设计一个名为Pet的类,表示宠物,该类包含以下属性和方法。(1)属性type:类型age:年龄vaccinum:接种疫苗(2)方法setType(Stringtype):设置宠物类型setAge(intage):设置宠物年龄setVaccinum(booleanhealth):设置宠物疫苗接种情况getType():获取宠物类型getAge():获取宠物年龄getHealth():获取宠物疫苗接种情况PetPet对象的信息。一.填空题如果想声明一个类继承另一个类,需要使用 关键字。Java中使用 关键字可以在子类中访问父类的非私有方法非私有属性以及构造方法。一个类如果要实现一个接口,可以通过关键字 来实现。在Java中,不同类的对象在调用同一个方法时表现出的多种行为称为 。Java提供了一个关键字 可以判断一个对象是否为某个(或接口的实例或子类实例。二.判断题()Java()Java()final()Java()三.选择题publicclassA{publicstaticvoidmain(String[]args){Bb=newB();b.test();}voidtest(){System.out.print("A");publicclassA{publicstaticvoidmain(String[]args){Bb=newB();b.test();}voidtest(){System.out.print("A");}}classBextendsA{voidtest(){super.test();System.out.print("B");}}A、产生编译错误。BAB。CD、编译没有错误,但运行时会产生异常。Java中的继承的描述错误的是(。A、一个类可以继承多个父类。B、多个类可以继承一个父类。C、一个类可以既是父类又是子类。D、一个接口可以继承多个父接口。Javasuper关键字说法正确的是(。Asuper区分子类和父类的成员变量。B、使用super调用父类构造方法时,可以放在构造函数的任意一行。C、子类可以通过super关键字调用父类的方法。D、父类可以通过super关键字调用子类的属性。Java中的内部类说法错误的是(。A、内部类可以访问外部类的私有成员。B、内部类可以被声明为static。C、外部类可以直接访问内部类的私有成员。D、一个类可以同时拥有多个内部类。下列选项中,所有异常类的父类是(。A、IOEExceptionB、ErrorC、ExceptionD、RunTimeException四.简答题Java中继承的概念以及使用继承的好处。简述抽象类与接口的相同之处与不同之处。五.编程题某书店有以下若干类书籍售卖,这些书籍的信息如下。Book类,书籍类。所有书籍类的父类,包含的属性和方法如下。属性:书籍名称,书籍作者,书籍价格。getter方法。NovelBook类。包含的自有属性和方法如下。属性:小说类别(武侠、科幻等。toString()方法,展示书籍信息。Book类。包含的自有属性和方法如下。属性:科目(Java、C++等。方法:getPrice()toString()方法,展示书籍信息。MagazineBook类。包含的自有属性和方法如下。属性:期刊号、出版社方法:getPrice()toString()方法,展示书籍信息。程序要求如下:BookBook对象,将Book一.填空题Java中 类为所有类的直接或间接父类。Java中,支持动态添加和修改字符串,并且保证线程安全的类是 类。int类型的包装类为 。String类的substring(intbeginIndex,intendIndex)方法,会返回一个包含从索引beginIndex到索引 处的字符串。Math类中, 方法可用于获取一个数的平方根。二.判断题String()()StringBuilderStringBuffer()final()Pattern()三.选择题ss.(。A、caB、cC、aD、as下列选项中,Math.random()方法生成的随机数可能是(。A、0.5652963856942563。B、-0.2。C、3.0。D、1.2。LocalDateTime对象的方法是(。A、from(String)B、parse(String)C、valueOf(String)D、convert(String)下列选项中,运行时不会报错的语句是(。A、inti=Integer.parseInt("itcast");B、Integeri=Integer.valueOf("1223");C、Doubled=Double.valueOf("3.14n");D、Strings=String.valueOf(100);classStringDemo{publicstaticvoidmain(String[]args){Strings1="a";Strings2="b";show(s1,s2);System.out.println(s1+s2);classStringDemo{publicstaticvoidmain(String[]args){Strings1="a";Strings2="b";show(s1,s2);System.out.println(s1+s2);}publicstaticvoidshow(Strings1,Strings2){s1=s1+"q";s2=s2+s1;s2=s2+s1;}}A、abB、aqbC、aqbaqD、agaqb四.简答题String类、StringBufferStringBuilder类的区别。Java中基本数据类型装箱和拆箱。五.编程题50道[20,100]之间的加减法算式,并输出结果(要求结果也在[20,100]之间。编写一个程序,实现字符串大小写的转换并倒序输出。具体要求如下。for循环将字符串“ITcastHeiMa”从最后一个字符开始遍历。toLowerCase()方法将其转换为小写字符,toUpperCase()方法将其转换为大写字符。定义一个StringBuffer对象,调用append()方法一次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。一.填空题 是所有单列集合的父接口,它定义了单列集合通用的集合操作方法。ArrayList集合可以看作一个长度可变的 。使用Iterator迭代器遍历集合时,判断集合中是否还有下一个元素可以访问的方法是 。HashSet集合底层通过 方法和equals()方法确保集合中不存在重复的元素。遍历HashMap集合时,可以通过 方法获取到集合中所有的键值对对象。二.判断题ArrayList()()forSet()TreeMapkeyvalue。()Stream流的中间方法在被调用完成后会返回一个新的流,并且可以继续进行其他()三.选择题(。A、集合按照存储结构可以分为单列集合Collection和双列集合Map。B、List集合的特点是元素有序,并且可以重复。C、Set集合的特点是元素有序,但不可以重复。D、Map集合每个元素都包含一个键对象key和一个值对象value。ap(。A、containsKey(Objectkey)方法表示如果此集合中包含指定key的键值对,则返回true。B、remove(Objectkey)方法表示从此集合中删除key对应的键值对。C、values()方法表示返回此集合中所有键对象组成的Collection。D、size()方法表示返回此集合中键值对的数量。Aaist和nkedst(。A、LinkedList的底层结构是一个单向循环链表。B、LinkedList的插入和删除操作只需要修改节点之间的引用关系。C、ArrayList的插入和删除操作需要进行数组元素的移动。D、ArrayList适用于频繁随机访问元素,而LinkedList适用于频繁插入和删除操作。publicclassExample{publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add("Apple");publicclassExample{publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");//for循环遍历集合for(Stringstr:list){str="grapes";}System.out.println(list);}}}。A、[grapes,Banana,Orange]B、[grapes,grapes,grapes]C、[Apple,Banana,Orange]D、以上都不对JDK8eam(。A、Stream流可以操作集合、数组和文件中的数据。B、Stream流在操作集合的过程中可以改变原集合中的数据。C、Stream流的中间方法可以链式调用。D、Stream流的终结方法执行完成后流会被关闭,无法再对流进行操作。四.简答题List、SetMap的区别。HashSet集合的去重原理。五.编程题按照下列要求编写程序。Studentnameage属性,提供有参构造方法。StudenttoString()agename的值。StudenthashCode()equals()方法。hashCode()name和ageequals()nameagetruefalse。HashSetStudent对象,StudentnameageHashSet编写一个程序,记录本月的收入和支出。具体要求如下。MapString,Double。收入的来源包括,工资、投资理财;支出的来源包括房租、水电费和饮食购物。Map集合中,收入金额使用正数表示、一.填空题File类中 方法用于判断File对象对应的文件或目录是否存在。 是字符输入流的顶级父类。字节输出流的顶级父类为 。使用缓冲流时只有当缓冲区满了或调用了flush()方法时才会将缓冲区中的数据真正写入到底层输出流。能够将基本类型的数据和其数据类型同时写入流中的IO流类是 。二.判断题Filedelete()方法可以()FileOutputStream()ReadertransferTo()方法,可以直接将文件中的内容传输到目标文件()Serializable()()三.选择题。A、使用字节缓冲流可以提高读取和写入操作的效率。B、使用字节缓冲流读写文件时,可以一次性读取多个字节的数据。C、使用字节缓冲流可以减少对磁盘IO的频繁访问。D、字节缓冲流只能用于处理文本数据。publicclassHello{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream("D:\\demo.txt");fos.write("abc");publicclassHello{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream("D:\\demo.txt");fos.write("abc");fos.close();}}。A、编译出错。B、在D盘创建文件demo.txt,但文件内容是空的。C、在D盘创建文件demo.txt,并写入数据abc。D、在D盘已有的文件demo.txt中追加写入abc。leerea(。A、0B、-1C、1D、nullpublicclassDemo{publicstaticvoidmain(String[]args)throwsException{publicclassDemo{publicstaticvoidmain(String[]args)throwsException{}} FileOutputStreamfos=newFileOutputStream("aa.txt",true);fos.write("fos.write("IT教育".getBytes());fos.close();假设项目根目录下有aa.txt,文本内容为“传智播客.黑马程序员”,请问执行上面面程序执行后aa.txt里面的内容是()。A、传智播客.黑马程序员改变中国IT教育B、改变中国IT教育C、传智播客.黑马程序员D、乱码e。A、File类用于封装一个路径,该路径可以指向一个文件或一个目录。BFiledelete()方法删除文件或目录时,如果当前目录下存在文件,必须先删除文件,再删除目录。C、File类的list()方法用于遍历某个指定目录下的一级子目录和文件的名称。DFilegetPath()File对象所对应文件的绝对路径。四.简答题简述字节流和字符流的区别。简述缓冲流提高数据读写效率的原理。五.编程题编写一个程序实现文件的复制功能,具体要求如下。从控制台获取输入的文件目录,将该目录(包含子目录)下后缀名为.java的文件D:/javajava文件个数。CommonsIO框架编写一个备忘录,具体要求如下:显示备忘录条目。按照条目的顺序将标题和内容显示出来。一.填空题1.一台计算机中可以同时运行多个程序,每个运行中的程序都是一个 。2.Java中所有的线程对象必须是 类或其子类的实例。3.在Thread类中的 方法用于启动新线程。4.当多个线程使用同一个共享资源时,可以将处理 的代码放在同步代码块中。5.使用同步机制保障线程同步的方式包括同步代码块、同步方法、 。二.判断题1.一个进程中的多个线程可以并行执行不同任务。()2.使用synchronized关键字修饰的代码块,被称作同步代码块。()3.操作系统中的每一个进程中都至少存在一个线程。()4.线程池是一个可以复用线程的技术,其中的线程可以反复使用,无需反复创建线程而消耗过多资源。()5.在多线程程序中,并发修改共享资源可能会造成线程安全问题。()三.选择题1.关于进程和线程的描述错误的是( )。A、线程是程序的实例,是操作系统动态执行的基本单元B、线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中C、计算机中一个单核的CPU同一时刻只能处理一个进程D、一个进程中至少存在一个线程2.下列有关线程的创建方式说法错误的是( )。A、通过继承Thread类与实现Runnable接口都可以创建线程BRunnableThreadJava的单继承带来的局限性C、可以调用线程对象的run()方法启动线程D、如果创建线程对象时没有指定线程的名字,那么会自动为线程分配名称3.下列选项中对应Thread的方法描述错误的是()。A、setName(Stringname)方法将参数name设置为当前线程的名称B、run()方法开启当前线程C、sleep(longmillis)方法使当前正在执行的线程休眠millis毫秒D、currentThread()方法返回对当前正在执行的线程对象的引用4.下列选项中关于线程同步的描述错误的是( )。A、sychronized关键字可以修饰方法B、如果使用多个线程同时操作同一个共享资源时,很容易“偶然”出现线程安全问题C、使用synchronized关键字修饰的代码块中,这个代码块被称作同步代码块D、对于实例同步方法,默认使用类对象作为锁对象5.下列选项中对应线程池说法错误的是( )。A、线程池可以设置在程序启动时创建指定数量的线程,并设置为空闲状态B、线程执行完后会自动销毁,线程池会根据销毁的线程数量重新创建线程C、Executor接口是线程池的顶级接口D、线程池支持的最大线程数可以大于线程池的核心线程数量四.简答题请简述三种创建线程的方式和实现的步骤。请简述线程生命周期中的六种基本状态。五.编程题1.编写程序实现电影票售卖,具体需求如下。10032.编写程序计算“龟兔赛跑”的结果,龟兔赛跑的起点到终点的距离为800米,乌龟的速度为1米/1000毫秒,兔子的速度为1.2米/1000毫秒,等兔子跑到第600米时选择休息12000毫秒,请编写多线程程序计算龟兔赛跑的结果。一.填空题1.在计算机网络中,计算机进行连接和通信的规则被称为 。2.TCP/IP参考模型划分的层次分别是 层、传输层、网际互联层和网络接入层。3.在TCP/IP协议中 可以唯一标识网络中的通信实体。4.通过使用不同的 ,不同的应用程序可以在同一个网络接口上进行通信。在JDK中提供了两个用于实现TCP程序的类一个是 类用于表示服务器端;一个是Socket类,用于表示客户端。二.判断题1.DatagramSocket类中提供了accept()方法用于接收数据报包。()2.同一台机器上两个程序可以同时使用同一个端口。()3.TCP协议是面向连接的通信协议。()4.发送端的DatagramPacket对象不需要指定数据的目标IP地址和端口号。()5.DatagramPacketUDP通信中发送或者接收的数据。()三.选择题1.下列关于Socket类的描述中,错误的是( )。A、Socket类中定义的getInputStream()方法用于返回Socket的输入流对象。B、Socket类中定义的getOutputStream()方法用于返回Socket的输出流对象。C、Socket类中定义的getLocalAddress()方法用于获取Socket对象绑定的本地IP地址。D、Socket类的主要作用是接收客户端的连接请求,它提供了多个构造方法用于创建服务器端对象。2.下列ServerSocket类的方法中,用于等待客户端的连接的是()。A、accept()B、getOutputStream()C、getInetAddress()D、bind()3.下列关于UDP协议特点的描述中,错误的是()。A、在UDP协议中,数据的发送端和接收端不建立逻辑连接。B、UDP协议消耗资源小,通信效率高,通常都会用于音频、视频和普通数据的传输。CUDPUDP协议。D、在UDP协议连接中,必须要明确客户端与服务器端。4.下列选项中,用于封装UDP通信中的数据的是()。A、SocketB、DatagramSocketC、DatagramPacketD、ServerSocket5.下面关于IP地址的描述中,错误的是()。A、IP地址可以唯一标识一台计算机B、IP地址目前的两个常用版本分别是IPv4和IPv6C、通常会将IP地址写成十进制形式,每个字节用一个0~255的十进制数字表示D、60是一个合格的IP地址四.简答题TCP/IP参考模型中划分的层次,以及每层的作用。UDPTCP的特点。五.编程题1.TCPIP及连接时间记录在log.txtIP的客户端上一次连接服务端的时间等信息返回给客户IP2.编写TCP通信程序,实现将客户端中将文件传输到服务端,其中客户端的文件可以通过在控制台中输入文件路径获取。一.填空题1. JDBC驱动的类。2.DriverManager类的getConnection()方法会返回一个 对象。3.Connection接口中的 方法用于关闭与数据库的连接并释放资源。4.PreparedStatement是Statement的子接口,用于执行 的SQL语句。5.ResultSetHandler接口的实现类中, 将结果集中第一条记录封装到一个指定的JavaBean中。二.判断题1.Connection对象可以获取执行SQL的对象和管理事务。()2.PreparedStatement接口用于执行静态的SQL语句,并返回一个结果对象。()3.PreparedStatementsetterSQL语句参数的类型。()4.Statementexecute()SQLSQL语句后可能会返回多个结果。()5last()()三.选择题1.下列选项中,用于将参数化的SQL语句发送到数据库的方法是()。A、setInt(intparameterIndex,intx)B、prepareStatement(Stringsql)C、registerDriver(Driverdriver)D、createStatement()2ResultSet中游标指向的描述正确的是()。A、ResultSet对象初始化时,游标在表格的第一行B、ResultSet对象初始化时,游标在表格的第一行之前C、ResultSet对象初始化时,游标在表格的最后一行之前D、ResultSet对象初始化时,游标在表格的最后一行3.下列选项中,可以执行预编译的SQL语句的对象是()。A、Statement对象B、Connection对象C、PreparedStatement对象D、DriverManager对象4.下列选项中,关于ResultSetHandler接口的实现类的作用描述错误的是()。A、ArrayHandler将结果集中的第一条记录封装到一个Object[]数组中B、ArrayListHandler将结果集中的每一条记录都封装到一个Object[]数组中C、BeanListHandler将结果集中第一条记录封装到指定的JavaBean中D、ColumnListHandler将结果集中指定的列的字段值,封装到一个List集合中5.下面关于MySQL数据库连接的URL拼写格式正确的是()。A、jdbc:mysql://hostname:port/databaseB、jdbc:mysql:@hostname:port/databaseC、jdbc/mysql:@hostname:port?databaseD、jdbc/mysql://hostname:port?database四.简答题JDBCAPIJDBC程序的步骤。ResultSetHandler5个实现类,以及对应的作用。五.编程题SQL语句如下。ebook的数据库CREATEDATABASEIFNOTEXISTSebookCHARACTERSETutf8mb4;book的表CREATETABLE`book` (`id`int(0)COMMENT'图书编号',`name`varchar(32) COMMENT图书名称',`press`varchar(32) COMMENT图书出版社',`author`varchar(32) COMMENT图书作者',`pagination`int(0) COMMENT图书页数',`price`decimal(82) COMMENT图书价格',`uploadtime`date COMMENT图书上架时间',);book表中插入数据INSERTINTO`book`VALUES1Java基础案例教程(2版)人民邮电出版社','传智播客',291,59.00,'2022-7-11');INSERTINTO`book`VALUES2JavaWeb程序设计任务教程人民邮电出版社','传智播客',419,56.00,'2022-7-14');INSERTINTO`book`VALUES3Java基础入门(2版)清华大学出版社','传智播客',413,59.00,'2022-7-15');请使用DbUtils编写程序,实现对图书管理系统中图书信息的增删查改,具体需求如下。编写代码实现查询图书表中所有图书信息,并输出在控制台。1条图书信息到图书表中,图书上架时间为当前系统时间。Java2版69.0。1的图书信息。一.填空题一.填空题1.Class类中的 用于获取本类及其父类继承而来的所有公共属性。2. Java代码中的类、变量、方法等元素的访问修饰符。3.Java的java.lang.reflect包中提供了 类用于表示成员变量。4.JVM会将字节码文件中的字节码加载到内存中为每个类生成一个对应的 对象。5.Constructor类中的 方法用于获取该构造方法的名称。二.判断题1.Class类本身没有定义任何构造方法。()2.Method类中的getModifiers()方法返回的是一个整数。()3.Java的反射机制允许在程序运行期间动态地获取程序的信息。()4.Java中的修饰符在运行时会被转换为对应的整数常量。()5.Class类中的getMethods()可以获取本类及其父类继承而来的所有公共方法。()三.选择题1.下列Constructor类的方法中,可以获取表示构造方法参数类型的Class数组的是()。A、getName()B、getModifiers()C、getParameterCount()D、getParameterTypes()2.下列Method类的方法中,可以获取方法参数列表中的所有参数类型的是()。A、getName()B、getParameterTypes()C、getReturnType()D、getModifiers()3.下列选项中,对于Method类的方法说明错误的是()。A、getDeclaringClass()用于获取声明该方法的类对象B、invoke(Objectobj,Object...args)用于在指定对象obj上执行当前方法C、getExceptionTypes()方法用于捕捉方法执行时抛出的异常类型D、setAccessible(booleanflag)方法用于设置Method对象的可访问标志4.下列选项中,对于Field类的方法说明错误的是()。A、getType()用于获取成员变量的类型B、getModifiers()用于获取成员变量的值C、getDeclaringClass()用于获取成员变量所属的类D、set(Objectobj,Objectvalue)用于将对象obj中的成员变量的值设置为value5.下列选项中,对于反射机制说法错误的是()。A、反射机制可以动态地获取类中的属性和方法B、反射机制可以动态地构造类的对象C、反射机制是发生在程序的编译期D、使用反射机制创建类的实例时,实际是通过调用类的构造方法来创建对象的四.简答题Class3种方式。五.编程题1.在Java中,图形用户界面简称 。2.Swing中常用的顶级容器有两个,分别是 和JDialog。3.JButton是一种 组件,它允许用户通过单击进行交互。4. Window、JFrameJDialog的默认布局管理器。5.在Swing事件处理的过程中,主要涉及三类对象: 、事件对象、监听器。二.判断题1.Container类是Component的子类,它同时具有容器和组件的特征。()2.非模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口交互。()3.JScrollPane是一个带有滚动条的面板,它只能添加一个组件。()4.JLabel不能获取键盘焦点。()5.JComboBox下拉框组件不可以输入内容作为当前项显示。()三.选择题1.下列选项中,不属于Swing中的组件的是()。A、JButton B、JDialog C、JLabel D、Frame2.下列选项中,不属于事件处理机制中的对象的是()。A、事件对象 、事件源C、布局管理器 D、监听器3.按钮、文本框、菜单项被单击时触发时,触发的事件处理器方法是()。A、addChangeListener() B、addActionListener()C、stateChanged() D、actionPerformed()4.下列选项中,对于布局管理器的描述错误的是()。A5个区域:North、South、East、CenterB、流式布局管理器是将组件按照从左到右的规则排列的布局管理器C、边界布局管理器是JPanel的默认布局管理器D、GridLayout使用纵横线将容器分成行和列大小相等的网格5.下列选项中,对于Swing基本组件描述错误的是()。A、JLabel是一种标签组件,用于显示文字或者图形图标B、JTextField表示单行文本框,它允许用户输入单行的文本信息C、JCheckBox组件被称为复选框组件,它有选中和未选中两种状态D、JRadioButton组件本身具备只能选中一个单选按钮的功能四.简答题3Swing提供了的布局管理器,及其特点。请简述事件驱动的编程模型中的三个组成部分。五.编程题根据GUI的相关知识,实现一个简易的计算器,计算器窗口如下图所示。压aculor - 口 X, ICtear厂二二二二二二二二二二二二二二二三《基础案例教程(3版)》单元习题答案第1章 Java开发入门一、填空题javacmain.class.class二、判断题1.对 2.错 3.错 4.对 5.对三、选择题1.C 2.D 3.A 4.C 5.A四、简答题Path环境变量的作用。PathWindowsPath环境变量中定义的路径中搜索对应的可执行文件。Java的运行机制。Java程序的运行机制主要分为以下几个步骤。Java源代码。javacJava虚拟机可执行的.class文件。javaJava虚拟机运行.class文件。Java虚拟机首先将编译好的字节码文件加载到内JavaJava类进行解释执行,输出运行结果。第2章 Java编程基础一、填空题1. import2. 8booleancontinue动态初始化二、判断题1.错 2.错 3.错 4.错 5.对三、选择题1.C 2.A 3.B 4.C 5.A四、简答题Java中所有的基本数据类型,并描述每个数据类型在内存中所占的空间大小。Java中共有8种基本数据类型,具体如下。byte1个字节的内存空间。short2个字节的内存空间。int4个字节的内存空间。long8个字节的内存空间。float4个字节的内存空间。double8个字节的内存空间。char2个字节的内存空间。boolean1truefalse。whiledo…while循环语句在执行时的区别。while循环语句在执行循环体之前会判断循环条件是否满足,如果不满足条件,则循环体将不会被执do…while语句,会先执行循环体,然后再判断循条件是否满足。因此,do…while循环的循环体至while循环的循环体可能不会被执行。第3章 面向对象(上)一、填空题封装newprivate构造方法类名二、判断题1.对 2.错 3.错 4.错 5.对三、选择题1.D 2.B 3.D 4.B 5.C四、简答题简述实现封装需要进行的操作。实现类的封装需要进行以下几个操作。privategettersetter方法,供其他类简洁地访问和设置属性的值。Java中的访问控制修饰符有哪些,以及对应的访问权限。Java中的访问控制修饰符有四个,分别为public、protected和default、private,它们对应的访问权限如下publicpublic修饰的类、方法和变量,包内和包外的任何类均可以访问。protectedprotected修饰的类、方法和变量,包内的任何类以及包外继承了该类的子类可以访问。default:默认的。默认访问权限的类、方法和变量,可以被包内的其他类访问,而包外的任何类都不能对其访问。privateprivate第4章 面向对象(下)一、填空题extendssuperimplemets多态instanceof二、判断题1.对 2.错 3.错 4.对 5.对三、选择题1.B 2.A 3.C 4.C 5.C四、简答题Java中继承的概念以及使用继承的好处。publicprotected成员,而且子类还可以添加自己的成员变量和成员方法,从而扩展父类的功能。继承的好处有以下几点:提高编程效率:通过继承,子类可以快速构建一个基于现有代码的新代码。简述抽象类与接口的相同之处与不同之处。抽象类与接口的相同之处如下:JDK9以后,都可以包含具体的方法实现。都不能进行实例化对象,需要子类或实现类实例化对象。抽象类与接口的不同之处如下:abstractinterface。publicstaticfinal抽象类和接口中都可以定义抽象方法,也可以定义普通方法,但是接口中的普通方法需要使用static或default修饰,而抽象类中的普通方法无此限制。抽象类中可以有构造方法,接口中不能有构造方法。一个类只能继承一个抽象类,但是可以实现多个接口。抽象类只能被普通类或抽象类继承,而接口既可以被接口继承,也能被普通类或抽象类实现。抽象类不支持多重继承;而接口可以继承多个父类。第5章 JavaAPI一、填空题ObjectStringBufferIntegerendIndex-1sqrt()二、判断题1.错 2.错 3.对 4.对 5.对三、选择题1.C 2.A 3.B 4.D 5.A四、简答题String类、StringBufferStringBuilder类的区别。String类是不可变的,一旦创建了String类的字符串对象,就无法修改其值,每当对字符串进行修改操作时,都会创建一个新的String对象。String类在多线程环境下是安全的。StringBuffer类和StringBuilder类是可变的,可以对字符串进行修改操作,而不需要创建新的对象。二者的区别在于,StringBuffer类是线程安全的,StringBuilder类是非线程安全的。总之,String类适用于不需要修改字符串的情况,StringBufferStringBuilder类适用于需要频繁修StringBufferStringBuilder类可以提高性能。Java中基本数据类型装箱和拆箱。intIntegerIntegerint类xxxValue()方法实现,也可以通过自动拆箱的特性实现。第6章 集合与泛型一、填空题Collection数组hasNext()hashCode()entrySet()二、判断题1.错 2.错 3.错 4.对 5.对三、选择题1.C 2.C 3.A 4.C 5.B四、简答题List、SetMap的区别。ListList集合可以根据元素索引位置进行增删改查操作。SetSetMap集合提供了根据键快速查找值的能力。HashSet的去重原理。HashSetadd()hashCode()方法查equals()方法,判断该对象与该位置上的元素是否相true,HashSetfalse,HashSet会使用链表或红黑树存储出现哈希冲突的元素。第7章 IO一、填空题exists()ReaderOutputStreamclose()DataOutputStream二、判断题1.错 2.对 3.对 4.对 5.错三、选择题1.D 2.C 3.B 4.A 5.D四、简答题简述字节流和字符流的区别。字节流和字符流是Java输入输出的两种方式,它们的主要区别在于处理的数据单位和使用的场景不同,下面分类描述字节流和字符流的区别。数据单位。字节流以字节为单位进行输入和输出。字符流以字符为单位进行输入和输出。(简述缓冲流提高数据读写效率的原理flush()close()第8章 多线程一、填空题进程Threadstart()共享资源Lock锁二、判断题1.对 2.对 3.对 4.对 5.对三、选择题1.A 2.C 3.B 4.D 5.B四、简答题请简述三种创建线程的方式和实现的步骤JavaThreadThreadCallable和FutureTask实现,具体如下。Thread类创建线程通过继承Thread类创建多线程的步骤如下。(1)定义Thread类的子类,并重写Thread类的run()方法,在run()方法中定义线程要执行的任务。(2)创建Thread子类的实例,即创建线程对象。(3)调用线程对象的start()方法启动该线程。Runnable接口创建线程通过实现Runnable接口创建多线程的步骤如下。(1)定义Runnable接口的实现类,并重写该接口的run()方法。(2)创建Runnable实现类的实例,并将实例作为Thread的任务对象参数创建Thread对象。(3)调用线程对象的start()方法启动线程。CallableFutureTask创建线程基于Callable和FutureTask创建线程的步骤如下。(1)创建Callable接口的实现类,并重写call()方法。(2)创建包装了Callable对象的FutureTask类。(3)使用FutureTask对象作为Thread对象的target参数创建并启动线程。请简述线程生命周期中的六种基本状态。6(NEW)(RUNNABLE)状态、阻塞(BLOCKED)(WAITING)(TIMEDWAITING)状态和被终止(TERMINATED)状态,具体说明如下。(1)新建状态创建一个线程对象,但还没调用start()方法启动线程,该线程就处于新建状态。(2)可运行状态当线程对象调用了start()方法后就进入可运行状态,也称为就绪状态。(3)阻塞状态当一个线程试图获取一个对象锁,而该对象锁被其他的线程持有时,则该线程进入阻塞状态。(4)无限等待状态一个线程在等待另一个线程执行一个唤醒动作时,该线程进入无限等待状态。(5)计时等待状态计时等待状态是指线程在调用

温馨提示

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

评论

0/150

提交评论