十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
java中判断变量是奇数还是偶数,我们可以通过这个变量对2进行取余运算所得的结果进行判断。
成都创新互联公司秉承实现全网价值营销的理念,以专业定制企业官网,成都网站建设、成都网站制作,成都小程序开发,网页设计制作,手机网站制作设计,全网营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
如果这个变量对2取余结果为0,则表明这个变量是偶数,否则表明这个变量是奇数。
提供一个判断方法吧:
public void evenOrOdd(int x){
if(x%2==0)System.out.println(x+"是偶数");
else System.out.println(x+"是奇数");
}
奇偶数的判定依据是:是否能被2整除。
1、通过字面解释去实现:采用取模(%)的做法:
public booleam isOdd(int num){
return num % 2 != 0;
}
注意:通过取模判断奇偶数一定要与0进行比较。如果是通过与1进行比较的话会有一个问题:
0 % 2 = 0 ( 0 != 1 ) 是偶数
1 % 2 = 1 ( 1 = 1 ) 是奇数
-1 % 2 = -1 ( -1 != 1 ) 是偶数,很明显是错的
2、利用位运算()能更好的实现
原理是:偶数的二进制末位必然是0,奇数的末尾必然是1。所以只要把一个数与1进行按与运算,运算结果为1则是奇数,0则为偶数。
public booleam isOdd(int num){
return num 1 == 1;
}
这种方法不用担心-1这个特殊情况,(在计算机中,负数以其正值的补码形式表达的):
-1 的二进制:
原码:0000 0001
反码:1111 1110
补码:1111 1111
按位与计算得到:0000 0001,结果是1,则可以判断为-1是奇数。
能够被2整除的整数是偶数,不能被2整除的是奇数。
i % 2 == 1 ? "奇数" : "偶数";
以上程序如果i为负数结果为偶数。
Java取余(%)算法代码如下:
// dividend被除数 divisor 除数public static int remainder(int dividend, int divisor){ return dividend - dividend / divisor * divisor;}
所以当输入 -1时 运算结果是-1,当然不等于1了,所以它被判定为偶数了。
因为改为判断是否是偶数即可
i % 2 == 0 ? "偶数" : "奇数";
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。