今日打卡/2021/1/23

第一题

在这里插入图片描述
答案为B

解析

z=0时候,执行++x > 2,不成立,&&后面就不执行了,此时 x=1,y=0,k=0;
z=1时候,执行++x > 2,还不成立 ,&&后面就不执行了,此时 x=2,y=0,k=0;
z=2时候, 执行++x > 2,成立,继续执行 ++y > 2, 不成立 , &&后面就不执行了, 此时 x=3,y=1,k=0;
z=3时候,执行++x > 2,成立,继续执行++y > 2,不成立 , &&后面就不执行了, 此时 x=4,y=2,k=0;
z=4 时候,执行++x > 2,成立,继续执行 ++y > 2, 成立 , 继续执行k++>2 ,不成立,此时仍没有进入for循环的语句中, 但此时 x=5,y=3,k=1;
z=5时候,不满足条件了,整个循环结束,所以最好打印时候: x=5,y=3,k=1;

总结

我本以为该题考查了前加加还是后加加,然后我意识到无论前加加还是后加加,都不影响结果,该题主要考查了短路与短路的作用

第二题

在这里插入图片描述
答案为C

解析

在这里插入图片描述

第三题

在这里插入图片描述
该题选择D

解析

三元操作符类型的转换规则:

  1. 若两个操作数不可转换,则不做转换,返回值为Object类型
    在这里插入图片描述

  2. 若两个操作数都是基本数据类型的值,则返回值类型为范围较大者在这里插入图片描述

  3. 三元操作符如果遇到可以转换为数字的类型,会做自动类型提升,当都提升为基本数据类型时,然后将精度低的一边提升精度,然后根据问好左边的表达式的结果时true还是false,返回对应的值,此时返回值类型时Object在这里插入图片描述

基本数据类型的范围在这里插入图片描述
byte<short<int<long<float<double

总结

该题考察了三元运算符在填写不同类型的数时,返回值是什么以及执行的整个过程,先干了什么然后干了什么

posted @ 2021-01-23 18:18  谢海川  阅读(14)  评论(0)    收藏  举报