面向对象程序设计—Java语言习题答案
第1章
一、选择题
1.下列选项中,不属于Java语言特点的一项是( C )。
(A)分布式 (B)安全性
(C)编译执行 (D)面向对象
【解析】Java程序采用解释执行的方法。在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素?
(A)方法 (B)包
(C)对象 (D)接口
【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件?扩展名是( D )?
(A)13个字节码文件,扩展名为.class (B)1个字节码文件,扩展名为.class
(C)3个字节码文件,扩展名为.java (D)3个字节码文件,扩展名为.class
【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Applet应用程序时,需要用户考虑问题是( B )。
(A)窗口如何创建 (B)绘制的图形在窗口中的位置
(C)程序的框架 (D)事件处理
【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口
以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于( B )种语言?
(A)面向机器的语言 (B)面向对象的语言
(C)面向过程的语言 (D)面向操作系统的语言
【解析】Java语言是一种纯面向对象的语言。
6.下列关于Application和Applet程序的说法中不正确的一项是( B )。
(A)Application使用解释器 (B)Application不使用独立的解释器
(C)Applet在浏览器中运行 (D)Applet必须继承Java的Applet类
【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
7.下列选项中,不属于Java核心包的一项是( A )。
(A)javax.swing (B)java.io
(C)java.utile (D)java.lang
【解析】凡是以java开头的包都是Java核心包,以javax开头的包则属于Java扩展包。
8.下列描述中,不正确的是( A )。
(A)不支持多线程 (B)一个Java源文件不允许有多个公共类
(C)Java通过接口支持多重继承 (D)Java程序分为Application和Applet两类
【解析】Java是支持多线程的语言。
9.阅读下列代码,选出该代码段正确的文件名( C )。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] args){
System.out.println("main() in class B");
}
}
(A)A.java (B)A.class
(C)B.java (D)B.class
【解析】Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java。
10.编译下面源程序会得到哪些文件( D )?
class A1{
}
class A2{
}
public class B{
public static void main(String[] args){
}
}
(A)只有B.class文件 (B)只有A1.class和A2.class文件
(C)编译不成功 (D)A1.class、A2.class和B.class文件
【解析】由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件。
二、填空题
1.Java程序的编译和执行模式包括2点,是 半编译 和 半解释 。
2.Java语言支持 TCP/IP 协议,从而使得Java程序在分布式环境中能够很方便地访问处于不同地点的 对象 。
3.开发Java程序的一般步骤是:源程序编辑、 生成字节码 和 解释执行 。
4.每个Java Application程序可以包括许多方法,但是必须有且只能有一个 main() 方法,统一格式为 public static void main(String[] args) ,它是程序执行的入口。
5.JVM把字节码程序与各种不同的 操作系统 和 硬件 分开,使得Java程序独立于平台。
6.在Java程序中,能在WWW浏览器上运行的是 Applet 程序。
7.Java源程序文件和字节码文件的扩展名分别为 .java 和 .class 。
8.如果在Java程序中需要使用java.utile包中的所有类,则应该在程序开始处加上 import java.utitle.* 语句。
三、编程题
1.编写一个Java Application类型的程序,输出“This is my first Java Application!”。
【编程分析】 要编写Java Application类型的程序,需要在JCreator中创建一个Java Application类型的工程,这时JCreator会自动创建程序框架,该框架包含一个公共类,其中包含一个main()方法。删除main()方法中自动生成的代码,编写自己的代码即可。由于该程序要求输出一句话,因此在main()方法中直接调用System.out.println()或System.out.print()方法即可实现。
【参考程序】
public class X3_1 {
public static void main(String args[]){
System.out.println("This is my first Java Application!");
}
}
【运行结果】
This is my first Java Application!
2.编写一个Java Applet类型的程序,输出“这是我的第一个Java Applet类型的程序”。
【编程分析】 要编写一个Java Applet类型的程序,首先利用JCreator创建一个Java Applet类型的工程,该工程自动创建两个文件,一个源文件(.java文件)和一个HTML文件(.html
文件),源文件中包含一个公共类,其中包含两个方法,即init()方法和paint()方法,由于该程序只是要求输出一句话,因此只要将paint()方法中g.drawString()方法的第一个参数修改为要输出的内容即可。如果不是利用JCreator开发工具,而是利用J2SDK,则用户需要自己编写HTML文件。
【参考程序】
import java.awt.*;
import java.applet.*;
public class X3_2 extends Applet {
public void paint(Graphics g) {
g.drawString("这是我的第一个Java Applet类型的程序",50,50);
}
}
【运行结果】
第2章
一、选择题
1.下列( D )是合法的标识符?
(A)12class (B)void (C)-5 (D)_blank
【解析】根据Java标识符的构成规则确定。
2.下列( B )不是Java中的保留字?
(A)if (B)sizeof (C)private (D)null
【解析】根据Java保留字表进行选择。
3.下列( C )不是合法的标识符?
(A)$million (B)$_million (C)2$_million (D)$2_million
【解析】根据Java标识符的构成规则确定。
4.下列选项中,( B )不属于Java语言的基本数据类型?
(A)整数型 (B)数组 (C)浮点型 (D)字符型
java变量的数据类型分为两种【解析】根据Java语言的基本数据类型包含的类别选取。
5.下列关于基本数据类型的说法中,不正确的一项是( D )。
(A)boolean类型变量的值只能取真或假
(B)float是带符号的32位浮点数
(C)double是带符号的64位浮点数
(D)char是8位Unicode字符
【解析】Java中的字符采用的是16位的Unicode字符。
6.下列关于基本数据类型的取值范围的描述中,正确的一个是( B )。
(A)byte类型的取值范围是-128~128 (B)boolean类型的取值范围是真或假
(C)char类型的取值范围是0~65536 (D)short类型的取值范围是-32767~32767
【解析】根据每种类型占几个字节即可推算出其取值范围,如byte类型占1个字节,即共包含28个数值,其取值范围范围应为-128~127,其他类型也是如此。
7.下列关于Java语言简单数据类型的说法中,正确的一项是( A )。
(A)以0开头的整数代表8进制整型常量
(B)以0x或0X开头的整数代表8进制整型常量
(C)boolean类型的数据作为类成员变量的时候,相同默认的初始值为true
(D)double类型的数据占计算机存储的32位
【解析】根据每种数据类型的特性进行判断。
8.下列Java语句中,不正确的一项是( C )。
(A)$e, a, b = 10; (B)char c, d = ‘a’;
(C)float e = 0.0d; (D)double c = 0.0f;
【解析】不能将double类型的常量赋值给float类型的变量。
9.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。
(A)byte的默认值是0 (B)boolean的默认值是false
(C)char类型的默认值是’\0’ (D)long类型的默认值是0.0L
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论