《Java基础入门》课后章节习题及答案(完整版)3152.pdf
《《Java基础入门》课后章节习题及答案(完整版)3152.pdf》由会员分享,可在线阅读,更多相关《《Java基础入门》课后章节习题及答案(完整版)3152.pdf(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 基础入门课后章节习题及答案(完整版)Java 基础入门课后习题 第 1 章 Java 开发入门 一、填空题 1、Java 的三大体系分别是_JavaSE_、_JavaEE_、_JavaME_。2、Java 程序的运行环境简称之为 JRE_。3、编译 Java 程序需要使用_javac_命令。4、javac.exe 和 java.exe 两个可执行程序存放在 JDK 安装目录的 bin_目录下。5、path_环境变量用来存储 Java 的编译和运行工具所在的路径,而_classpath_环境变量则用 来保存保存 Java 虚拟机要运行的“.class”文件路径。二、选择题 1、以下选项
2、中,哪些属于 JDK 工具?(多选)ABCD A、Java 编译器 B、Java 运行工具 C、Java 文档生成工具 D、Java 打包工具 2、Java 属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在 Java 虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好 JDK 后,在其 bin 目录下有许多 exe 可执行文件,其中 java.exe 命令的作用是以下哪一种?B A、Java 文档制作工具 B、Java 解释器 C、Java 编译器 D、Java 启动器 5、如果 jdk 的安装
3、路径为:d:jdk,若想在命令窗口中任何当前路径下,都可以直接使用 javac 和 java 命令,需要将环境变量 path 设置为以下哪个选项?B Ad:jdk;Bd:jdkbin;Cd:jrebin;Dd:jre;三、问答题 1、简述 Java 的特点。面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、简述 JRE 与 JDK 的区别。JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了 Java 程序运行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给普通用
4、户使用的,如果你只想运行别人开发好的Java 程序,那么,你的计算机上必须且只需安装 JRE。JDK(Java Development Kit,Java 开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给 Java 开发人员使用的。初学者学习和使用Java 语言时,首先必须下载和安装 JDK。JDK 中已经包含了 JRE部分,初学者安装 JDK 后不必再去下载和安装 JRE 了。JDK(Java Development Kit,Java 开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给 Java 开发人员使用
5、的。初学者学习和使用Java 语言时,首先必须下载和安装 JDK。JDK 中已经包含了 JRE部分,初学者安装 JDK 后不必再去下载和安装 JRE 了。四、编程题 使用记事本编写一个 HelloWorld 程序,在 dos 命令行窗口编译运行。请按照题目的要求编写程序并给出运行结果。public class HelloWorld public static void main(String args)System.out.println(这是第一个 Java 程序!);第 2 章 Java 编程基础 一、填空题 1、Java 中的程序代码都必须在一个类中定义,类使用_class_关键字来定义
6、。2、布尔常量即布尔类型的两个值,分别是_true_和_flase_。3、Java 中的注释可分为三种类型,分别是_单行注释/_、_多行注释_/*/_、文档/注释*/_。4、Java 中的变量可分为两种数据类型,分别是_基本数据类型_和_引用数据类型_。5、在 Java 中,byte 类型数据占_1_个字节,short 类型数据占_2_个字节,int 类型数据占_4_ 个字节,long 类型数据占_8_个字节。6、在逻辑运算符中,运算符_&_和_&_用于表示逻辑与,_|_和_|_表示逻辑或。7、若 x=2,则表达式(x+)3 的值是_0_。8、若 int a=2;a+=3;执行后,变量 a 的
7、值为_5_。9、若 int a=12,45,34,46,23;,则 a2=_34_。10、若 int a32=123,345,34,56,34,56,则 a21=_56_。二、判断题 1、Java 语言不区分大小写。错 2、0 xC5 表示的是一个十六进制整数。对 3、continue 语句只用于循环语句中,它的作用是跳出循环。错 4、“/*/”中可以嵌套“/”注释,但不能嵌套“/*/”注释。对 5、-5%3 的运算结果是 2。错 三、选择题 1、以下选项中,哪些属于合法的标识符?(多选)AD A、Hello_World B、class C、123username D、username123
8、2、关于方法重载的描述,以下选项中哪些是正确的?(多选)(AD)ABD A、方法名必须一致 B、返回值类型必须不同 C、参数个数必须一致 D、参数的个数或类型不一致 3、以下关于变量的说法错误的是?C A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个 byte 类型的值赋给一个 int 类型的变量,不需要特殊声明 4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些?(多选)ABCD A、int B、byte C、char D、short 5、假设 int x=2,三元表达式 x0?x+
9、1:5 的运行结果是以下哪一个?C A、0 B、2 C、3 D、5 6、下面的运算符中,用于执行除法运算是哪个?A A、/B、C、%D、*7、下列语句哪些属于循环语句?(多选)AC A、for 语句 B、if 语句 C、while 语句 D、switch 语句 8、下面哪种写法可以实现访问数组 arr 的第 1 个元素?A A、arr0 B、arr(0)C、arr1 D、arr(1)9、以下哪个选项可以正确创建一个长度为 3 的二维数组?(B)C A、new int 23;B、new int3;C、new int3;D、以上答案皆不对 10、请先阅读下面的代码。int x=1;int y=2;
10、if(x%2=0)y+;else y-;System.out.println(y=+y);上面一段程序运行结束时,变量 y 的值为下列哪一项?A A、1 B、2 C、3 D、switch 语句 四、程序分析题 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。代码一:b=7(编译不通过。int 值 4 和 b 相加时,由于变量 b的类型为 byte,取值范围没有 int 类型大,存不下 int 类型的值,因此编译不通过)public class Test01 public static void main(String args)byte b
11、=3;b=b+4;System.out.println(b=+b);代码二:不能,y 只在有效(编译不通过。这是因为 y 是在最里层的代码块中定义的一个变量,只有在那个代码)public class Test02 public static void main(String args)int x=12;int y=96;System.out.println(x is +x);System.out.println(y is +y);y=x;System.out.println(x is +x);代码三:3 因为没有 break,,所以 4 以后都执行 public class Test03 pu
12、blic 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.println(j);代码四:9 8 7 public class Test04 public static void main(String args)int n=9;while(n 6)System.out.println(n);n-;五、简答题 1、请列举 Java 语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。Java
13、语言的八种基本数据类型有:byte 字节型,占一个字节。short 短整型,占两个字节。int 整型,占 4 个字节。long 长整型,占 8 个字节。float 单精度浮点型,占 4 个字节。double双精度浮点型,占 8 个字节。char 字符型,占两个字节。boolean型,表示逻辑值,有 true 和 false 两个值,分别占一个字节。2、简述&与&的区别并举例说明。如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&”进行连接,当“&”左边的表达式为 false,则不会执行其右边的表达式。例如定义int x=2,y=0;boolean
14、 b=x 0 表达是会发生被 0 除异常,因为 x/y 的表达式执行了。而 boolean b=x 0 是不会出现这种异常的,因为 x 0)y=0(x=0)x21(x 10 时,paly()方法用 throw 关键字抛出 NoThisSongException 异常,创建异常对 象时,调用有参的构造方法,传入“您播放的歌曲不存在”。3)在测试类中创建 Player 对象,并调用 play()方法测试自定义的 NoThisSongException 异常,使用 trycatch 语句捕获异常,调用 NoThisSongException 的 getMessage()方法打印出异常信息。第 5 章
15、多线程 一、填空题 1、一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程_,它们会交替执行,彼此 间可以进行_通信_。2、在 实 现 多 线 程 的 程 序 时 有 两 种 方 式,一 是 通 过 继_Thread_承类,二是通过实现 Runnable_接口。3、yield()方法只能让相同优先级或者更高优先级、处于_就绪_状态的线程获得运行的机会。4、在 Java 语言中,同步方法需要用到关键字_synchronized_,对于同步方法而言无需指定同步锁,它的同步 锁是方法所在的_对象_,也就是_this_(关键字)。5、在多任务系统中,每个独立执行的程序称之为_线程_,也就是“
16、正在运行的程序”。6、线程的整个生命周期分为五个阶段,分别是_新建_、就绪_、_运行_、_阻塞_、和死亡_。7、线程的优先级用 110 之间的整数来表示,其中_10_代表优先级最高,_1_代表优先级最低。8、在 Thread 类中,提供了一个 start()方法,该方法用于启动线程_,当新线程启动后,系统会 自动调用_run()_方法。9、要想解决线程间的通信问题,可以使用_wait()_、notify()_、_notifyALL()_方法。10、要将某个线程设置为后台线程,需要调用该线程的_setDaemon(true)_方法,该方法必须在 _start()_方法之前调用。二、判断题 1、当
17、我们创建一个线程对象时,该对象表示的线程就立即开始运行。错 2、如果前台线程全部死亡,后台线程也会自动死亡。对 3、同步代码块中的锁对象可以是任意类型的对象。对 4、静态方法不能使用 synchronized 关键字来修饰。错 5、线程结束等待或者阻塞状态后,会进入运行状态。错 三、选择题 1、Thread 类位于下列哪个包中?B A、java.io B、C、java.util D、java.awt 2、关于线程的创建过程,下面四种说法正确的有哪些?(多选)AC A、定义 Thread 类的子类,重写 Thread 类的 run()方法,创建该子类的实例对象,调用对象的 start()方法 B
18、、定义 Thread 类的子类,重写 Thread 类的 run()方法,创建该子类的实例对象,调用对象的 run()方法 C、定义一个实现 Runnable 接口的类并实现 run()方法,创建该类实例对象,将其作为参数传递给 Thread 类的构造方法来创建 Thread 对象,调用 Thread 对象的 start()方法 D、定义一个实现 Runnable 接口的类并实现 run()方法,创建该类对象,然后调用 run()方法 3、对于通过实现 Runnable 接口创建线程,下面说法正确的有哪些?(多选)ABC A、适合多个相同程序代码的线程去处理同一个资源的情况 B、把线程同程序代
19、码、数据有效的分离,很好的体现了面向对象的设计思想 C、可以避免由于 Java 的单继承带来的局限性 D、编写简单,可以不通过 Thread 类直接创建线程 4、对于线程的生命周期,下面四种说法正确的有哪些?(多选)ABC(BC)A、调用了线程的 start()方法,该线程就进入运行状态(就绪,还要获得 CPU 使用权)B、线 程 的run()方 法 运 行 结 束 或 被 未catch的InterruptedException 等异常终结,那么该线程进入死 亡状态 C、线程进入死亡状态,但是该线程对象仍然是一个 Thread 对象,在没有被垃圾回收器回收之前 仍可以像引用其它对象一样引用它
20、D、线程进入死亡状态后,调用它的 start()方法仍然可以重新启动 5、对于死锁的描述,下面四种说法正确有哪些?(多选)AB(ABD)A、当两个线程互相等待对方释放同步锁时会发生死锁 B、Java 虚拟机没有检测和处理死锁的措施 C、一旦出现死锁,程序会发生异常 D、处于死锁状态的线程处于阻塞状态,无法继续运行 6、下面四个选项中,哪些是线程进入阻塞状态的原因?(多选)ABC A、线程试图获取某个对象的同步锁,而该锁被其它线程持有 B、线程调用了另一个线程的 join()方法 C、当线程调用了一个阻塞式的 IO 方法 D、线程调用了 setDaemon(boolean b)方法 7、线程调用
21、 sleep()方法后,该线程将进入以下哪种状态?C A、就绪状态 B、运行状态 C、阻塞状态 D、死亡状态 8、在以下哪种情况下,线程进入就绪状态?D A、线程调用了 sleep()方法时 B、线程调用了 join()方法(终止)C、线程调用了 yield()方法时 D、线程调用了 notify()方法?9、下面四个选项中,对线程同步的目的描述正确的有哪些?(多选)AD(AB)A、锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误 B、提高线程的执行效率 C、让线程独占一个资源 D、让多个线程同时使用一个资源 10、对于 wait()方法,下面说法正确的是?(多选)
22、ABCD A、wait()方法的调用者是同步锁对象 B、wait()方法使线程进入等待状态 C、调用同一锁对象的 notify()或 notifyAll()方法可以唤醒调用wait()方法等待的线程 D、调用 wait()方法的线程会释放同步锁对象 四、程序分析题 阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。1.代码一:不能,RunHandler没有继承 Thread,不能用Thread 创建对象(程序不能编译通过,因为 RunHandler 类没有实现 Runnable 接口,因此 RunHandler 的实例对象不能作为参数传递给
23、 Thread 的构造方法。)class RunHandler public void run()System.out.println(run);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 Thread protected void
24、run()System.out.println(this is run();public static void main(String args)A a=new A();a.start();3.代码三:Exception(程序不能编译通过,因为同步方法中调用 wait()方法的对象必须为同步锁对象)public class Test private Object obj=new Object();public synchronized void a()try obj.wait();改 this.wait()System.out.println(waiting);catch(Interrupt
25、edException e)System.out.println(Exception);public static void main(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.println(Threa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java基础入门 Java 基础 入门 课后 章节 习题 答案 完整版 3152
限制150内