《Java基础入门》课后习题答案.pdf

上传人:奔*** 文档编号:89651148 上传时间:2023-05-08 格式:PDF 页数:54 大小:6.79MB
返回 下载 相关 举报
《Java基础入门》课后习题答案.pdf_第1页
第1页 / 共54页
《Java基础入门》课后习题答案.pdf_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《《Java基础入门》课后习题答案.pdf》由会员分享,可在线阅读,更多相关《《Java基础入门》课后习题答案.pdf(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 Java基础入门课后习题第1章 Java开发入门一、填空题1、Java 的三大体系分别是a v a S E _ J a v a E E _ J a v a ME。2、Java程序的运行环境简称之为JRE3、编译Java程序需要使用avac 命令。4、javac.exe和 java.exe两个可执行程序存放在JDK安装目录的bin_目录下。5、path 环境变量用来存储Java的编译和运行工具所在的路径,而 一 classpath 环境变量则用来保存保存Java虚拟机要运行的.class文件路径。二、选择题1、以下选项中,哪些属于JDK工 具?(多 选)ABCDA、Java编译器 B、Java

2、运 行 工 具 C、Java文 档 生 成 工 具 D、Java打包工具2、Java属于以下哪种语言?CA、机器语言 B、汇编语言 C、高级语言 D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.java B、.jre C、.exe D、.class4、安装好JDK后 在 其 bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?BA、Java文档制作工具 B、Java解 释 器 C、Java编译器 D、Java启动器5、如果jdk的安装路径为:d:jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和 java命 令,需要将环境变量

3、path设置为以下哪个选项?BA.d:jdk;B.d:jdkbin;C.d:jrebin;D.d:jre;三、问答题1、简述Java的特点。面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、简述JRE与 JDK的区别。JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了 Java程序运行时所需要的基本条件和许多Java基础类,例 如,1 0 类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程 序 那 么,你的计算机上必须且只需安装JRE。JDK(Java Developmen

4、t Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了 JRE部 分,初学者安装JDK后不必再去下载和安装JRE 了。JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了 JRE部 分,初学者安装JDK后不必再去下载和安装JRE 了。四、编程题

5、使用记事本编写一个HelloWorld程 序,在 dos命令行窗口编译运行。请按照题目的要求编写程序并给出运行结果。public class HelloWorld public static void main(String args)System,out.printin(这是第一个 Java 程 序!);)第2章Java编程基础一、填空题1、J a v a中的程序代码都必须在一个类中定义,类使用_ c l a s s 关键字来定义。2、布尔常量即布尔类型的两个值,分别是r u e 和_flase。3 J a v a中的注释可分为三种类型,分别是一单行注释/_ _ _ _多行注释*/_、文档/

6、注释*/_ _ _ _ _ _ _4、J a v a中的变量可分为两种数据类型,分别是_ 基本数据类型_ _ _ _和一引用数据类型_ _ _ _。5、在J a v a中,b y t e类型数据占1 _个字节,s h o r t类型数据占_2一 个 字 节,i n t类型数据占_4 _个字节,l o n g类型数据占8 _个字节。6、在逻辑运算符中,运算符_&_ 和_&_ 用于表示逻辑与,_|_和_|表示逻辑或。7、若x =2,则表达式(x +)/3的值是_()一。8、若i n t a =2;a+=3执 行 后,变量a的值为_5.9、若 i n t|a=12,45,34,46,23;,则 a=

7、_ 3 4。10、若 加 3 2=123,345,34,56,34,56 ,则即2口 =_5 6.。二、判断题1、J a v a语言不区分大小写。错2、0 x C 5表示的是一个十六进制整数。对3.c o n t i n u e语句只用于循环语句中,它的作用是跳出循环。错4、中可以嵌套 注 释,但 不 能 嵌 套 注 释。对5、-5%3的运算结果是2。错三、选择题1、以下选项中,哪些属于合法的标识符?(多 选)ADA、H e l l o _ W o r l d B、c l a s s C、123u s e r n a m e D、u s e r n a m e 1232、关于方法重载的描述,以

8、下选项中哪些是正确的?(多 选)(AD)ABDA、方法名必须一致B、返回值类型必须不同C、参数个数必须一致 D、参数的个数或类型不一致3、以下关于变量的说法错误的是?CA、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个b y t e类型的值赋给一个i n t类型的变量,不需要特殊声明4、以下选项中,s w i t c h语句判断条件可以接收的数据类型有哪些?(多 选)A B C DA、i n t B、b y t e C、c h a r D、s h o r t5、假 设i n t x =2,三元表达式x 0?x

9、+l:5的运行结果是以下哪一个?CA、0 B、2 C、3 D、56、下面的运算符中,用于执行除法运算是哪个?AA、/B、C、D、*7、下列语句哪些属于循环语句?(多 选)A CA、f o r语句 B、i f语句 C、w h i l e语句 D、s w i t c h语句8、下面哪种写法可以实现访问数组a r r的 第1个元素?AA、a i T 0 B、a r r(O)C、a r r l l J D、a r r(1)9、以下哪个选项可以正确创建一个长度为3的二维数组?(B)CA、n e w i n t 2J 3;B、n e w i n t 3 J;C、n e w i n t|3;D、以上答案皆不

10、对10、请先阅读下面的代码。int x=1;int y=2;if(x%2=0)y+;else y ;)System.out.printin(y=n+y);上面一段程序运行结束时,变量y 的值为下列哪一项?AA、1 Bs 2 C、3 D、switch 语句四、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。代码一:b=7(编译不通过。int值 4 和 b 相加时,由于变量b 的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过)public class TestOl public static void

