Java基础教程清华大学出版社第2版部分习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java基础教程(清华大学出版社第2版)部分习题答案

第一章

【答案】答案见教材<略>。

第二章

1. 请说明注释的作用。

【答案】答案见教材<略>。

2. 判断下列那些是标识符?

(1) 3class

(2) byte

(3) ? room

(4) Beijing

(5) beijing

【答案】(1)(2)(3)不是标识符,因为标识符不能已数字开始,也不能是保留关键字(如byte),不能以?开始。

3. 请指出下列声明字符变量ch的语句是否存在错误?如果有,请改正。

(1)char ch = 'A';

(2)char ch = '\u0020';

(3)char ch = 88;

(4)char ch = 'ab';

(5)char ch = "A";

【答案】(4)错,因为关键字char是用于声明字符变量,不可声明字符串变量。

4. 如果int x=1,y=-2,n=10;那么,表达式x+y+(--n)*(x>y&&x>0?(x+1):y)的值是什么类型?结果是多少?

【答案】int型,值为17。

5. 如果int k=1,那么'H'+k的类型是什么?下面语句是否存在差错?如果有,请改正。

(1)int k=1;

(2)char ch1,ch2;

(3)ch1='H'+k;

(4)ch2=98;

【答案】'H'+k的类型为int型。

(3)有错。'H'+k为int型,ch1为char型,将高精度赋给低精度类型时必须实行强制转换。

6. 请指出下面程序在编译时是否会出现错误。如果有,请改正。

public class doubleTointExample {

public static void main(String args[ ]) {

int a;

double b=1,c=2;

a=(int)(b+c);

System.out.println("a="+a);

}

}

【答案】无错误。输出结果:a=3

7. 请指出执行完下面程序后x、y和z的输出值是多少?请上机验证。

public class doubleTointExample {

public static void main(String args[ ]) {

int x,y,z;

x=1;

y=2;

z=(x+y>3?x++:++y);

System.out.println("x="+x);

System.out.println("y="+y);

System.out.println("z="+z);

}

}

【答案】

x=1

y=3

z=3

8. 请指出下面程序片段输出的结果是什么。

int i=1,j=10;

do

{

if (i++>--j) break;

}while(i<5);

System.out.println(“i=”+i+”<--->”+“j=”+j);

【答案】i=5<--->j=6

9. 请分别用if-else语句和switch语句编写实现下列功能的程序。

某同学某门课的成绩可能的结果为1,2,3,4,5。当成绩为1时请输出不及格;成绩为2时请输出及格;成绩为3时请输出中等;成绩为4时请输出良好;成绩为5时请输出优秀。

【答案】

/*if-else描述程序*/

public class xt020901 {

public static void main(String args[ ]) {

int score=4;

if (score==1)

{System.out.println("不及格");}

else if (score==2)

{System.out.println("及格");}

else if (score==3)

{System.out.println("中等");}

else if (score==4)

{System.out.println("良好");}

else {System.out.println("优秀");}

}

}

/*switch描述程序*/

public class xt020902 {

public static void main(String args[ ]) {

int score=4;

switch (score)

{

case 1 :

System.out.println("不及格");

break;

case 2 :

System.out.println("及格");

break;

case 3 :

System.out.println("中等");

break;

case 4 :

System.out.println("良好");

break;

case 5 :

System.out.println("优秀");

break;

}

}

}

10. 请编写输出乘法口诀表的程序。

乘法口诀表的部分内容如下:

1*1=1

1*2=2 2*2=3

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

……

public class xt0210

{

public static void main(String args[ ])

{final double PI = 3.141592654;

double area,r;

area =PI*r*r;

System.out.println(“面积=”+area);

}

}

【答案】

相关文档
最新文档