java深入解析_JAVA深入解析-36个话题-Two

## Chapter-2

##  i+++j=???

- 运算结合性

- 编译器的贪心规则

- 贪心的好处

1.三个加号相连是按照i++(+j)还是i+(++j)呢?这在C/C++中去杠是没有意义的,因为C/C++是基于现实的硬件结构的,不同的硬件环境有不同的结果。但在java却是有固定答案的,是先i++,然后+j。

2.编译器在分析字符时,会尽可能多滴结合有效字符。并且非常“贪得无厌”,不管这种结合方式是否合乎语法规则。

3.贪心规则是有用的,因为这样可以对转义字符等进行特殊处理。

## ++i与i++不仅仅是先加和后加的区别

- 对前置++和后置++的消费级理解

- 对前置++和后置++的企业级理解

- 利用伪指令去分析其中的差异

1.前置++与后置++都是先将变量的值加1,而不是前置++先加1然后运算,而后置++先运算后加1.

2.从进程上说,后置++现将变量赋值给一个临时变量,然后将变量的值加1,接下来使用哪个临时变量参与运算。

3.从指令上说,后置++在执行增值指令(iinc)前,现将变量的值压入栈,执行增值指令后,使用的是之前压入栈的值。

##  相除与求余

- 整型相除与求余运算

- 浮点类型相除与求余

- 浮点相除与求余运算的特殊情况

- 浮点值+0 与 -0的差别

1.浮点的相除与求余不同于整型的相除与求余运算,当除数为0时,浮点运算不会产生ArithmeticException异常。

2.浮点相除与求余运算各种情况下的结果。

- 浮点相除

俩个操作数(被除数和除数)只要有一个为NaN,结果就是NaN。

当俩个操作数都为Infinity或者都为0时(不论符号正负),结果为NaN。

当结果(商)不是NaN是,商的符号与被除数和除数的符号有关,当二者符号相同时,符号为正;当二者符号不同时,符号为负。

有穷数除以Infinity,商为0(商的符号根据第3点)

Infinity除以有穷数,商为Infinity(商的符号根据第3点)

有穷数或Infinity除以0,商为Infinity(商的符号根据第3点)

0除以有穷数或Infinity,商为0(商的符号根据第3点)

3.熟知浮点类型值+0与-0的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 目 录 第1章 基本概念 1 话题1 开门见山——测试你的Java水平 1 话题2 世外隐者——隐居深山的“关键字” 2 话题3 疑团满腹——标识符更深层的思考 6 话题4 鞭长莫及——我的特殊字符,你不能用! 10 话题5 移星换斗——从byte b = 1谈类型转换的神秘 16 话题6 扑朔迷离——浮点类型的种种悬疑 22 话题7 水落石出——浮点结构的最终解密 31 话题8 龙虎争霸——基本for循环与加强型for 循环的对比 45 第2章 运算符与表达式 52 话题9 莫衷一是——i+++j该如何计算? 52 话题10 千差万别——++i与i++仅是“先加”与“后加”的差别吗? 56 话题11 强大相径庭——相除与求余在Java中的具体表现 61 话题12 移形换位——移位运算的真实剖析 75 话题13 鞭辟近里——条件运算符(?:)的类型深入 81 话题14 井然有序——运算顺序的详细挖掘 86 话题15 异曲同工——交换变量的3种方式 90 话题16 择木而栖——开关选择表达式switch的类型内幕 95 第3章 String类 103 话题17 来龙去脉——“+”是怎样连接字符串的? 103 话题18 一成不变——不可修改的String对象 107 话题19 钩深索隐——String字符最大长度的探索 111 话题20 追本溯源——追寻String字面常量的“极限” 116 话题21 旧调重弹——再论equals方法与“==”的 区别 122 话题22 顺藤摸瓜——从字面常量到String常量池 136 第4章 方法、构造器与变量 143 话题23 相差无几——main方法很“特殊”吗? 143 话题24 一词多义——方法重载的详细说明 150 话题25 踵事增华——方法重写的真正条件 166 话题26 一叶障目——方法与成员变量的隐藏 177 话题27 发轫之始——执行初始化的构造器 182 话题28 殊途同归——成员变量不同的初始化方式 193 话题29 按部就班——初始化顺序与向前引用 206 第5章 类与接口 220 话题30 相辅相成——基本数据类型与包装类 220 话题31 分门别类——数组的阐述 232 话题32 规矩方圆——定义规范的接口类型 242 话题33 彻里至外——嵌套类型 248 话题34 不胜枚举——枚举的神秘 258 话题35 按部就班——加载、链接与初始化 265 话题36 择优录取——类型及其成员的选择 283 内容简介 本书分为5章,分别为“基本概念”,“运算符与表达式”,“String类”,“方法,构造器与变量”,“类与接口”。 通过以上方面介绍那些常见、常用却少为人知的Java知识。虽然内容相对基本,但都不是容易解答的。目前更多的开发人员(不乏多年开发经验者),也仅仅停留在Java表面的层次,而本书,将更深入一层地去讨论Java话题,令读者耳目一新,知其然,更知其所以然。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值