当前位置:
文档之家› JAVA语言程序设计教程第二版习题解答
JAVA语言程序设计教程第二版习题解答
1)– –a%b++ 2) (a>=1)&&a<=12?a:b) 3) f^(a>b) 4) (– –a)<<a。
【答】: Java的运算符主要由算术运算符、关系运算符、条件运算符、位运算符、逻 辑运算符以及赋值运算符。表达式由运算符、操作数和方法调用,按照语言 的语法规则构造而成的符号序列。 表达式的结构是: 1)– –a%b++的结果是:1 2)(a>=1)&&a<=12?a:b)的结果是:1 3)f^(a>b)的结果是:false 4)(– –a)<<a的结果是:0 5.Java中标准输入输出使用哪种系统类、使用哪个对象和方法?
对象“汽车”与对象“小汽车”是什么关系,对象“汽车”与“轮胎”又是什么关 系?
【答】: 对象“汽车”与对象“小汽车”具有继承关系,即对象“小汽车”继承了对象“汽 车”。“轮胎”是对象“汽车”的一个属性,所以对象“汽车”包含“轮胎”,二者 是包含关系。 简述Java语言的主要特点。
【答】: Java语言的主要特点:(1)简单性 (2)面向对象 (3)分布式 (4)健 壮性 (5)结构中立 (6)安全性 (7)可移植 (8)解释的(9)高性能 (10) 多线程 (11)动态性 5.简述Java语言与C/C++语言的主要差异。
public class Example02{ public static void main(String[] args){ System.out.print(0) int fib0=0; int fib1=1; int fib2=fib0+fib1 while(fib2<100){ fib0=fib1; fib1=fib2; fib2=fib1+fib0; System.out.print(","+fib1); } } } (3).产生0~20的随机整型,然后计算并打印它的结果:
【答】: Java的字符类型采用16位Unicode(全球文字共享编码)方式,用16位来表
示东西方字符。由于采用Unicode编码方案,使得Java在处理多语种的能力方面得 到大大提高,从而为Java程序在基于不同语种之间实现平滑移植铺平了道路。
Java有哪些运算符和表达式?请写出下面这些表达式的运算结果(设a =2,b = – 3, f = true)。
【答】: 1) 对象:就是现实世界中某个具体的物理实体在计算机中的映射和体现,是由 属性和操作所构成的一个封闭整体。 2) 实例:是对象在计算机内存中的映像。 3) 类:是描述对象的“基本原型”,是描述性的类别或模板,即对一组对象的抽 象。它定义一组对象所能拥有的共同特征,用以说明该组对象的能力与性质。 4) 消息:消息是对象之间进行通信的一种数据结构。 5) 封装:封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封 装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的 内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。 6) 继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一 种关系。 7) 多态:多态性是指一个名字具有多种语义,即指同一消息为不同对象所接受 时,可以导致不同的操作。
【答】: 通过系统类ng.System达到访问标准输入输出的功能。System类管理标
准输入输出流和错误流,有以下三个对象: 1)System.out:把输出送到默认的显示(通常是显示器)。常使用输出的方 法有print()、
println()等。
2)System.in:从标准输入获取输入(通常是键盘)。常实现输入处理的方
} (4).三重循环: public class Example05{ public static void main(String[] args){ for(int i=0;i<3;i++){ resume: for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ System.out.println("\n"+i+" "+j+' "+k); if (i==1&& k==0) break resume; } System.out.println("\tEnd of k loop;j="+j); } System.out.println("\tEnd of j loop;i="+i); } System.out.println("\tEnd of i loop.") } } 【答】:
【答】: Java基于C++,与之有许多相似之处,但其设计更易于使用,它们之间主要差异 有:
(1)Java中无C/C++中最复杂并有潜在危险的指针 (2)Java无C/C++中的#include 、#define和头文件。
(3)Java无C/C++中的structure,union及typedef。
Java虚拟机是一个软件系统,它可以翻译并运行Java字节码。它是Java的核 心,保证了在任何异构的环境下都可运行Java程序,解决了Java的跨平台的问题。
Java的字节码(byte‐code)是与平台无关的是虚拟机的机器指令 7.简述Java程序的运行过程。 【答】: 首先编写Java源代码程序,通过Java虚拟机编译成.class的字节码程序。然后 通过然后再执行翻译所生成的字节代码,属于先解释后执行方式。在运行 时,字节码载入器用于调入包含、继承所用到的所有类,确定内存分配, 变成真正可执行的机器码。由,再通过字节码校验器就是用于检验字节码 是否正确,如果通过校验,再由系统执行平台解释执行。 8.Java程序分哪两类?各有什么特点? 【答】: Java程序根据程序结构的组成和运行环境的不同可以分为两类:Java Application (Java独立应用程序)和Java Applet(Java小应用程序)。Java独立应用程序 是一个完整的程序,需要独立的Java解释器来解释执行;而Java小应用程序 则是嵌在Web页面中的非独立应用程序,由Web浏览器内部所包含的Java解 释器来解释执行,为Web页面增加交互性和动态性。
习题一
简述面向对象软件开发方法的重要意义。
【答】: 面向对象的软件开发方法按问题论域来设计模块,以对象代表问题解的中心 环节,力求符合人们日常的思维习惯,采用“对象+消息”的程序设计模式,降 低或分解问题的难度和复杂性,从而以较小的代价和较高的收益获得较满意 的效果,满足软件工程发展需要。 2.解释下面几个概念: 1ห้องสมุดไป่ตู้对象 2)实例 3)类 4)消息 5)封装 6)继承 7)多态
习题二
Java语言对标识符命名有何规定,下面这些标识符哪些是合法的,哪些是不 合法的。
1)Myname 2) JavaLanguage 3) 2Person 4) _is_Has 5) $12345。 【答】: 合法的标识符有:Myname、JavaLanguage、_is_Has 非法的标识符有:2Person、$12345 2.Java有哪些基本数据类型,与C/C++相比有何特点?复合数据类型是哪几 种? 【答】: 基本数据类型有:整型数据类型(字节整型、短整型、整型、长整型),实 数数据类型(单精度实数、双精度实数),字符数据类型和布尔数据类型。 与C/C++相比,Java的数据类型与C++相似,但有两点不同:①在Java语言中 所有的数据类型是确定的,与平台无关,所以在Java中无sizeof操作符;②Java中 每种数据类型都对应一个默认值。这两点体现了Java语言的跨平台性和完全稳定 性。 Java的复合类型是由用户根据需要自己定义并实现其运算的数据类型,主要 有类类型、接口和数组等。 Java的字符类型采用何种编码方案?有何特点?
法有read()、skip()等;
3)System.err:把错误信息送到默认的显示。常见方法有print()、println()、
write()等。
6.阅读下列程序,写出运行结果。
(1). public class Example0401{ public static void main(String[] args){ for(int x=0;x<10;x++){ int y=x*x+x+41'; System.out.println("\t"+x+"\t"+y); } } } (2).菲波拉契数列:
(1)的运行结果如下:
0 41 1 43 2 47 3 53 4 61 5 71 6 83 7 97 8 113 9 131
(2)的运行结果如下:
0,1,2,3,5,8,13,21,34,55,89
(3)的运行结果如下:
运行结果取决于随机数。求随机数的阶乘,其中的一个运行结果如下:
3!=6
(4)的运行结果如下:
000 001 002 End of k loop;j=0
010 011 012 End of k loop;j=1 020 021 022 End of k loop;j=2 End of j loop;i=0 100 End of j loop;i=1 200 201 202 End of k loop;j=0 210 211 212 End of k loop;j=1 220 221 222 End of k loop;j=2 End of j loop;i=2 End of i loop. 7.分析下面两个三重循环程序之间的差别,写出结果,然后上机进行检验。 (1).三重循环1: public class Example01{