Java基础语法重点04(运算符,连接符)
-
算术运算符:+ , - , * , / , %(模运算即取余) , ++ ,--
-
赋值运算符:=
-
关系运算符:> , < , >= , <= , == , != , instanceof
-
逻辑运算符:&& , || , !
-
位运算符:& , | , ^ , ~ , >> , << , >>>(二进制)
-
条件运算符: ? :
-
扩展赋值运算符: +=,-= , *= ,/=
不同类型的数相加:
- 有long,则结果为long类型
- 有double,则结果为double类型
- 无long,无double,则结果为int类型
- 关系运算符返回的结果:正确,错误(布尔值)
自增,自减(一元运算符):
- a++,先运算,再自增
- ++a,先自增,再参与运算
- a--,先运算,再自减
- --a,先自减,再参与运算
拓展:
- 一些数学运算,如幂运算,需借助Java中的一些工具来操作
Math pow(3,2) //即3^2=9
逻辑运算符:
- 与(and),或 (or), 非(取反)
boolean a=true;
boolean b=flase;
System.out.printfln("a&&b:"+(a&&b));//逻辑与运算,两个都为真,则结果为真
System.out.printfln("a||b:"+(a||b));//逻辑或运算,两个都为假,则结果为假
System.out.printfln("!(a&&b):"+!(a&&b));//如果真则结果为假,如果假则结果为真
三条语句的输出结果:
a&&b:flase
a||b:true
!(a&&b):true
-
短路运算:
int i=5;
boolean b=(c<4)&&(c++<4);//输出结果为5
//(c<4)为假,则不执行后边的(c++<4),即c的值仍为5
位运算符:
- &(与) ,|(或),^(异或) ,~(非),>>(右移)等价于x2,<<(左移)等价于/2,>>>
eg:
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 //(上下比较,两个都为1,则结果才为1,否则为0)
A|B = 0011 1101 //(上下比较,两个都为0,则结果才为0,否则为1)
A^B = 0011 0001 //(上下比较,如果两个位置相同,则结果为0,否则为1)
~B = 1111 0010 //(与上面完全相反)
eg:
2<<3 == 2*2*2*2 == 16
扩展赋值运算符:
- += , -= , *= , /=
(a+=b) == (a=a+b);
(a*=b) == (a=a*b);
字符串连接符(“+”):
eg:
System.out.printfln(" "+a+b);
//不会输出(a+b)的值,会依次输出a的值,b的值
//(在“+”运算符两侧,只要有一方出现了String类型,会将其他操作都转换为String类型·再进行连接)
System.out.printfln(a+b+" ");
//会输出(a+b)的值,因为字符串在后边,会先执行(a+b)
条件运算符:
- ? :
x ? y : z
//如果x==true,则结果为y,否则为z
Java中的优先级:
每日分享:
苦难既然把我推到了悬崖的边缘,那么就让我在这悬崖的边缘坐下来,顺便看看悬崖下的流岚雾霭,唱支歌给你听。
——史铁生

浙公网安备 33010602011771号