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++)
{