运算符
算数运算符
- "+" “-” “*” “/” “%” “++” "–"
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//+,-,*,/,遵循数学运算规则,
int a=10;
int b=20;
int c=30;
int d=40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(d/(double)c);//若输出结果为浮点数,需将数据类型转换 为浮点类型
System.out.println(a+b-c/(double)d);//若输出结果为浮点数,需将数据类 型转换为浮点类型
System.out.println("=====================================");
long a=121212121212121212L;
int b=1251;
short c=121;
byte d=12;
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("=====================================");
//"%"取余,模运算,输出结果为,余下来的值
int a=29;
int b=30;
System.out.println(a%b);//29
System.out.println("=====================================");
//"++":表示自增 "--":表示自减 称为:一元运算符
int a=3;
System.out.println(a);//3
int c=++a;//执行完这行代码前,先自增,再赋值
int b=a++;//执行完这行代码后,先给b赋值,再自增
System.out.println(a);//5
System.out.println(b);//4
System.out.println(c);//4
System.out.println("=====================================");
//幂运算2^3 2*2*2=8 很多运算我们会使用一些工具类来操作
double pow = Math.pow(2, 3);//返回值Ctrl+Alt+V
System.out.println(pow);//8
}
}
赋值运算符
- 将输出值赋予变量名 "="
关系运算符
-
">" “<” “>=” “<=” “==” "!="
public class Demo03 { public static void main(String[] args) { //关系运算符的返回结果只有 正确或者错误 即:false或true //"%"取余,模运算,输出结果为,余下来的值 int a=29; int b=30; int c=30; int d=30; System.out.println(a>b);//false System.out.println(a<b);//true System.out.println(a==b);//false System.out.println(a!=b);//true System.out.println(c>=d);//true System.out.println(c<=d);//true } }
逻辑运算符
- "&&" “||” "!"
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与(and,&&) 或(or,||) 非(取反,!) 数据类型只能为boolean类型
boolean a=false;
boolean b=true;
System.out.println(a&&b);//逻辑与运算:两个变量都为true,结果才为true, 若其中一个为false,结果即为true。
System.out.println(a||b);//逻辑与运算:两个变量一个true,结果才就为 true。
System.out.println(!(a&&b));//如果结果是true则变为false,结果为false 则变为true。
System.out.println("====================================");
//短路运算
int d=1;
boolean f=(d++<1)&&(++d>=2);//假如前面执行结果false,则不会执行后面的 程序。
System.out.println(f);
System.out.println(d);
}
}
位运算符
- "&" “|” “^” “~” “>>” "<<"
public class Demo06 {
public static void main(String[] args) {
/*
A=110110
B=100100
A&B=100100 只有对应位置的位都为1的时候,对应的位置才为1,否则则为0
A|B=110110 只要对应位置的位有一个为1,对应位置为1,否则则为0
A^B=010010 如果对应位置的位不相同,对应位置为1,否则则为0
~A=001001 与对应位置的位完全相反,对应位置的位为1,输出则为0
~B=011011 与对应位置的位完全相反,对应位置的位为1,输出则为0
位运算:效率高
<<: *2^n
>>: /2^n
*/
System.out.println(8>>2);//2
System.out.println(8<<2);//32
}
}
条件运算符
-
"?" ":"
//三元运算符 public class Demo08 { public static void main(String[] args) { //x ? y : z //如果x==true,则结果为:y //如果x==false,则结果为:z int score=80; String type=score>60?"及格":"不及格"; System.out.println(type); } }
拓展赋值运算符
- "+=" “-=” “*=” "/="
public class Demo07 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a= a+b
a-=b;//a= a-b
a*=b;//a= a*b
a/=b;//a= a/b
System.out.println(a);
// 字符串连接符 在“+”的前端,只要有String类型,都转换成String再进行连接
System.out.println(a+b);
System.out.println("Andy鑫"+a+b);//Andy鑫1020
System.out.println(a+b+"Andy鑫");//30Andy鑫
}
}