求奇数,取余的时候注意传的参数带负号
isOdd(-1); public static boolean isOdd(int number) { return number % 2 != 0; }
Boolean布尔的包装类,有三中状态,考虑三种情况,并不要让抛出空指针异常 用的是&&与运算的短路和非的取反效果;
//1:true -> 如果config传的是 true != null && true -> true && true 结果为 true; //2:false -> 如果config传的是 false != null && false -> true && false 结果为 false; //3:null -> 如果config传的是 null != null && null -> false && null 结果为 false; //null != null 得到的是false &&有一个false短路不执行与符号的右边代码 Boolean config = getConfig(); if(config != null && config) { } public static Boolean getConfig() { //可能返回true/false/null }
位运算异或 x ^ y ^ y = x; x ^ x = 0;
x
Y 00101100
Y 00101100
- 00000000 不进位加法
左移一位相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
10 << 1 相当于10 * 2^1,10<<n相当于10* 2^n。
右移一位相当于除以2的1次方,右移n位就相当于除以2的n次方。