Day10-32.Common pitfalls when using operators
来源:互联网 发布:淘宝宝贝图片怎么拍照 编辑:程序博客网 时间:2024/06/08 04:03
使用操作符时常犯的错误
使用操作符时一个常犯的错误就是,即使对表达式如何计算有点不确定,也不愿意使用括号。
这个问题在Java中仍然存在。
在C和C++中,一个特别常见的错误如下:
while(x= y){
//….
}
程序员很明显是想测试是否“相等”(==),而不是进行赋值操作。
在C和C++中,如果y是一个非零值,name这种赋值的结果肯定是true,而这样便会得到一个无穷循环。
在Java中,这个表达式的结果并不是布尔值,而编译器期望的是一个布尔值。
由于Java不会自动将int数值转换成布尔值,所以在编译时会抛出一个编译时错误,
从而组织我们进一步去运行程序。
所以这种错误在Java中永远不会出现(唯一一个不会得到编译时错误的情况是x和y都为布尔值)。
在这种情况下,x=y属于合法表达式。而在前面的例子中,则可能是一个错误。
Java中有一个与C和C++中类似的问题,即使用按位“与”和按位“或”代替逻辑“与”和逻辑“或”。
按位“与”和按位“或”使用单字符(&或|),而逻辑“与”和逻辑“或”使用双字符(&&或||)。
就像“=”和“==”一样,键入一个字符当然要比键入两个简单。
Java编译器可防止这个错误放生,因为它不允许我们随便把一种类型当做另一种类型来用。
阅读全文
0 0
- Day10-32.Common pitfalls when using operators
- Day10-33.Casting operators
- Common mistakes when using Spring MVC
- 14.1. Common Pitfalls
- Pitfalls and Common Mistakes
- Day10-35.A compendium of operators
- Using Arithmetic Operators
- Day7-20.Using Java operators
- Redis Essentials 读书笔记 - 第六章: Common Pitfalls (Avoiding Traps)
- when using LOCK TABLES
- Add two numbers without using arithmetic operators
- Using command redirection operators in Windows
- Compare two ints without using comparison operators
- Why Johnny can't clone: Common pitfalls and not so common solutions
- day10
- day10
- day10
- day10
- mybatis if字符串相等判断。。
- MongoDB学习笔记(索引)
- 无限轮播
- 9.4 边缘概率
- Parquet与ORC性能测试报告
- Day10-32.Common pitfalls when using operators
- Semaphore实现信号灯
- Android_Sqlbrite入门使用
- 各大网站CSS代码初始化集合
- MongoDB学习笔记(查询)
- android 一个Apk启动另一个Apk
- Pixel-wise orthogonal decomposition for color illumination invariant and shadow-free image
- 跳石板
- MSSQL 2000 错误823恢复数据成功案例