各章参考答案(1-9章)
第一章
【习题内容】
1. Java语言有哪些特点?
2.简述Java的运行机制。
3.简述Java应用程序的开发过程。
4.在计算机上安装、配置Java运行环境,并编辑运行本章中的例程。
【参考答案】
1.面向对象、语法简单、平台无关性、安全性、分布式应用、多线程
2. Java程序的运行必须经过编写、编译、运行三个步骤。
编写是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。
编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,Java解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。
运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。Java虚拟机(JVM)是运行Java程序的软件环境,Java解释器就是Java虚拟机的一部分。在运行Java 程序时,首先会启动JVM,然后由它来负责解释执行Java的字节码,JVM把不同软硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。
3.
(1)安装JDK(2)配置环境变量(3)使用记事本编写java源文件(4)使用javac 编译java源文件(5)使用java运行java程序。
4.略。
第二章
【习题内容】
1. 现有语句:String s = "Example"; 则下面哪些语句是合法语句?
A. s >>> = 3;
B. s[3] = "x";
C. int i = s.length();
D. String t = "For " + s;
E. s = s + 10;
2.下面哪些是Java保留字?
A. run
B. default
C. implement
D. import
3.下面声明float变量的语句合法的有:
A. float foo = -1;
B. float foo = 1.0;
C. float foo = 42e1;
D. float foo = 2.02f;
E. float foo = 3.03d;
F. float foo = 0x0123;
4.以下哪两个表达式是等价的:
A. 3/2
B. 3<2
C. 3*4
D. 3<<2
E. 3*2^2
F. 3<<<2
5.分析下列程序的执行结果:
(1)public class TestA{
public static void main(String args[]){
int i = oxFFFFFFF1;
int j = ~i;
System.out.println("j=" + j);
}
}
(2)public class TestB{
public static void main(String[] args){
System.out.println(6 ^ 3);
}
}
(3)public class FooBar{
public static void main(String[] args){
int i = 0, j = 5;
tp:
for(; ; i++){
for( ; ; --j)
if(i > j)
break tp;
}
System.out.println("i=" + i + ",j=" + j);
}
}
(4)public class TestC{
public static void main(String[] args){
int i = 1, j = 10;
do{
if(i++ > --j)
continue;
}while(i < 5);
System.out.println("i=" + i + " j=" + j);
}
}
【参考答案】
1. C、D、E
2.B、D
3.A、D、F
4.C、D
5.(1)j=14
(2)5
(3)i=0,j=-1
(4)i=5 j=6
第三章
【习题内容】
1.什么叫引用类型,对象是引用类型吗?
2.Java的访问限定修饰符有几种,各自的访问权限是什么?
3.什么是类成员,什么是实例成员?它们之间有什么区别?
4.如何创建自己的包,如何引入包?
5.下面哪一个是类Myclass的构造方法?
class Myclass{
public void Myclass(){}
public static Myclass(){}
public Myclass(){}
public static void Myclass(){}
}
6.设计一个动物类,它包含动物的基本属性,例如名称、身长、重量等,并设计相应的动作,例如跑、跳、走等。
7.设计Point类用来定义平面上的一个点,用构造方法传递坐标位置。编写测试类,实现Point类。
8.编写程序说明静态成员和实例成员的区别。
9.设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。
10.设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。
【参考答案】
1.引用类型是指该类型的标识符表示的是一片连续内存地址的首地址。对象定义后系统将给对象标识符分配一个内存单元,用以存放实际对象在内存中的存放位置。对象是引用类型。
2.Java的访问限定修饰符有4种,用public修饰的类或成员拥有公共作用域,表明此类或类的成员可以被任何Java中的类所访问,是最广泛的作用范围。用protected修饰的变量或方法拥有受保护作用域,可以被同一个包中所有的类及其他包中该类的子类所访问。用private修饰的变量或方法拥有私有作用域,只能在此类中访问,在其他类中,包括该类的子类中也是不允许访问的,private是最保守的作用范围。没有使用任何修饰符的,拥有默认访问权限(也称友好访问权限),表明此类或类的成员可以被同一个包中的其它类访问。
3.Java类的成员是指类中的变量和方法,是使用了static修饰符修饰的成员。具体地说,在一个类中,使用stati c修饰的变量和方法分别称为类变量(或称静态变量)和类方法(或称静态方法),没有使用static修饰的变量和方法分别称为实例变量和实例方法。
类成员(静态成员)属于这个类而不是属于这个类的某个对象,它由这个类所创建的所有对象共同拥有。类成员仅在类的存储单元中存在,而在由这个类所创建的所有对象中,只是存储了一个指向该成员的引用。因此,如果任何一个该类的对象改变了类成员,则对其他对象而言该类成员会发生同样的
改变。对于类成员,既可以使用对象进行访问,也可以使用类名直接进行访问,并且在类方法中只能访问类成员,而不能访问实例成员。
实例成员由每一个对象个体独有,对象的存储空间中的确有一块空间用来存储该成员。不同的对象之间,它们的实例成员相互独立,任何一个对象改变了自己的实例成员,只会影响这个对象本身,而不会影响其他对象中的实例成员。对于实例成员,只能通过对象来访问,
不能通过类名进行访问。在实例方法中,既可以访问实例成员,也可以访问类成员。
4.
创建一个包:只要使用一个package语句作为一个Java源文件的第一句,创建包的语法格式为:
package <;包名>;
Java使用import语句来引入特定的类甚至是整个包。import声明的通用形式:
import pkg1[.pkg2].(classname|*);
5.
public Myclass(){}
6.
public class Animal{
private String name;
private double height;
private double weigh;
public void run(){
System.out.println ("动物在跑!");
}
public void jump(){
System.out.println ("动物在跳!");
}
public void walk(){
System.out.println ("动物在走!");
}
}
7.
class Point{
int x,y;
public Point(int x,int y){
this.x=x;
this.y=y;
System.out.println ("点的坐标为:x="+this.x+" y="+this.y);
}
}
class TestPoint{
public static void main (String [] args){
Point p=new Point(3,4);
}
}
8.
public class Exer3_8{
int i=0;
static int j=0;
void print1(){
System.out.println ("i="+i);
System.out.println ("j="+j);
}
static void print2(){
//System.out.println ("i="+i);
System.out.println ("j="+j);
}
public static void main (String [] args){ //i++;
j++;
print2();
Exer3_8 e=new Exer3_8();
e.i++;
e.j++;
e.print1();
e.print2();
Exer3_8 e1=new Exer3_8();
e1.i++;
e1.j++;
e1.print1();
e1.print2();
java源代码加密
}
}
9.
;
class Rectangle{
int len,wid;
public void setLen(int len){
this.len=len;
}
public void setWid(int wid){
this.wid=wid;
}
public int getLen(){
return this.len;
}
public int getWid(){
return this.wid;
}
public int calPerimeter(){
return 2*(len+wid);
}
public int calArea(){
return len*wid;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。