11、main(String args)byte b=3;b=b+4;System.out.printin(*=+b);代码二:不 能,y 只 在 有效(编译不通过。这是因为y 是在最里层的代码块中定义的一个变量,只有在那个代码)public class Test02 public static void main(String args)int x=12;(int y=96;System,out.printIn(ux is*+x);System.out.printin(y is +y);y=x;System,out.printIn(*x is*+x);)代码三:3 因为没有break,所以4 以后

12、都执行public class Test03 public static void main(String args)int x=4,j=0;switch(x)case 1:j+;case 2:j+;case 3:j+;case 4:j+;case 5:j+;default:j+;)System.out.printin(j);代码四:987public class Test04 public static void main(String args)int n=9;while(n 6)System.out.printin(n);n-;)五、简答题1、请列举Java语言中的八种基本数据类型,并说

13、明每种数据类型所占用的空间大小。Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。ini整 型,占4 个字节。long长整型,占 8 个字节。float单精度浮点型,占4 个字节。double双精度浮点型,占 8 个字节。char字符型,占两个字节。boolean型,表示逻辑值,有 true和 false两个值,分别占一个字节。2、简述&与&的区别并举例说明。如 果 使 用&在表达式之间进行连接,那么无论任何情况,&两边的表达式都会参与计算。如果使用&进行连接,当&左边的表达式为false,则不会执行其右边的表达式。例如定义int x=2,y=0;bo

14、olean b=x 0 表达是会发生被()除异常,因为x/y 的表达式执行了。而 boolean b=x 0 是不会出现这种异常的,因为x 0)y=0(x=0)_x2-1(x 10时,paly()方法用throw关键字抛出NoThisSongException异 常,创建异常对象 时,调用有参的构造方法,传 入”您播放的歌曲不存在。3)在测试类中创建Player对 象,并调用play。方法测试自定义的NoThisSongException异 常,使用 try.catch语句捕获异常调用NoThisSongException的getMessage。方法打印出异常信息。第5章多线程一、填空题1、一

15、个应用程序中有多条并发执行的线索,每 条 线 索 都 被 称 作 一 个 线 程 ,它们会交替执行,彼此间可以进行J S 信_ _ _ _。2、在实现多线程的程序时有两种方式,一是通过继.Thread_ 承 类,二是通过实现Runnable接口。3、yield。方法只能让相同优先级或者更高优先级、处于一就绪 状态的线程获得运行的机会。4、在 Java语言中,同步方法需要用到关键字.synchronized.,对于同步方法而言无需指定同步锁,它的同步锁是方法所在的一对象 也就是_ t h i s(关键字)。5、在多任务系统中,每个独立执行的程序称之为一线程 也就是 正在运行的程序,6、线程的整个

16、生命周期分为五个阶段,分别是一新建_ _ _ _ _就绪 运行 阻塞_ _ _ _ _ _ _和死亡_ _ _ _ _.7、线程的优先级用110之间的整数来表示,其中_ 1 0 _ 代表优先级最高,_ 1 代表优先级最低。8、在 Thread类 中,提供了一个start。方 法,该方法用于启动线程_ _ _ _ _ _ _ 当新线程启动后,系统会自动调用一run()_ 方法。9、要想解决线程间的通信问题,可以使用_ w a i t()n o t i f y O _ n o t i f y A L L()方法。1 0、要将某个线程设置为后台线程,需要调用该线程的一setDaemon(true)_

