Java简明教程-习题参考答案

  • 格式:doc
  • 大小:408.50 KB
  • 文档页数:56

参考答案

第1章

1.Java语言有哪些主要特点。

平台独立性

安全性

多线程

网络化

面向对象

2.目前美国Sun公司提供的适用不同开发规模的JDK有哪些。

目前Sun共提供了三种不同的版本:微平台版J2ME(Java 2 Platform Micro Edition),标准版J2SE(Java 2 Platform Standard Edition)和企业版J2EE(Java 2 Platform

Enterprise Edition),这三种版本分别适用于不同的开发规模和类型,对于普通Java开发人员和一般学习者来说,选用标准版J2SE就可以了,学会了J2SE,再学J2ME或J2EE就比较容易上手,因为它们之间虽有所侧重,但相似之处很多,尤其是语言本身是一样的,都是Java。

3.Java Application的开发步骤有哪些。

Java Application的开发步骤:

(1)下载JDK软件并安装;

(2)配置相应的环境变量(path和classpath);

(3)编写Java源程序(文本编辑器或集成开发环境IDE);

(4)编译Java源程序,得到字节码文件(javac *.java);

(5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。

环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。

5.不参考书本,试着编写一个简单的Java Application程序,实现在Dos窗口输出“Welcome

to Nanjing City!”字符串。并对该程序进行编译和运行。

public class Hello {

public static void main(String args[])

{

"Welcome to Nanjing City!");

}

}

6.编写一个Java Application程序,实现分行显示字符串“Welcome to Nanjing City”中的四个单词。

public class Hello {

public static void main(String args[])

{

"Welcome ");

"to ");

"Nanjing ");

"City!");

}

}

第2章

1.Java语言对于合法标识符的规定是什么指出以下哪些为合法标识符。

a a2 3a *a _a $a int a%

在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。

合法的标识符:

a a2 _a $a

2.变量的涵义是什么变量名与变量值的关系

在程序执行过程中其值可以改变的数据,称为变量,它本质上代表了内存中的一小块空间。每个变量都必须有对应的名称来标识它,即变量名,而变量空间所存放的数据则称为变量值。

3.Java语言提供哪些基本的数据类型,为什么要提供这些不同的数据类型

布尔型:boolean

整型:byte、short、int以及long

浮点型(实型):float以及double

字符型:char

数据类型代表了数据的存储格式和处理方式,虽然严格来说计算机只能识别“0”和“1”,但是,有了数据类型以后,计算机的识别能力就被人为扩展了,它能够识别整数、实数以及字符等。

4.赋值语句的涵义是什么

数据传递。

5.数据类型强制转换的原则是什么如何转换

对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char到short等,则需要进行强制转换。

float f = ;

short b ;

b = (short)f; (强制转换)

6.每一条程序语句都应以分号来结束,这个分号能否用中文输入模式下输入的分号,为什么

不能。首先中英文输入模式下输入的分号是不同的,不但外观不同,其存储所需的空间也是不同的,Java编译器只能识别英文的分号,对于中文分号,将会报错。

第3章

1.假定乘坐飞机时,每位顾客可以免费托运20kg以内的行李,超过部分按每公斤收费元,以下是相应的计算收费程序。该程序存在错误,请找出。

public class Test

{

public static void main(String[] args) throws IOException

{

float w,fee;

; 语句

2.有一条长的阶梯,如果每步2阶,则最后剩1阶,每步3阶则剩2阶,每步5阶则剩4阶,每步6阶则剩5阶,只有每步7阶的最后才刚好走完,一阶不剩,问这条阶梯最少共有多少阶找出以下求解程序的错误所在。

public class Test

{ public static void main(String[] args)

{

int i;

while(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)

{

i++;

}

"这条阶梯最少有:"+i+"阶");

}

}

1)变量i应进行初始化。

2)while循环的条件表达式应再加上“非”,这样才符合逻辑。

3.试用单分支结构设计一判断用户输入值X,当X大于零时求X值平方根,否则不执行任何操作的程序。

import .*;

import .*;

public class Test

{ public static void main(String[] args) throws IOException {

float x;

InputStreamReader reader=new InputStreamReader;

BufferedReader input=new BufferedReader(reader);

"请输入x:");

String temp=();

x = (temp); ;

public class Test

{ public static void main(String[] args) throws IOException

{

char A,B,c1,c2;

c1 = (char)

c2 = (char)

if(c1>c2)

{

A=c2;

B=c1;

}else

{

A=c1;

B=c2;

}

"A="+A+" B="+B);

}

}

5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。

public class Test

{ public static void main(String[] args)

{

int a,b,c,x=100;

while(x<1000){

a=x%10;

b=(x%100-a)/10;

c=(x-x%100)/100;

if(a*a*a+b*b*b+c*c*c==x)

x+=1;

}

}

}

6.编程实现打印以下图案:

***********

*********

*******

*****

***

*

public class Test

{ public static void main(String[] args)

{

int i,j,k; ;

public class Test

{

public static void main(String[] args) throws IOException

{

char sex= 'f';

switch (sex)

{

case 'm': "男性");

break;

case 'f': "女性");

case 'u': "未知");

}

}

}

女性

未知

10.读程序,写结果。

public class Test

{ public static void main(String[] args)

{

int i ,s=0;

for(i=1;i<=100;i++)

{

if(i%3==0)

continue;

s+=i;

}

"s="+s);

}

}

s=3367

11.读程序,写结果。

public class Test

{ public static void main(String[] args)

{

int i ,s=0;

for(i=1;i<=100;i++)

{