Java程序设计实用教程(课本习题解答)
Java程序设计实用教程_胡伏湘_清华大学出版社008习题答案
《Java程序设计精典教程》习题答案编著:胡伏湘,雷军环清华大学出版社第8章习题解答一、简答题1.什么是异常?异常产生的原因有哪些?答:异常就是Java程序在运行过程中出现的错误。
这类错误使程序非正常终止,但通过修正后还可以继续运行。
异常产生的原因有:(1)JVM检测到非正常的执行状态,这些状态可能由以下情况引起的:⏹表达式违反了Java语言的语义,如除数为0⏹装入或链接程序时出错⏹超出了资源限制,如内存不足,这种异常是程序员无法预知的(2)程序代码中的throw语句被执行(3)因为代码段不同步而产生,可能的原因是:⏹Thread(线程)的stop方法被调用⏹JVM内部发生错误。
2.为什么Java的异常处理技术优于传统程序的异常处理技术?答:在没有异常处理机制的程序设计语言中进行异常处理,通常是在程序设计中使用if-else或switch-case语句所能设想的到的错误情况,以捕捉程序中可能发生的错误。
在这种处理方式的程序中,对异常的监视、报告和处理的代码与程序中完成正常功能的代码交织在一起,即在完成正常功能的程序的许多地方插入了与处理异常有关的程序块。
这种处理方式虽然在异常发生点可以看到程序如何处理异常,但它干扰了人们对程序正常功能的理解,使程序的可读性和可维护性下降,并且由于人的思维限制,常常会遗漏一些意想不到的异常。
Java的异常处理机制是在程序中监视可能发生异常的程序块,将一个程序中的所有异常收集起来放到程序的某一段中处理,而不必在被监视的程序块中多处插入处理异常的代码,使完成功能的程序代码与进行异常处理的程序代码分开,增强了程序的可读性和可靠性,减少了编程人员的工作量,增加了程序的灵活性。
此外,这种机制可以及时有效地处理程序运行中的异常,可以预防因错误的程序代码或系统错误所造成的不可预期的结果发生,并且当这些不可预期的错误发生时,异常处理机制会尝试恢复异常发生前的状态或对这些错误结果做一些善后处理。
JAVA程序设计实用教程课后习题简答(第3版)
类中成员有几种访问权限?分别使用什么关键字? 【答】Java 定义了三个表示权限的关键字(public、protected、private) 。类有 2 种访问权限 分别是:公有 public,缺省。类中成员有 4 种访问权限分别是:公有 public,可被所有类访 问;保护 protected,可被同一包及包外所有子类访问;缺省,可被当前包中所有类访问; 私 有 private,只能被当前类访问。 3-8 this 引用有什么作用?this 引用有几种使用方法? 【答】Java 类中成员方法与 C 语言中函数还有一个重要差别就是, Java 类中每个成员方法 都可以使用代词 this 引用调用该方法的当前对象自己,this 引用有以下 3 种用法: (1)this 用于指代调用成员方法的当前对象自身,语法格式如下: this (2) 通过 this 可以调用当前对象的成员变量, 调用当前对象的成员方法。 语法格式如下: this.成员变量 this.成员方法([参数列表])注意:Java 中的 this 是引用方式,不是 C++中的指针方式。 (3)this 引用还可以用在重载的构造方法中,调用本类已定义好的构造方法。语法格式 如下: this([参数列表])注意:在构造方法中,this()引用必须是第一行语句。 3-9 说明类成员与实例成员的区别。 【答】Java 的类中可以包括两种成员:实例成员和类成员。 实例成员是属于对象的, 实例成员包括实例成员变量和实例成员方法。 类成员是属于类 的,需要用关键字 static 标识,也称为静态成员。具体区别如下: 1.实例成员变量与类成员变量 (1) 两者声明时的差别。当一个类声明成员变量时,没有使用关键字 static 声明的为实 例成员变量,使用关键字 static 声明的为类成员变量。 (2) 两者存储结构的差别。当创建一个对象时,系统会为每一个对象的每一个实例成员 变量分配一个存储单元, 使得属于不同对象的实例成员变量有不同的值; 而为每一个类成员 变量只分配一个存储单元,使得所有对象公用一个类成员变量。 (3) 两者引用方式的差别。实例成员变量属于对象,必须通过对象访问;类成员变量属 于类,既可以通过对象,也可以通过类访问。 2.实例成员方法与类成员方法 (1) 两者声明时的差别。当一个类声明成员方法时,没有使用关键字 static 声明的为实 例成员方法,使用关键字 static 声明的为类成员方法。 (2) 两者方法体中语句的差别。类成员方法只能访问类成员变量;实例成员方法既可以 访问类成员变量,也可以访问实例成员变量。在实例成员方法体中,可以使用 this 引用指代 当前对象;而在类成员方法体中,则不能使用 this 引用。 (3) 两者引用方式的差别。实例成员方法必须通过对象访问;类成员方法既可以通过对 象,也可以通过类访问。 3-10 什么是继承?继承机制的作用是什么?子类继承了父类中的什么?子类不需要父类中 的成员时怎么办?能够删除它们吗?Java 允许一个类有多个父类吗? 【答】继承性是面向对象的核心特征之一,是一种由已有的类创建新类的机制。被继承的类 称为父类或超类, 通过继承产生的新类称为子类或派生类。 继承机制是面向对象程序设计中 实现软件可重用性的最重要手段。
Java实用教程第版习题解答
public static void main (String args[ ]) {
int m=10,n=0;
while(【代码】) {
n++;
}
}
}
3.假设有int x=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误。c
A.short t=12+'a'; B.char c ='a'+1; C.char m ='a'+x; D.byte n ='a'+1;
public class E {
public static void main (String args[ ]){
long[] a = {1,2,3,4};
long[] b = {100,200,300,400,500};
b = a;
}
}
5.下列程序标注的【代码1】,【代码2】的输出结果是什么?
public class E {
D)public static void main (String args[ ])
三、阅读程序
阅读下列Java源文件,并回答问题。
public class Person {
void speakHello() {
}
}
class Xiti {
public static void main(String args[]) {
3.while语句中的条件表达式的值是什么类型?
4.switch语句中必须有default选项码?
5.在while语句的循环体中,执行break语句的效果是什么?
《Java程序设计实用教程(第4版)习题解答和实验指导》第1~8章
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章 Java概述 (3)第2章 Java语言基础 (5)第3章类的封装、继承和多态 (23)第4章接口、内部类和 Java API基础 (40)第5章异常处理 (45)第6章图形用户界面 (47)第7章多线程 (52)第8章输入/输出流和文件操作 (54)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
java程序设计课后练习答案
1.2.1 什么是硬件和软件?硬件是指计算机中可见的物理部分(比如:处理器,显示器,鼠标,键盘等),而软件提供不可见的指令(常用的软件程序:应用软件,系统软件,病毒等)。
1.2.2 列举计算机的 5个主要硬件组件。
中央处理器(CPU)、内存、存储设备、输入设备和输出设备、通信设备。
1.2.3 缩写“CPU”代表什么含义?Central Processing Unit1.2.4 衡量 CPU速度的单位是什么?Hz(赫兹)、MHz(兆赫兹)、GHz(吉赫兹)1.2.5 什么是比特? 什么是字节?比特就是二进制数字系统中的数,计算机中字节是最小的存储单元1.2.6 内存是用来做什么的?RAM代表什么?为什么内存成为RAM?计算机的内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
RAM代表随机访问存储器。
每个字节都有唯一的地址,使用这个地址确定字节的位置,以便于存储和获取数据,因为可以按任意顺序存取字节,所以内存也被称为: 随机访问存储器(RAM)。
1.2.7 用于衡量内存大小的单位是什么?字节1.2.8 用于衡量磁盘大小的单位是什么?B、KB、MB、GB1.2.9 内存和永久存储设备的主要不同是什么?内存和永久存储设备的不同是计算机的内存是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。
程序和数据被永久的存放在存储设备上,当计算机确实要用他们时再移入内存,因为从内存读取比从存储设备读取要快得多。
1.3.1 CPU 能理解什么语言?机器语言1.3.2 什么是汇编语言?什么是汇编器?汇编语言(assembly language)就是使用短的描述性单词(助记符)来表示每一条机器语言指令。
由于计算机不理解汇编语言,所以需要使用一种称为汇编器(assembler)的程序将汇编语言程序转换为机器代码。
1.3.3 什么是高级编程语言?什么是源程序?高级编程语言类似于英语,易于学习和使用,高级语言中的指令称为语句。
Java程序设计实用教程第4版习题解答与实验指导第1-8章
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
Java程序设计实用教程 课后习题答案
第1章Java概述1.3 Java对源程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?答:如果源文件中有多个类,那么只能有一个类是public类。
如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。
Java源程序文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class)。
1.5 什么是平台无关性?Java怎样实现平台无关性?答:平台无关性,是指一个应用程序能够运行于不同的操作系统平台。
Java采用虚拟机技术支持平台无关性。
Java源程序(*.java)经编译生成的是一种中间代码,称为字节码文件(*.class),它由Java虚拟机解释执行,因而与操作系统平台无关。
Java 语言本身设计也体现出平台无关性。
如,int型整数占用32位,与操作系统是16位、32位或64位无关。
1.6 Java应用程序有哪两种形式?它们的运行方式有什么不同?答:Java应用程序有两种形式:Application和Applet。
Application是能够独立运行的应用程序,有控制台和图形用户界面两种运行方式。
Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。
Applet只是Application的特殊形式。
第2章Java语言基础2.2 Java语言的基本类型有哪些?引用数据类型有哪些?答:基本类型包括数值类型和布尔类型(boolean),其中数值类型包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)。
引用数据类型包括数组、类(class)、接口(interface)。
2.7 什么是最终变量?如何声明最终变量?答:Java语言提供一种特殊的变量,只能进行一次赋值,称为最终变量,采用关键字final 声明。
Java程序设计实用教程习题答案
Java程序设计实用教程习题答案《Java程序设计精典教程》习题答案编著:胡伏湘,雷军环清华大学出版社第5章习题解答一、简答题1.什么是AWT?AWT的基本思想是什么?答:AWT(抽象窗口工具包)是一组应用程序接口(API),其中包括各种Java程序员用来创建图形用户界面(GUI)的类,这些类分别对应着Java图形用户界面的构成成份:组件和容器。
组件通常为图形用户界面中的可见部分,例如按钮(button)和标签(label)等。
容器是图形用户界面中容纳其他组件的部分,一个容器中可以容纳一个或多个组件,甚至还可以容纳其他的容器。
AWT的基本思想是将图形用户界面(GUI)看作一系列嵌套的构件,最外层是窗口这样的容器,容器内又可以包含其他的组件和容器。
这样由表及里,所有的构件构成了一个嵌套的树,一个构件在这棵树中的位置决定了它显示在屏幕上的位置以及事件的传递途径。
2.容器主要有哪些作用?Java中有哪些常见的容器。
它们之间有什么异同?答:容器组件的主要作用是包容其他组件或容器并按一定的方式组织排列它们,同一个容器的所有构件通常总是同时被显示和同时被隐藏的。
Java中常见的容器有Frame(框架)、Panel(面板)和Applet 框架Frame是一个带有边框的独立的窗口,可以移动、放大、缩小、关闭。
是独立于Applet和浏览器的一个窗口,是Application程序最外层的容器。
面板是包含在窗口中的一个不带边框的区域。
不是一个单独的窗口,它只是包含在窗口中的一个区域,是可以将许多组件组合起来的一种容器,必须将面板添加到窗体中才能3.布局管理器的作用是什么?Java提供了哪几种布局管理器?答:布局管理器用来控制组件在容器中的摆放位置。
Java提供了5种布局管理器,它们是:顺序布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)4.设计和实现图形用户界面的主要工作有哪些?答:设计和实现图形用户界面的工作主要有两个:一是创建组成界面的各种容器和组件,指定它们的属性和位置关系,根据具体需要排列它们,从而构成完整的图形用户界面的物理外观;二是定义图形用户界面的事件和各界面元素对不同事件正常显示出来。
Java实用教程第版习题解答
5.编写应用程序,使用for循环语句计算8+88+888…前10项之和。
6.编写应用程序,输出满足1+2+3…+n<8888的最大正整数n。
1.public class Xiti1{
public static void main(String args[]) {
D)public static void main (String args[ ])
三、阅读程序
阅读下列Java源文件,并回答问题。
public class Person {
void speakHello() {
}
}ቤተ መጻሕፍቲ ባይዱ
class Xiti {
public static void main(String args[]) {
C. char ch = 'ABCD';
D. char ch = "ABCD";
E. char ch = '\ucafe';
F. char ch = '\u10100'
5.下列程序中哪些【代码】是错误的?2345
public class E {
public static void main(String args[]) {
}
}
2.下列程序的输出结果是什么?
public class E {
public static void main (String args[ ]) {
char c = '\0';
for(int i=1;i<=4;i++) {
java程序设计教程课后习题答案
java程序设计教程课后习题答案Java程序设计教程课后习题答案在学习Java程序设计的过程中,课后习题是巩固知识、提高编程能力的重要环节。
通过认真完成课后习题并对答案进行学习,可以帮助我们更好地掌握Java 编程语言的知识和技能。
一、基本语法1. 编写一个Java程序,输出"Hello, World!"。
```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并输出1到100的和。
```javapublic class SumOfNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("1到100的和为:" + sum);}}```二、面向对象1. 编写一个Java程序,定义一个学生类,包括姓名、年龄和学号属性,并实现一个方法用于输出学生信息。
```javapublic class Student {private String name;private int age;private String id;public Student(String name, int age, String id) { = name;this.age = age;this.id = id;}public void printInfo() {System.out.println("姓名:" + name + ",年龄:" + age + ",学号:" + id); }}```2. 编写一个Java程序,定义一个圆类,包括半径属性和计算面积的方法。
JAVA程序设计实用教程(第二版) 主编胡伏湘 雷军环 第2章习题参考答案
第二章习题答案一、简答题1.Java提供了哪些注释语句,功能有什么不同?Java语言提供了3种形式的注释:(1)// 一行的注释内容以//开始,最后以回车结束,表示从//到本行结束的所有字符均作为注释内容(2)/*一行或多行的注释内容*/从/*到*/ 间的所有字符(可能包括几行内容)都作为注释内容。
以上两种注释可用于程序的任何位置。
(3)/**文档注释内容*/当这类注释出现在任何声明之前时将会作特殊处理,它们不能再用在代码的任何地方。
这类注释意味着被括起来的正文部分,应该作为声明项目的描述,而被包含在自动产生的文档中。
2.识别下面标识符,哪些是合法的,哪些是非法的。
Ply_1,$32,java,myMothod,While,your-list,class,ourFriendGroup_$110,长度,7st合法标识符:Ply_1,$32,java,myMothod,ourFriendGroup_$110,While不合法标识符:class(关键字),长度,7st3.Java提供了哪些数据类型,全部写出来。
二、编程题//1.编写程序,从10个数中求出最大值、最小值及平均值。
public class XT00201 {public static void main(String args[]) {int i,s=0,min=Integer.MAX_V ALUE,max=Integer.MIN_V ALUE;float ave;int a[]=new int[10];for (i=0;i<2;i++) {a[i]=(int)(100*Math.random()); //取随机数if (max<a[i]) max=a[i];if (min>a[i]) min=a[i];s+=a[i];}System.out.println("最大值是:"+max);System.out.println("最小值是:"+min);System.out.println("平均值是:"+s/10);}}//2、编程求n!,设n=8。
《Java程序设计实用教程(第4版)习题解答与实验指导》第1~8章
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
Java程序设计实用教程习题答案作者耿祥义张跃平Java程序设计实用教程_邮电_习题答案.docx
习题11 • J ames Gosling2 .需3个步骤:1) 用文本编辑器编写源文件。
2) 使用javac编译源文件,得到字节码文件。
3) 使用解释器运行程序。
3 ・ set path= D:\jdk\bin;set classpath= D :\jdk\jre\lib\ rt.jar;4 ・ B) javac.exe5 • j ava 和class6. D) public static void main (String args[])习题21 . B ) int_ long ,D) $Boy262 .【代码1】,【代码3】是错误的3 . float常量必须用F或f为后缀。
double常量用D或d为后缀,但允许省略后缀。
4 .publ i c class E {publ i c s t a t i c voi d mai n( St r i ng a r gs []){ Sys t e m out. pr i nt I n( (i nt)'思');Sys t e m out. pr i nt I n( (i nt)'故');Sys t e m out. pr i nt I n( (i nt)'乡');}}习题31 . 110if-else语句书写的不够规范?2.不正正歪!!3 .public class Xiti3 {void giveMess(int number){ if(number^ = 9 |pumber= = 131 | number = 12){System.out.pri ntl n(number+ "是三等奖”);}else if(number= = 209 |number= = 596 |number==27) { System.out.println(number+ "是二等奖”);}else if(number= = 875 | number=316 |number= = 59) { System.out.println(number+"是一等奖");}else{System, out. pri ntl n("未中奖”);}}}4 •public class Xiti4 {public static void main (String args[]) { char cStart= *a \cE nd二'只: for(char c= cStart;c< = cE nd;c+ +) System.out.printf(,,%2c,,/c);System.out.pri ntln();for(char c= cStart;c< = cE n d;c+ +) System out pri ntf("%2c",(c+32));}}5 •public class XitiS {public static void main (String args[]) {double sum = OJtem = 1;int i = 1r n = 20;while(i< = n) {sum= sum+ item;i= i+1;item=}System, out. pri ntl n(H sum=n+ sum);}}6 •public class Xiti6 {public static void main(String args[]) {int sum= OJJ;for(i=1;i< = 1000;i+ + ) { for(j= 1,sum= O;j<i;j+ +){if(i%j==O) sum= surr^j;}if(surn= = i)System, out. printing 完数:”+ i); }}}public class Xiti7 {public static void main(String args[]) {int n= 1」=1jiecheng=1;long sum=0;while(true){jiecheng=1;for(i=1;i<=n;i++){jieche ng二jiecheng*i;}surrrsum+jiecheng;if(sum> 9999)break;叶+;}System.out.println("满足条件的最大整数:"+(n-1));}}习题41 .用类创建对象时。
java程序设计实用教程_(第3版)、_课后答案
为了确定常量或变量的数据性质、取值范围、以及它们占用的内存单元的字节数和它们参加的合法运算和操作。
6.什么是变量的作用域,声明变量时,如何确定变量的作用域?
【答】变量的作用域是指其作用范围。变量声明的位置决定了它的作用域
4.算术运算、关系运算、逻辑运算和位运算各有哪些运算符?
【答】算术运算:单目运算符有+(正)、—(负)、++(自增)、——(自减),双目运算符有+(加)、—(减)、*(乘)、/(除)、%(取余)
关系运算:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)都是双目运算
number++;
}
k+=2;//测试下一个奇数是否是素数
} while(k<MAX);
output();
}
public static void output()//输出素数
{
System.out.println("All primes in 2~"+MAX+" are: ");
for (int i=0;i<number;i++)
j++;
}
i++;
}
}
System.out.println();
}
public static void init()//初始化数组,筛选法求素数
{
prime = new int[30];
prime[0]=2;//已知的最小素数
Java程序设计实用教程_胡伏湘_清华大学出版社009习题答案
《Java程序设计精典教程》习题答案编著:胡伏湘,雷军环清华大学出版社第9章习题解答一、简答题1.什么叫流?对流的分类通常有几种方式?答:流是指一组有顺序的、有起点和终点的字节结合。
流的分类方式有多种:⏹根据数据流动的方向,可分为输入流和输出流。
输入流:只能从中读取数据,而不能向其写出数据输出流:只能向其写出数据,而不能从中读取数据⏹根据处理数据的单位划分,可分为字符流和字节流字节流:以字节为单位进行数据传输,每次传送一个或多个字节字符流:以Unicode字符为单位进行数据传输,每次传送一个或多个字符⏹根据数据流所关联的是数据源还是其他数据流,可分为节点流和处理流节点流:直接从指定的位置(如磁盘文件或内存区域)读或写处理流:对一个巳存在的流的连接和封装,通过对所封装的流的功能调用实现数据的读/写功能,处理流并不直接连接到数据流。
2.Java的所有I/O流都是四个抽象类的子类,这四个抽象类是什么?答:⏹InputStream:是所有字节输入流的父类⏹OutputStream:是所有字节输出流的父类⏹Reader:是所有输入字符流的父类⏹Writer:是所有输出字符流的父类⏹3.写出下面这些输入输出流类的输入输出操作的特点。
(1)InputStream和OutputStream(2)DataInputStream 和DataOutputStream(3)FileInputStream和FileOutputStream(4)PrintStream(5)RandomAccessFile答:(1)一个字节一个字节地输入输出数据(2)按照不同的数据类型输入输出数据(3)一个字节一个字节地输入输出数据(4)把数据转化成字符串输出(5)能够随机访问普通文件4.File类的作用是什么?答:File类是I/O包中唯一能够代表磁盘文件本身的对象,使用File类,我们可以方便地建立与某磁盘文件的连接。
一个对应着某磁盘文件或目录的File对象一经创建,我们就可以通过调用它的方法来获得该文件或目录的属性,File类中还定义了一些对文件或目录进行管理、操作的方法,利用这些方法可以完成对文件和目录的建立、删除、查询、重命名等操作。
【免费下载】Java程序设计实用教程课后习题答案 金保华科学出版社
} System.out.println(sum); }}
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。
3)使用java解释器(java.exe)来解释执行字节码文件。
3.1) 设置path对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。
如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。
或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。
2) 设置classpath对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。
如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。
或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。
4.(B)5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class”6.(D)习题 21.(B)、(D)2.【代码1】【代码3】说明:最后一条语句如果为 byte z=127; //【代码4】无错最后一条语句如果为 byte x=127; //【代码4】有错(变量x与”int x=129L”重名) 3.需要特别注意的是float型常量后面必须要有后缀“f”或“F”。
double型常量后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti2_4 {public static void main(String args[]) {char ch1='思',ch2='故',ch3='乡';System.out.println("'思'在Unicode表中的位置是: "+(int)ch1);System.out.println("'故'在Unicode表中的位置是: "+(int)ch2);System.out.println("'乡'在Unicode表中的位置是: "+(int)ch3);}}习题 31.输出结果是: 110.if-else语句的书写不够规范.尽管其中的复合语句中只有一条语句,但为了增强程序的可读性”{ }”最好不要省略(这是一个很好的编程风格)。
2.输出结果是: 不正正歪!!3.Array import java.util.Scanner;public class Xiti3_3 {public static void main(String args[]) {Scanner reader = new Scanner(System.in);System.out.println("输入彩票号回车确认");int number = reader.nextInt();Administrator person = new Administrator();person.giveMess(number);}}public class Administrator {void giveMess(int number) {int d1 = number%10; // 个位数int d2 = number%100/10 ; // 十位数int d3 = number%1000/100 ;// 百位数int d4 = number%10000/1000 ; // 千位数int d5 = number/10000 ;// 万位数if(d1==1){System.out.println("彩票是三等奖");}else if(d1==3){System.out.println("彩票是三等奖");}else if(d1==9){System.out.println("彩票是三等奖");}else{System.out.println("彩票不是三等奖");}if(d2*10+d1==29){System.out.println("彩票是二等奖");}else if(d2*10+d1==46){System.out.println("彩票是二等奖");}else if(d2*10+d1==21){System.out.println("彩票是二等奖");}else{System.out.println("彩票不是二等奖");}if(d3*100+d2*10+d1==875){System.out.println("彩票是一等奖");}else if(d3*100+d2*10+d1==326){System.out.println("彩票是一等奖");}else if(d3*100+d2*10+d1==596){System.out.println("彩票是一等奖");}else{System.out.println("彩票不是一等奖");}}}4.public class Xiti3_4{public static void main (String args[ ]){char cStart='а',cEnd='я';for(char c=cStart;c<=cEnd;c++){System.out.print(" "+c);}}}5.public class Xiti3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}6.class Xiti3_6{ public static void main(String args[]){ int sum=0,i,j;for(i=1;i<=1000;i++){ for(j=1,sum=0;j<i;j++){ if(i%j==0)sum=sum+j;}if(sum==i)System.out.println("完数:"+i);}}}7.public class Xiti3_7{public static void main(String args[]){int n=1;long sum=0;while(true){sum=sum+n;n++;if(sum>9999)break;}System.out.println("满足条件的最大整数:"+(n-1));}}习题 41.用该类创建对象时。
2.所谓方法重载是在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。
构造方法可以重载。
3.可以。
不可以。
4.不可以。
5.成员变量又分为实例变量和类变量,用static修饰的变量是类变量。
那么类变量和实例变量有什么区别呢?一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间;如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。
也就是说对象共享类变量。
6.C,D7.【代码1】,【代码4】8.sum=-100。
9.27。
10.**20##100习题 51.如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。
继承的成员或方法的访问权限保持不变。
如果子类和父类不在同一个包中,那么子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,继承的成员或方法的访问权限保持不变。
如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。
只要子类中声明的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量。
子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同,子类如此定义的方法称作子类重写的方法。
子类通过方法的重写可以隐藏继承的方法。
2.不可以。
3.abstract类。
4.假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,称这个A类对象是子类对象的上转型对象。
5.A,C,D6.15.08.07.98.012习题 61.不能2.不能3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。
那么该接口变量就可以调用被类实现的接口中的方法。
4.15.085.1815习题 71. 数组名.length2. 数组名.length3.falsetruefalse34.48.84. birdCar5.enum Color {红,黄,蓝,绿,黑}public class E {public static void main(String args[]) {for(Color a:Color.values()) {for(Color b:Color.values()){for(Color c:Color.values()) {if(a!=b&&a!=c&&b!=c)System.out.print(a+","+b+","+c+"|");}}}}}习题 81.仍然有效。