-
字符串连接运算符: +
-
算术运算符:+ - * / % ++ --
-
关系运算符(比较运算符): > < >= <= == !=
-
逻辑运算符: ! & | && ||
-
赋值运算符: = += -= *= /=
-
条件运算符
-
位运算符
+
+ 加法 :数值+数值 数值+字符 + 字符串连接 :字符串+字符串 数值+字符串
int a=10,b=5; System.out.println(a+b); //输出15 加法运算 System.out.println(a+'a'); System.out.println(a+"abc"); //输出10abc 字符串连接
++
int x=5; int y=x++; //输出y=5 x=6 本句意思:将x的值赋给y,然后x++比较运算符
-
== != 数值与数值 数值与字符 逻辑值与逻辑值 引用类型与引用类型
-
> < 数值与数值 数值与字符
int a=10,b=5; System.out.println(a>b); //输出true System.out.println(a>'a'); System.out.println(a==b); //输出false System.out.println(a!=b); //输出true boolean c=true, d=false; System.out.println(c==d); //输出false System.out.println(c!=d); //输出true String s="abc", s1="abc"; System.out.println(s==s1);//true System.out.println(s!=s1);//false
逻辑运算符
逻辑与& 逻辑或 | 逻辑非! 逻辑异或^
短路与&& 短路或||
& | ^ ! 这四个,既可以参与逻辑运算,也可以参与位运算
int a=10; int b=5; int c=7; System.out.println(a>b & bb & b>c); //true &false=false System.out.println(ac); //false &false=false //与运算,全真才真 //&与&&运算结果完全相同,但在&&中,若第一个表达式为false,则不运行后面的表达式,直接输出false //或运算,有真就真 //若第一个表达式true,则||后面的表达式不运行,直接输出true //^ 相同为false,不同为true System.out.println(a>b & b 赋值运算符 思考:short s=3;
1. s=s+2; //报错 因为s=s(short类型)+2(int) 所以计算出来是int型。不能赋给short
2. s+=2; //隐式转换
1和2有什么区别?
int a=1; a*=0.1; //通过隐式转换,计算出a为int型 System.out.println(a);//输出的a=0int i=1; i*=0.1; //隐式转换,i=0 System.out.println(i); //输出0 i++; System.out.println(i);条件运算符(三目运算符)
语法结构: (条件表达式)?表达式1:表达式2;
如果条件表达式结果为true,运算后的结果是表达式1;为false,运算后结果是表达式2
int score=70; String res=(score>60)?"及格":"不及格"; System.out.println(res); //输出 及格位(比特位)运算移位
<< 左移
>> 右移
>>> 无符号右移
int a=4; //4的二进制为 0000 0100 //左移一位为 0000 1000 等于8 System.out.println(a<<1);//a左移了一位,左移一位等于乘了个2,输出为8 int b=6; System.out.println(b>>1); //右移一位等于做了除法运算,6/2=3 System.out.println(b>>>1); //int x=3; int y=4; System.out.println(x&y); 与运算的应用:判断一个数的奇偶 System.out.println((x&1)==0); //若x与1等于0,则x为偶数 异或运算的应用:将x与y值进行交换 x=x^y; //7 y=x^y; //3=7^4 x=x^y; //4=7^3 // ~ 取反