17、 方 法,该方法必须在_start()_ 方法之前调用。二、判断题1、当我们创建一个线程对象时,该对象表示的线程就立即开始运行。错2、如果前台线程全部死亡,后台线程也会自动死亡。对3、同步代码块中的锁对象可以是任意类型的对象。对4、静态方法不能使用synchronized关键字来修饰。错5、线程结束等待或者阻塞状态后,会进入运行状态。错三、选择题1、Thread类位于下列哪个包中?BA、java.io B、java.lang C、java.util D、java.awt2、关于线程的创建过程,下面四种说法正确的有哪些?(多选)ACA、定义Thread类的子类,重写Thread类的run。方 法

18、,创建该子类的实例对象,调用对象的start()方法B、定义Thread类的子类,重写Thread类的run()方 法,创建该子类的实例对象,调用对象的run()方法C、定义一个实现Runnable接口的类并实现run()方 法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对 象,调用Thread对象的start。方法D、定义一个实现Runnable接口的类并实现run()方 法,创建该类对象,然后调用run。方法3、对于通过实现Runnable接口创建线程,下面说法正确的有哪些?(多选)ABCA、适合多个相同程序代码的线程去处理同一个资源的情况B、把线程同程

19、序代码、数据有效的分离,很好的体现了面向对象的设计思想C、可以避免由于Java的单继承带来的局限性D、编写简单,可以不通过Thread类直接创建线程4、对于线程的生命周期,下面四种说法正确的有哪些?(多选)ABC(BC)A、调用了线程的start。方 法,该线程就进入运行状态(就绪,还要获得CPU使用权)B、线程的run()方法运行结束或被未catch的 InterruptedException等异常终结,那么该线程进入死亡状态C、线程进入死亡状态,但是该线程对象仍然是一个Thread对 象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它D、线程进入死亡状态后,调用它的start。方

20、法仍然可以重新启动5、对于死锁的描述,下面四种说法正确有哪些?(多选)AB(ABD)A、当两个线程互相等待对方释放同步锁时会发生死锁B、Java虚拟机没有检测和处理死锁的措施C、一旦出现死锁,程序会发生异常D、处于死锁状态的线程处于阻塞状态,无法继续运行6、下面四个选项中,哪些是线程进入阻塞状态的原因?(多选)ABCA、线程试图获取某个对象的同步锁,而该锁被其它线程持有B、线程调用了另一个线程的join。方法C、当线程调用了一个阻塞式的10方法D、线程调用了 setDaemon(boolean b)方法7、线程调用sleep。方法后,该线程将进入以下哪种状态?CA、就绪状态 B、运行状态C、阻

21、塞状态 D、死亡状态8、在以下哪种情况下,线程进入就绪状态?DA、线程调用了 sleep。方法时 B、线程调用了 join()方法(终止)C、线程调用了 yield。方法时 D、线程调用了 notify。方法??9、下面四个选项中,对线程同步的目的描述正确的有哪些?(多选)AD(AB)A、锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误B、提高线程的执行效率C、让线程独占一个资源D、让多个线程同时使用一个资源10、对 于 wait。方 法,下面说法正确的是?(多选)ABCDA、wait。方法的调用者是同步锁对象B、wait()方法使线程进入等待状态C、调用同一锁对象

22、的notify。或 notifyAUO方法可以唤醒调用wait()方法等待的线程D、调 用 wait。方法的线程会释放同步锁对象四、程序分析题阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。1代 码 一:不 能,RunHandler没有继承Thread,不能用Thread创建对象(程序不能编译通过,因为RunHandler类没有实现Runnable接 口,因此RunHandler的实例对象不能作为参数传递给Thread的构造方法。)class RunHandler public void run()System.out.printin(r

23、un);)public class Test public static void main(String args)Thread t=new Thread(new RunHandler();t.start();2.代码二:this is run(程序不能编译通过,因为Thread的子类A 重写的run()方法的访问级别不能低于父类run()方法的。访问级别)public class A extends Threadprotected void run()System.out.printIn(nthis is run();)public static void main(String args

24、)A a=new A();a.start();3.代码三:Exception(程序不能编译通过,因为同步方法中调用wait。方法的对象必须为同步锁对象)public class Testprivate Object obj=new Object();public synchronized void a()try(obj.wait();2ft t h i s.w a it()System,out.printin(waiting*);catch(InterruptedException e)System.out.printin(Exception);)public static void main

25、(String args)new Test().a();4.为了使下面的程序能够输出Thread is running,请在在空格处填上相应的代码。public class B implements Runnable public static void main(String args)Thread t=new Thread(new B();_ t.start()_ /此处填空)public void run()System.out.printin(HThread is running);public void go()start(1);)public void start(int i)五、

