《Java基础入门》课后习题答案.pdf
《《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)五、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java基础入门 Java 基础 入门 课后 习题 答案
限制150内