云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 习题集

习题集

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 19:02:31

参考答案

上述代码的第二行处,会出现编译错误。

原因是10000000008是个整数直接量,整数的直接量的类型默认为int类型,而直接写出的整数10000000008超过了int的表达范围,所以会出现编译错误。

7 通过代码计算一段程序运行的时间

参考答案

以下代码的功能为计算1累加到1000000的所耗的时间,代码如下所示:

1. public static void main(String[] args) { 2. //开始时间

3. long startTime = System.currentTimeMillis(); 4. //计算从1加到1000000的和 5. int sum = 0;

6. for (int i = 1; i <= 1000000; i++) { 7. sum+=i; 8. }

9. //结束时间

10. long endTime = System.currentTimeMillis(); 11. //输出耗时

12. System.out.println(\耗时:\+(endTime-startTime)+\毫秒

\); 13. }

上述代码中,使用了JDK提供的 System.currentTimeMillis() 方法,该方法返回1970年1月1日零点到此时此刻所经历的毫秒数,其数据类型为long,经常用于计时操作。

另外,计算从1加到1000000的和的代码,了解即可,后续课程中会讲解到for循环的。

8 指出下面程序的运行输出结果

1. double width = 6.0; 2. double length = 4.9;

3. System.out.println(width - length);

参考答案

上述代码的输出结果为:1.0999999999999996。

上述代码的运行结果存在舍入误差问题。由于计算机内部采用2进制,人使用10进制,不是每一个2进制的小数都可以用10进制为表示的。2进制系统中无法精确的表示1/10,就好像十进制系统中无法精确的表示1/3一样。所以,2进制表示10进制会有一些舍入误差,对于一些要求精确运算的场合会导致代码的缺陷。

9 指出下面程序的输出结果

1. char ascii=98;

2. System.out.println(ascii);

参考答案

上述代码的输出结果为:b

原因是如果把0~65535范围内的一个int整数直接量赋给char类型变量,系统会自动把这个int类型整数当成char类型来处理。本题中,说明系统自动把整数类型98当成char类型来处理,处理的结果为b。98是b的unicode码。

10 指出下面程序中的编译错误,并更正

1. byte b1=10; 2. byte b2=20; 3. byte b3=b1+b2;

参考答案

上述代码在第三行会出现编译错误,原因是b1+b2的结果为int类型。更正后的代码如下:

1. byte b1=28; 2. byte b2=20; 3. int b3=b1+b2;

或者,使用强制类型转换,将int类型结果转换为byte类型,代码如下所示:

1. byte b1=10; 2. byte b2=20;

3. byte b3=(byte)(b1+b2);

11 指出下面程序的运行输出结果

1. int a = 1, b = 10; 2. int c1 = a++; 3. int c2 = ++b;

4. System.out.println(\ + a + \b=\ + b + \c1=\ + c1 + \c2=\

+ c2);

参考答案

输出结果为:

1. a=2, b=11, c1=1, c2=11

上述代码中,“int c1 = a++;”表示先将a的值1作为表达式a++的值,然后a再自加,故a的值为2,最后,将a++表达式的值1赋值给c1,c1的值为1;

“int c2 = ++b”表示先将b的值自加,然后将b的值作为++b表达式的值赋给c2,故b的值为11,c2的值也为11。

12 指出下面程序的运行输出结果

1. int i = 100, j = 200;

2. boolean b1 = (i > j) && (i++ > 100); 3. System.out.println(b1); 4. System.out.println(i);

参考答案

上述代码的输出结果为:

1. false 2. 100

原因是对于“&&”,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数是什么最后的结果一定是false。本题中(i>j)的结果为false,因此不会去计算(i++>100),所以变量b1的结果为false,i不会在自身的基础上加1,值为100。

13 完成收银柜台收款程序V1.0

搜索更多关于: 习题集 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

参考答案 上述代码的第二行处,会出现编译错误。 原因是10000000008是个整数直接量,整数的直接量的类型默认为int类型,而直接写出的整数10000000008超过了int的表达范围,所以会出现编译错误。 7 通过代码计算一段程序运行的时间 参考答案 以下代码的功能为计算1累加到1000000的所耗的时间,代码如下所示: 1. public static void main(String[] args) { 2. //开始时间 3. long startTime = System.currentTimeMillis(); 4. //计算从1加到1000000的和 5. int sum = 0;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com