26、简答题1、java中有几种方法可以实现一个线程?请举例说明。一种是继承java.lang包下的Thread类,覆写Thread类的run()方 法,在 run。方法中实现运行在线程上的代码。new Thread()public void run().start();另一种就是实现java.lang.Runnable接 口,同样是在run()方法中实现运行在线程上的代码。new Thread(new Runnable()public void run().start()2、sleep()和 wait()有什么区别?调 用 sleep。方 法,正在执行的线程主动让出CPU去执行其他线程,在 sle

27、ep。方法指定的时间过后,CPU才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep。方法并不会释放锁,即使当前线程使用sleep。方法让出了 CPU,但其它被同步锁挡住了的线程也无法得到执行。wait。在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了 notify。方法后,调 用 wait。方法的线程就会解除wait状 态,当再次获得同步锁后,程序可以继续向下执行。六、编程题请按照题目的要求编写程序并给出运行结果。1、通过继承Thread类的方式创建两个线程,在 Thread构造方法中指定线程的

28、名字,并将这两个线程的名字打印出来。2、通过实现Runnable接口的方式创建一个新线程,要求main线程打印100此 次 m ain,新线程打印 50 次 new。3、模拟传智播客的三个老师同时分发80份学习笔记,每个老师相当于一个线程。4、编 写 10个线程,第一个线程从1加 到 10,第二个线程从11加 到 20 第十个线程从91力 唾!|100,最后再把十个线程结果相加。第6章 JavaAPI一、填空题1、在 Java中定义了两个类来封装对字符串的操作,它们分别是St ri ng.一。2、Java 中的操作日期的类有_Date_、_Calendar_、DateFormat 等。3、在程

29、序中若想取得一个Runtime实 例,则可以调用Runtime类的静态方法g e tR n u tim e(),4、Math类中用于计算所传递参数平方根的方法是_sqrt()5、Java中专门用于将日期格式化为字符串的类是_DateFormat6、Math类中有两个静态常量PI和 E,分别代表数学常量T 和 一 e _。7、Java中的用于产生随机数的类是_Random_,它位于java.util_包中。8、String类中用于返回字符串字符个数的方法是ength()9、System类中所提供的属性和方法都是一静态 的,想要引用这些属性和方法,直接使用System类调用即可。10、已知 sb

30、为 StringBuffer 的一个实例,且 sb.toStringO 的 值 为 abcde ,则执行 sb.reverse。后,sb.toString()的值为 _”edcba_”_.二、判断题1、String对象和StringBuffer对象都是字符串变量,创建后都可以修改。错2、用 运 算 符 =比较字符串对象时,如果两个字符串的值相同,结果为tru e,错3、System类中的currentTimeMillis。方法返回 个long类型的值。对4、Date、Calendar 以及 DateFormat 类都位于 java.util 包中。错 分另!|java.util.Date ja

31、va.util.Calendarjava.text.DateFormat5、String类的方法replace(CharSequence srtl,CharSequence sr返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srtl得到的。对三、选择题。1、先阅读下面的程序片段:CString str=abccdefcdhH;String arr=str.split(nc);System.out.printIn(arr.length);程序执行后,打印的结果是几?A、2 个 B、3 个 C、4 个 D、5 个2、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?CA

32、、ceil()B、floor()C、abs()D、random()3、Random对象能够生成以下哪种类型的随机数?DA、int B、string C、double D、A 和 C4、String s 二 abcdedcba”:则 s.substring(3,4)返回的字符串是以下选项中的哪个?CA、cd B、de C、d D、e5、假 若 indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?CA、false B、0 C.-1 D、以上答案都不对6、要产生20,999之间的随机整数可以使用以下哪个表达式?BA.(int)(20+Math.random()*97)B.20+(

33、int)(Math.random()*980)C.(int)Math.random()*999D.20+(int)Math.random()*9807、以下Math类的方法中,4 4 通过哪个方法运算后,结果为5 0?D(C)A.round。四舍五入 B.min()C.floor()小于参数最大整数 D.ceil()大于参数最小整数8、下面的程序段执行后,输出的结果是以下哪个选项?AStringBuffer buf=new StringBuffer(HBeijing2008n);buf.insert(7,;System.out.printIn(buf.toString();A、Beijing2

34、008 B、Beijing2008 C、Beijing2008 D、Beijing#20089、阅读下面的程序:Apublic class test public static void main(String args)int i;float f=2.3f;double d=2.7;i=(int)Math.ceil(f)*(int)Math.round(d);System.out.printin(i);)程序执行后,运行结果为以下哪个选项?A、9 B、5 C、6 D、6.110、先阅读下面的程序片段:BString strl=new String(java);String str2=new

35、String(*java);StringBuffer str3=new StringBuffer(Hjava);对于上述定义的变量,以下表达式的值为true的是哪个?A、strl=str2;B、strl.equals(str2);C、strl=str3;D、以上都不对四、程序分析题。阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。代码一:57.0-8.0-58.1-6.1public class A public static void main(String args)System.out.printIn(Mathabs(-5);Sys

36、tem.out.printIn(Math.ceil(6.6);System.out.printIn(Math.floor(-7.8);System.out.printin(Math.round(-4.9);System.out.printIn(Math.max(8.1,-8.1);System.out.printin(Math.min(6.1,-6.1);代码二:str.length():15str.charAt(O):dlastlndex0f(m):n10substring(2,4):feindexOf(g):5public class B public static void main(S

37、tring args)String s=Hdfferghuklmbdfdn;System.out.printin(nstr.length():+s.length();System.out.printin(str.charAt(0):H+s.charAt(0);System.out.printIn(HlastIndexOf(m):n+s.lastlndexOf(m*);System.out.printIn(substring(2,4):+s.substring(2,4);System.out.printin(indexOf(g):+s.indexOf(*g*);)五、简答题1、String 和

38、StringBuffer 有什么区别?String类是不可变类,即字符串值一旦初始化后就不可能改变。SlringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。2、Date和 Calender类有什么区别和联系?Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender类基本取代了 Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。Calendar的 getTime()方 法,getTime。返回一个表示Calendar时间值的Dat

39、e对 象,同时Calendar有一个setTime(Date date)方 法,setTime()方法接收一个Date对 象,将 Dale对象表示的时间值设置给Calendar对 象,通过这两个方法就可以完成Date和 Calendar对象之间的转换。六、编程题请按照题目的要求编写程序并给出运行结果1、编写一个程序,实现字符串大小写的转换并倒序输出,要求如下1 )使 用 for循环将字符串HelloWorld”从最后一个字符开始遍历。2)遍历的当前字符如果是大写字符,就使用toLowerCase。方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符3)定义一个St

40、ringBuffer对 象,调 用 append。方法依次添加遍历的字符,最后调用StringBuffer对象的toString。方 法,并将得到的结果输出。2、计算从今天算起,100天以后是几月几号,并格式化成xxxx年 x 月 x 日的形式打印出来。提 示:1 )调用Calendar类的add。方法计算100天后的日期2)调用Calendar的 getTime()方法返回Date类型对象2)使用FULL格式的DateFormat对 象,调用format()方法格式化Date对象3、利 用 Random类来产生5 个 2050之间的随机整数。提 示:|n-m(n、in均为整数,na)int

41、sum=b/a;System.out.printin(sum);elseSystem.out.printin(输入镯吴”);)当输入的数字是8 时,打印输出的结果是 2。2、以下是使用FilelnputStream类与FileOutputStream类复制文件。阅读以下代码,并将空处填写完整。import j ava.io.*;class Test2 public static void main(String args)String filel,file2;int ch=0;filel=readme.txf,;f ile2=readme.bak,1;try Fileinput St ream

42、 f is=new File Input St ream(f ilel);_ FileOutputStream_ fos=new FileOutputStream(file2);int size=_ fis.available()_;System.out.printIn(字节有效数、n+size);while(ch=fis.read()!=-1)System.out.write(ch);fos.write(ch);)fis.close();fos.close();catch(lOException e)System.out.printIn(etoString();)五、简答题1、简述流的概念。

43、Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在java.io包中。2、Java流被分为字节流、字符流两大流类,两者有什么区别?字节流的两个基类是InputSlream和 Outputstream,字符流的两个基类是Reader和 W riter,它们都是Object类的直接子类,字节流是处理以8 位字节为基本单位的字节流类;Reader和 Writer类是专门处理 16位字节的字符流类。3、简要说明管道流。管道流分为管道输入流(PipedlnputStream)和管道输出流(PipedOutpu

44、tStream),通常由PipedlnputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信,PipedOutputStream向管道写入数据,PipedlnputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。六、编程题按照题目需求,编写程序并运行1、编写一个程序,分别使用字节流W字符流拷贝一个文本文件。提 示:1 )使用 FilelnputStream、FileOutputStream 和 FileReader、FileWriter 分别进行拷贝2)使用字节流拷贝时,定义一个1024长度的字节

45、数组作为缓冲区,使用字符流拷贝使用使用BufferedReader 和 BufferedWriter 包装流进行包装2、某人在玩游戏的时候输入密码123456后成功进入游戏(输错5 次则被强行退出),要求用程序实现密码验证的过程。提 示:1 )使用Sysytem.in包装为字符流读取键盘输入。2)BufferedReader对字符流进行包装。调 用 BufferedReader的 readLine()方法每次读取一行。3)在 for循环判中判断输入的密码是否为123456,如果是则打印 恭喜你进入游戏,并跳出循 环,否则继续循环读取键盘输入。4)当循环完毕,密码还不正确,则打印 密码错误,结

