算术运算符:+,-,*,/,%(取余数,java中称模),++(自增),--(自减)
+,-,*,/
//二元运算符
//Ctrl+D :复制当前行到下一行
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/b);//输出0,10/20=0.5,但int不支持小数自行四舍五入成0,要强转为double
System.out.println(a/(double)b);//0.5
long a=123123123123L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//输出类型为Long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
//运算中有long类型的,输出就为long,其余则为int
//模运算
System.out.println(c%a);//%表取余数,在java中叫取模。
//在此相当于c/a余多少,相当于20/10=2...1 输出的是1
//++ 自增 -- 自减 用一个数就可以操作,称为一元运算数
int a=3;
int b=a++;//a++ 执行完这行代码后,先给b赋值,再自增
// a=a+1 相当于隐藏代码
System.out.println(a);//4
System.out.println(b);//3
// a=a+1 同上
int c=++a;//++a 执行完这行代码前,先自增,再给b赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
System.out.println("================================");
//--
int e=1;
int f=e--;
System.out.println(e);//0
System.out.println(f);//1
int g=--e;
System.out.println(e);//-1
System.out.println(f);//1
System.out.println(g);//-1
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=(表不等于),instanceof
//关系运算符返回的结果:true or false
int a=10;
int b=20;
int c=21;
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));//逻辑与运算:两个变量都为真,结果才为真
System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为真
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果是假,则变为真
//短路运算 与运算中,如果第一个是假,就不会执行第二个
//实验
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);//5
//若执行了第二个,则输出六,现为5.表示没有执行
(以下了解就行)
位运算符:&,^,~,>>,<<,>>>
/**位运算 与二进制有关
* A=0011 1100
* B=0000 1101
*
* A&B=0000 1100 //上下11得1,00,01,10得0
* A|B=0011 1101 //上下都为0,结果为0,否则为1
* A^B=0011 0001 //上下相同为0,否则为1
* ~B=1111 0010 //取反 完全相反
*
*
* 2*8=16 2*2*2*2
* <<左移 *2
* >>右移 /2
*
* 0000 0000
*/
System.out.println(2<<3);//16
条件运算符:?,:
//三元运算
//格式x ? y : z
//若x==true,则结果为y,否则结果为z
int score=80;
String type=score<60 ?"不及格":"及格";
System.out.println(type);
拓展赋值运算符:+=,-=,*=,/=
int a=10;
int b=20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);
//字符串连接符 +
System.out.println(a+b);
System.out.println(""+a+b);//1020 ""表空的字符串,在前面,直接拼接
System.out.println(a+b+"");//30 ""在后面,前面依旧运算
//幂运算 比如二的三次方 2^3 java中不能这样运算 2*2*2
double pow = Math.pow(2, 3);
System.out.println(pow);//8.0
//怎么计算?
//先输入Math pow(2,3),点前面的灯泡选第一个就会返回一个double pow = Math.pow(2, 3); 输出就可以了
原文:https://www.cnblogs.com/valder-/p/14881061.html