判断如下代码的执行结果:

public class Spock{public static void main(String[] args){Long tail = 2000L;Long distance = 1999L;Long story = 1000L;if( (tail>distance) ^ ((story*2)==tail ) )System.out.print("1");if((distance+1 !=tail) ^ ((story*2)==distance) )System.out.print("2");}
}

这道题考察的是逻辑运算及条件判断,同时以基本类型的包装类和自动类型转换做烟幕。

Java中的逻辑运算符有6个,三个比较常见的与(&&)、或(||)、非(!);三个用的比较少的不短路与(&)、不短路或(|)、异或(^)。

着重理解下后三个:

不短路与(&):和短路与(&&)功能相同。不同处在于短路与(&&)在判断第一个表达式错误后就不会计算其余的表达式,不短路与(&)总是会计算所有的表达式;

不短路或(|):和短路或(||)功能相同。不同处在于短路或(||)在判断第一个表达式正确后就不会计算其余的表达式,不短路或(|)总是会计算所有的表达式;

异或(^):两个表达式相同返回false;表达式不同返回true(这家伙唯恐天下不乱)。

此外这三个还是位运算符(不详说)。

基本类型的包装类。这里使用了包装类的自动装箱和自动拆箱功能。自动装箱是指可以把一个基本类型的变量直接赋给对应包装类的变量,或者赋给Object变量;自动拆箱则与之相反,可以把包装类的变量赋给对应基本类型的变量。自动拆箱和自动装箱功能是在JDK1.5之后出现的。

基本类型的自动转换遵循如下规则:

在一个算术表达式中,如果有多个不同基本数据类型的值,那么表达式的值会自动提升到表达式中最高等级数值的类型。

自动装箱时类型不会自动转换;自动拆箱时会执行自动转换(实际上是先拆箱再自动转换)。

说了这许多,再看看这题——简单的加减乘除好吧。

第一个条件判断全为true,第二个条件判断全为false,最后什么也不会输出。

so,心思还是单纯点比较好

转载于:https://www.cnblogs.com/amunote/p/3796410.html

scjp考试准备 - 2 - 逻辑运算及类型转换相关推荐

  1. scjp考试准备 - 11 - 类型转换2

    题目如下: interface Foo{} class Alpha implements Foo{} class Beta extends Alpha{} public class Delta ext ...

  2. java scjp 试题_JAVA认证历年真题:SCJP考试真题和解析

    1. Which of the following range of short is correct?A. -27 -- 27-1 B. 0 -- 216-1 C. ?215 -- 215-1 D. ...

  3. scjp考试准备 - 4 - 关于数组

    好吧这道题我丢脸了,竟然做错了. 如下程序的输出结果是: class Alligator{ public static void main(String[] args){ int[]x[] = {{1 ...

  4. scjp考试准备 - 1 - 循环控制

    判断如下代码最后的执行结果. public class Breaker{static String o = "";public static void main(String[] ...

  5. 顺利通过scjp认证考试

    Java以其平台无关性.面向对象.支持多线程等优点成为越来越多的程序开发人员的新宠,Java技术以其独特的优势在越来越多的领域得以使用和发展.作为程序开发人员,为了检验对Java掌握的程度,参加Sun ...

  6. 关于 SCJP 1.4 考试

    SCJP 1.4 考试是 Sun Microsystems 推出的系列 Java 认证考试中的第一个,对于众多程序员来说,它是成为优秀 Java 开发人员的第一步. 该考试测试 Java 的基础知识并 ...

  7. Sun Java 国际认证考试流程表

    在当今信息高速发展的社会中,"人才"决定了企业发展.因此,如何评估员工的价值,或是个人如何证明自己的专业能力,就成为关键.Sun公司为了为业界建立一套认证的标准,特别针对最先进的科 ...

  8. 青少年python编程课_青少年之Python编程课程安排第一季

    第一章    开启Python之旅 1.你将了解什么是Python 2.在电脑上安装并简单使用Python 3.开始通过Python与计算机进行交流(编程) 第二章    变量 1.什么是变量 2.变 ...

  9. python 判断类型_青少年之Python编程课程安排lt;第一季gt;

    第一章    开启Python之旅 1.   你将了解什么是Python 2.   在电脑上安装并简单使用Python 3.   开始通过Python与计算机进行交流(编程) 第二章    变量 1. ...

最新文章

  1. Java中BASE64 编码
  2. OC-CoreData的使用
  3. 深度学习总结:tensorflow和pytorch关于RNN的对比,tf.nn.dynamic_rnn,nn.LSTM
  4. Codeforces Round #392(div 2) 758D (贪心)
  5. 2018年春阅读计划---阅读笔记4
  6. 工业相机(3D)主要参数详述
  7. .NET开发框架(三)-高可用服务器端设计
  8. java 保存文件在服务器_java文件保存至服务器
  9. Windows Terminal Preview v0.4 发布,微软出品的全新终端
  10. Error: Can’t resolve ‘./src’ in ‘E:\ASUS\Documents\VSCode files\WebPackProject’
  11. Hdu 1303 Doubles
  12. windows7下硬盘安装linux
  13. 万能五笔输入法弹窗_万能五笔输入法广告怎么去掉
  14. html 灯箱效果,基于 BootStrap 4 的图片灯箱效果 | 智慧宫
  15. 浏览器闪退问题解决汇总(需配合360)
  16. 伤感日志:时光远走,流年轻度
  17. 第十二周项目二----操作用邻接表存储的图
  18. ibm服务器中文件存储设置,IBMv7000存储服务器双活配置流程
  19. 对未来计算机的畅想作文1500,新年畅想作文1500字
  20. SpringBoot集成Kafka

热门文章

  1. Python之旅:列表
  2. Mysql 中获取刚插入的自增长id的值
  3. string的内存管理问题
  4. 递归找出文件夹里面所有文件
  5. 测试思想-测试设计 测试用例设计之正交法
  6. APP性能之终端兼容
  7. Spring PropertyPlaceholderConfigurer Usage
  8. 线下活动 | 揭秘大数据背后的京东虚拟平台(免费报名中)
  9. 【运营干货】段子手打死也不会告诉广告主的事:一篇新媒体文案如何才能引发用户分享?...
  10. GNOME 3.31.91 发布,3.32 发布周期第二个 beta 版