46、束 游 戏 ,并调用System.exit(O)方法结束程序。第9章 GUI(图形用户界面)一、填空题1、Java中,图形用户界面简称 GUI_,它的组件包含在 java.awt 和_ _ _javax.swing 这两个包中。2、为了避免实现监听器中定义的所有方法,造成代码的臃肿,在 JDK中提供了一些 适配器类,这些类实现了接口所有的方法,但是方法中没有任何代码,属于一种空实现。3、在 Java中,Graphics一 类相当于一个抽象的画笔对象,使用它可以在组件上绘制图形。4、事件监听器 负责监听事件源上发生的事件,并对各种事件做出响应处理。5、大部分的Swing组件都是_JC om p

47、o n en t_类的直接或者间接子类,其名称都是在原来AWT组件名称前加上字母J。6、AWT事件有多种多样,大致可以分为一窗体事件_、_键 盘事件_、_ 鼠 标 事 件 _、_动作事件一等。7、如果点击Frame窗口右上角的关闭按钮能将其关闭,那么这个Frame窗口添加了_WindowListener_监听器,并实现了监听器的实现了_ _windowClosing(WindowEvent e)_方法。8、对话框可以分为一模态对话框 和 非模态对话框一 两种。9、每一个容器都有一个默认的布局管理器,如果不希望通过布局管理器对容器进行布局,可以调用容器的 setLayout(null)一 方法将

