算术运算符
int a = 10;
int b = 20;
int c = 25;
int d = 25;
?
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
注意取整问题,int向下取整,如果需要保留小数,可以用double进行强制转换。计算得出的结果一般都是Int类型
int a = 3;
?
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a++ a = a + 1;
System.out.println(a);
//a++ a = a + 1;
int c = ++a; //执行完这行代码前,先自增,再给b赋值
?
System.out.println(a);
System.out.println(b);
System.out.println(c);
?
注意a++ 与 ++a的不同之处
赋值运算符
关系运算符
int a = 10;
int b = 20;
int c = 22;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
逻辑运算符
boolean a = true;
boolean b = false;
?
System.out.println("a && b: " + (a && b)); //逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b: " +(a||b)); //逻辑与运算:两个变量有一个真,结果才为true
System.out.println("!(a && b): " +!(a && b)); //如果是真,则为假,如果是假则为真
?
//短路运算
int c = 5;
boolean d = (c<4) && (c++<4);
System.out.println(d);
System.out.println(c);
注意&&符号,如果前面的为假,则不会进行后面的运算
位运算符
A = 0011 1100
B = 0000 1101
?
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
/*
效率极高!!!
<< *2
>> /2
*/
2<<3 就是二进制中的0000 0010 的1向前面移动3位 变成0001 0000 结果为16
条件运算符
// x ? y : z
//如果x==true,则结果位y,否则为z
?
int score = 50;
String type = score < 60 ?"不及格":"及格"; //必须掌握
//if
System.out.println(type);
一般进行比较操作,可以让代码更加的精简
扩展赋值运算符
int a = 10;
int b = 20;
?
a+=b;
a-=b;
System.out.println(a);
int a = 10;
int b = 20;
?
//字符串连接符 +
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");
第一个结果为30
第二个结果为1020
第三个结果为30
原文:https://www.cnblogs.com/shangshil/p/14827907.html