java判断奇偶数注意点
程序员文章站
2022-04-02 18:06:54
...
如果让我们用java写一个方法来判断一个整数是奇数还是偶数,相信很多人很快能写出来,而其中可能就会有下面这种:
public boolean isOddNumber(int i) {
return i % 2 == 1;
}
这样写有没有什么问题呢?
初步看,没什么问题,不过,真没问题吗?输入-1试试看:
结果为false诶,难道-1不是奇数?赶紧换成-3在试试,结果还是false。
究竟发生了什么,我们看看-1和-3分别与2求余是什么结果:
结果都是-1,这就要引出java的一个特性了,java求余结果与左操作数保持相同的符号。不信,将2换成-2,试试,然后在将-1和-3换成1和3试试。
那么如何修改上面的函数呢?很简单,
public boolean isOddNumber(int i) {
return i % 2 != 0;
}
其实还有一种更加高效的方法,也是我所推荐的
public boolean isOddNumber(int i) {
return ((i & 1) == 1) ? true : false;
}
【总结】:java求余结果与左操作数保持符号一致。
【思考】:为什么java求余结果是与左操作数保持一致?java求余过程中都发生了什么?
上一篇: php实现无限级评论功能
下一篇: Redis的跳跃表确定不了解下
推荐阅读
-
java泛型 的一些基础注意点
-
[JAVA]使用if…else语句编写代码。定义一个整型变量a,为其赋值为20,判断20是奇数还是偶数,如果为奇数,输出“a是奇数”,否则输出“a是偶数”
-
编程判断输入整数的正负性和奇偶性。 **输入格式要求:“%d“ 提示信息:“Input m:“ **输出格式要求: 如果是负偶数,则输出“%d is a negative even\n“ 如果是负奇
-
java 字符串 Split切割 特殊字符(例:* ^ : | )注意点
-
Java中抽象类用法与注意点实例详解
-
Java多态用法与注意点实例分析
-
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
-
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
-
5.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
-
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key