Java 如何检查整数是否可以被3除

Java 如何检查整数是否可以被3除,java,Java,如何检查我的整数是否可以除以3,如下所示: for(int i=0; i<24; i++){ //here, how to check if "i" can be divided by 3 completely(e.g. 3, 6, 15)? } 对于(int i=0;i使用MOD运算符 for(int i=0; i<24; i++){ if( i%3 == 0 ) // It is divisible by 3 } 对于(int i=0;i使用

如何检查我的整数是否可以除以3,如下所示:

for(int i=0; i<24;  i++){
   //here, how to check if "i" can be divided by 3 completely(e.g. 3, 6, 15)?

}
对于(int i=0;i使用MOD运算符

for(int i=0; i<24;  i++){
   if( i%3 == 0 )
       // It is divisible by 3

}

对于(int i=0;i使用模运算符

if(i % 3 == 0)

另请参见

检查剩余的i除以3

if (i % 3 == 0) {}
%运算符在循环内为您提供分区i/3的其余部分:

if (i%3 == 0)
    // it can be divided by 3
%
被称为“mod”或“module”,当两个数字相除时,会给出余数

这些都是事实:

6 % 3 == 0
7 % 3 == 1
7 % 4 == 3

这个问题是真的吗?

如果使用循环,可以使用每三分之一的数字可以除以3的事实

for(int i = 0; i < 24;  i += 3) {
   System.out.println(i + " can be divided by 3");
   System.out.println((i+1) + " cannot be divided by 3");
   System.out.println((i+2) + " cannnot be divided by 3");
}
for(int i=0;i<24;i+=3){
System.out.println(i+“可除以3”);
System.out.println((i+1)+“不能除以3”);
System.out.println((i+2)+“不能除以3”);
}
这避免了对模的需要,并将循环数减少了3倍。

那么,您可以做的是(可能会快一点;在我的机器上更快):

而不是

boolean canBeDevidedBy3 = (i % 3) == 0;

然而,乘法技巧只对
-2有效。你有大约20个问题没有被接受的答案。也许你可以问更清楚的问题或跟进答案,这样他们就可以被接受。
for(int i = 0; i < 24;  i += 3) {
   System.out.println(i + " can be divided by 3");
   System.out.println((i+1) + " cannot be divided by 3");
   System.out.println((i+2) + " cannnot be divided by 3");
}
boolean canBeDevidedBy3 = ((int) (i * 0x55555556L >> 30) & 3) == 0;
boolean canBeDevidedBy3 = (i % 3) == 0;