package day2;
public class TestOperator2{
public static void main(String[] args){
int a = 26; //11010
int b = 20; //10100
int c = -26; //
//a>20 && b<30 短路运算符
//a>20 & b<30 非短路运算符
//a>5 || b<30 短路运算符
//a>5 | b<30 非短路运算符
//& 按位求与
//| 按位求非
//^ 按位求异或
//~ 按位求反
//>> a (数学)右移运算符(补符号位)
//<< a (数学)左移运算符(补符号位)
//>>> a 右a位移运算符(补零)
//<<< a 左a位移运算符(补零)
System.out.println(a&b); //10000 16
System.out.println(a|b); //11110 30
System.out.println(a^b); //01110 14
System.out.println(~a); //00101 5
System.out.println(a>>2); //00110 6
System.out.println(c>>2); //查看“>>”与“>>>”的区别,有详细的解释
System.out.println(c>>>2);
}
}
遇到的问题:
第一次对TestOPerator2.java文件进行编译的时候,出现报错,报错并不是代码编写的问题。
报错提示:
错误: 编码 GBK 的不可映射字符 (0xA6)
解决办法:
查询后大致了解到报错的原因是编码格式的问题,需要在编译源程序的时候,在编译代码文件名前,添加命令:-encoding utf-8
如:javac -encoding utf-8 TestOperator2.java