// 5、运算符和表达式
// 5-1 算术运算符: + - * / ++ -- %
// ++ --只能用在变量上
int a=10;
int b=++a;
System.out.println("b:"+b);//b:11
System.out.println("--b:"+--b);//--b=10
System.out.println("b++:"+b++);//b++=10(输出完成后b=11)
System.out.println("b--:"+b--);//b--=11(输出完成后b=10)
System.out.println("b:"+b);//b:10
// 5-2 赋值运算符:=,+=,-=,*=,/=,%=
int f=10;
f+=5;//等同于f=f+5
System.out.println("f+=:"+f);//f+=:15
// 5-3 比较运算符 <,>,>=,<=,==,!=
System.out.println(1>2);//F
System.out.println(6>=6);//T
System.out.println(3>=4);//F
System.out.println(9==9);//T
System.out.println(9!=9);//F
// 5-4 逻辑运算符 ex &,|,!,&&,||,^
System.out.println("1>2&3>1="+(1>2&3>1));//并且
System.out.println("1>2|3>1="+(1>2|3>1));//或者
System.out.println("3&5="+(3&5));//1
System.out.println("3|5="+(3|5));//7
System.out.println(!true);//非
System.out.println(true^true);//相异才为真
//短路&&
int a1=1;
int b1=2;
System.out.println(a1!=1&++b1!=2);
System.out.println(b1);
int a2=1;
int b2=1;
System.out.println(a2!=1&&++b2!=2);
System.out.println(b2);
// 5-5 连接运算符
System.out.println(1+2+"3"+4+5);
//输出3345(计算1+2连接3,全部变成字符串,四碰三也变字符串,以此类推)
// 5-6 三目运算符布尔表达式?值1:值2
System.out.println(3>8?3:8);
System.out.println(2<90?3:9);
// 5-7 位运算符 按位进行运算的符号
// & | ~ ^ << >> >>>
// &:与运算符
System.out.println(2&1);
// 正数:补码=反码=原码
// 负数:补码=反码+1=原码取反+1——符号位不取反
// 计算机中存储数是1️以补码形式存储的
// 正数补码:0000……0001
// 取反补码:1111……1110
// 翻译反码:1111……1101
// 翻译原码:1000……0010
System.out.println(~5);
// 0000……0101
// 1111……1010
// 1111……1001
// 1000……0110
// for(int i =-100;i<100;i++) {
// System.out.print(~i+" ");
// }
System.out.println();
// >>:右移;按位进行每一位都向右移动相应位数,高位补充符号位
int x=-2456467;//0010
System.out.println(Integer.toBinaryString(x));
System.out.println(Integer.toBinaryString(x>>3));
// >>>:无符号右移:按位进行每一位都向右移动相应位数,高位无条件补0
int x1=123;
System.out.println(Integer.toBinaryString(x1));
System.out.println(Integer.toBinaryString(x1>>>2));
int x2=-123;
System.out.println(Integer.toBinaryString(x2));
System.out.println(Integer.toBinaryString(x2>>>2));
System.out.println(Integer.toBinaryString(-2));
运算符和表达式
最新推荐文章于 2024-09-04 15:29:36 发布