分配变量时,&符号是什么意思?(JAVA)

tha*_*guy 4 java variables declaration ampersand

这个代码中的&符号是什么意思?

int clothes = (random.nextInt(0x1000000) & 0x7f7f7f);
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 14

它是按位AND运算符.

它独立地操作每个位位置; 如果位置n中的相应输入位也都是1 ,则位置n中的输出位仅为1.

在这种情况下,0x7f7f7f它被用作位掩码.通过将某些位位置设为0,意味着相应的位位置clothes始终为0.所有其他位位置将采用与生成的相同的值random.nextInt(0x1000000).