java 两个大于long类型得数字 如何相加_干货丨Java 习题参考答案及解析第三辑

66451354c5a5ffb526e0f5dc56789bdf.png

16e1b5f3a214a0c259c054cec67e348e.png

1

问答题

  1. 1.关系运算符的运算结果是怎样的数据类型?

  2. 2.if语句中的条件表达式的值是否可以是int型?

  3. 3.while语句中的条件表达式的值是什么类型?

  4. 4.switch语句中必须由dafault选项吗?

  5. 5.在while语句的循环体中

  6. 执行break语句的效果是什么?

  7. 6.可以用for语句代替while语句的作用吗?

问答题解析

1.boolean类型(true或者false) 

2.不可以,只能是boolean类型

3.boolean类型 

4.非必须,但为了增强代码的鲁棒性,建议添加default选项 

5.结束while语句的执行

6.可以

增强型for循环介绍

增强型for循环,又叫foreach循环,最多的应用在于循环遍历数组元素

4fffa4a55ba0ffba866c7b22d4034ca7.png

8f58ede01c1e00750d137b123fbe9286.gif

1

选择题

c72f93625dffce4e2ef4d2c32862c3bf.png 1.下列哪个叙述是正确的? 140280ec1b2abe2668348c7126ea06a0.png

 
A. 5.0/2+10的结果是double型数据 
B. (int)5.8+1.0的结果是int型数据 
C. ‘苹’+’果’的结果是char型数据 
D.(short)10+’a’的结果是short型数据

c72f93625dffce4e2ef4d2c32862c3bf.png 2.下列哪个代码替换程序标注的【代码】会导致编译错误?   140280ec1b2abe2668348c7126ea06a0.png

A. m–>0 
B. m++>0 
c. m=0 
D. m>100&&true

dcf1b45c91bc5f1e119a35b5f4eea120.png

Type mismatch: cannot convert from int to boolean

c72f93625dffce4e2ef4d2c32862c3bf.png 3.假设“int x=1;”  140280ec1b2abe2668348c7126ea06a0.png c72f93625dffce4e2ef4d2c32862c3bf.png 以下哪个导致“可能损失精度,找到int需要char”这样的编译错误? 140280ec1b2abe2668348c7126ea06a0.png

A. short t = 12+’a’; 
B. char c = ‘a’+1; 
C. char m = ‘a’+x; 
D. byte n = ‘a’+1;

8f58ede01c1e00750d137b123fbe9286.gif

选择题解析

选择题答案:1.A 2.C 3.C


第一题B

将5.8转化为整型后又加了一个double型1.0,所以结果仍为double型 
C字符和int可以相互转换,两个字符相加就是对应的unicode相加,但是相加后unicode的值大于了char的范围(0-65535),所以不能用char字符接收,需要用int数据接收 
D char的精度要比short高,所以一个short加上一个char结果为char


第二题 c
while循环条件应该是boolean类型,而C是赋值语句,所以会编译错误,要注意=是赋值,==才是等于。


第三题c 
精度从“低”到“高”的排列的顺序是: 
byte->short->char->int->long->float->double 
Java在计算算术表达式的值时,使用下列运算精度规则: 
(1)如果表达式中有double,则按double进行运算。 
(2)如果表达式中最高精度是float,则按float进行运算 
(3)如果表达式中最高精度是long,则按long进行运算 
(4)如果表达式中最高精度低于int,则按int进行计算 
Java允许把不超出byte、short、char的取值范围的算术表达式的值赋给byte、short、char。 
a的ASCII码值是97,所以A选项97+12可以赋值给short 
这道题关键在于B和C的区别,有人会说x不是等于1吗,那么’a’+x不就是’a’+1吗,为什么c是错的? 
原因在于char c=’a’+1中’a’是字符型常量,1是数字常量。在编译器编译的时候,会自动合并,不会做类型转换。在编译阶段就完成。 
char m=’a’+x中’a’是字符型常量,但x是变量,在编译阶段无法合并,只能在运行时编译,运行时发现x是整型,’a’+x自动转换成整型,无法直接赋值给char型。需要进行强转。(char)(‘a’+x)

8f58ede01c1e00750d137b123fbe9286.gif

1

阅读程序题

c72f93625dffce4e2ef4d2c32862c3bf.png (1)下列程序的输出结果是什么? 140280ec1b2abe2668348c7126ea06a0.png

aaca0723f756e576cecd80ed29f0f2d3.png

c72f93625dffce4e2ef4d2c32862c3bf.png (2)下列程序的输出结果是什么? 140280ec1b2abe2668348c7126ea06a0.png

1c0c02aede5a31ec991652d9a06e5655.png

c72f93625dffce4e2ef4d2c32862c3bf.png (3)下列程序的输出结果是什么? 140280ec1b2abe2668348c7126ea06a0.png

a1441395d8f4c60ca48a0b03b34309da.png

阅读程序解析

第一题答案为:你,苹,甜 
‘你’的字符编号大于’A’所以执行if中语句,而注意到else没有加大括号,所以z=’甜’;必定会执行。

3e7b3fbd0277c41dc662085d343d8e58.png

第二题答案为:Jeep好好 
如果switch中的一个case后面没有加break,那么程序会一直执行,直到遇到break或者swich结束。所以第一次循环输出J和e,第二次输出e,第三次输出p和好,第四次输出好。

3e7b3fbd0277c41dc662085d343d8e58.png

第三题答案为:x=-5,y=-1
这道题重点是while判断条件是y–>0,自减在后,所以先判断y的大小是否大于0,再自减。即使循环不满足条件,但是只要进行了判断操作就一定会自减。 可以算出y从6减少到1都是满足循环条件的,所以循环执行了6次,x减了6次,结果是-5,此时y的值为0;再次判断循环条件,发现不满足条件,退出循环,而y还要自减,结果为-1。

16e1b5f3a214a0c259c054cec67e348e.png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/Rainary/article/details/72266956

33fc26a31ce56d4705252f04a4ef6e95.gif

目前10000+人已加入我们

点击关注或菜单咨询

带你了解更多IT的规则

40bde8a9e39ff76d2edbfb951d7bcbca.gif fa2c952cc31399537c5a555c0fe9b207.gif b69e819b9cf1a592cb54b22958dde068.gif b10915d834db9cf8185cf61ccbb53841.gif 9a11588acf0e136fd860be0d5d79176d.gif 19aff0525f122dc5bb9ed60b2c16ed47.gif 057e1bbe1bb7547fa3e8d555b632b9b9.gif 2f31f9c3b31b324ca49d0dc342d8d53b.png

92ff1163de21f480290dcf976570d845.gif 137c190e557a616a192605e8110dd5cd.gif 6822c43b47344a0a6c2945bfeca0fa39.gif 5ebb16e483e60fadbd7928c94f479d8a.gif b0529c98a797e773247feae7a3757d16.gif bbcf50ada5468141a0b118aaa5d0f4f9.gif 6b286c966786176c1a490a610ed0da1b.gif 7fcb34de4a4497cde2ef13af1dd6976f.gif

7bcdc4895715210640e3c680ce846481.png

解锁更多精彩内容

cdd405cd1c857994c63845edbbc0501f.png

电话:0371—68636863/19937607863

地址:河南省郑州高新区翠竹街6号国家863中部软件园

网站:www.863soft.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值