48、其取消。10、创建下拉式菜单需要使用三个组件,分别是_ _ J Menu Bar_ _JMenu 和_ _ _ JMenuItem。二、判断题。1、容 器(Container)是一个可以包含基本组件和其它容器的组件。对2、可以通过实现ActionListener接口或者继承ActionAdapter类来实现动作时间监听器。错3、CardLayout布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。对4、非模态对话框是指用户需要等到处理完对话框后才能继续与其它窗口进行交互。错5、JFrame的默认布局管理器是FlowLayout.错三、选择题1、下面四个组件中哪一个不是Comp

49、onent的子类?DA、Button B、Dialog C、Label D、MenuBar2、每一个GUI程序中必须包含一个什么组件?DA、按钮B、标签C、菜单D、容器3、下面四个选项中,哪些是事件处理机制中的角色?(多选)ABDA、事件 B、事件源C、事件接口 D、事件监听器4、当鼠标按键被释放时,会调用以下哪个事件处理器方法?AA、mouseReleased()B、mouseUpOC、mouseOff()D、mouseLetGo()5、ActionEvent的对象会被传递给以下哪个事件处理器方法?DA、addChangeListener()B、addActionListener()C、st

50、ateChanged()D、actionPerfbrmed()6、AWT中,常用的布局管理器包括哪些?(多选)ABCDA、FlowLayout布局管理器 B、BorderLayout布局管理器C、CardLayout布局管理器 D、GridLayout布局管理器7、下面哪些是FlowLayout类中表示对齐方式的常量?(多选)ABDA、FlowLayout.LEFT B、FlowLayout.CENTERC、FlowLayout.VERTICAL D、FlowLayout.RIGHT8、下面对与Swing的描述,正确的有哪些?侈选)ABCA、Swing是 在 AWT基础上构建的一套新的图形界面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com