java基礎學習-運算子Day04
阿新 • • 發佈:2022-04-10
運算子
-
java支援如下運算子:
-
算數運算子:+,-,*,/,%,++,--
-
賦值運算子:=
-
關係運算符:>,<,>=,<=,==,!=,instanceof
-
邏輯運算子:&&,||,!
-
位運算子:&,|,^,~,>>,<<,>>>
-
條件運算子:?:
-
拓展賦值運算子:+=,-=,*=,/=
public class Demo01 { public static void main(String[] args) { //二元運算(Ctrl+d:複製當前行到下一行) 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(a/b);//輸出為0,小數精度丟失 System.out.println(a/(float)b);//輸出為0.5 long a1=123123123L; int b1=1234; short c1=12; byte d1=2; System.out.println(a1+b1+c1+d1);//輸出為long型別(運算中最大型別) System.out.println(b1+c1+d1);//輸出為int型別 System.out.println(c1+d1);//輸出為int型別(byte,short,char自動轉換為int型別) //關係運算符,返回值為true,false,布林型 System.out.println(a==b); System.out.println(a>=b); System.out.println(a<=b); System.out.println(a!=b); //一元運算子,自增,自減 //q++:使用之後加一,++q:使用之前加一 int q=3; int w=q++; //q=q+1; //w=q++ :先把q的值賦給w,再對q加一 //q=q+1 int e=++q; //e=++q:先對q加一,再把q的值賦給e System.out.println(q); System.out.println(w); System.out.println(e); //冪運算,2^3,使用Math工具類實現 double a2= Math.pow(2,3); System.out.println(a2); //邏輯運算子,與或非(短路) boolean a3=true; boolean b3=false; System.out.println(a3&&b3);//兩個都為真才輸出true System.out.println(a3||b3);//兩個都為假才輸出false System.out.println(!(a3));//取反 //短路解釋 int c3=3; boolean d3=(c3<3)&&(c3++<5);//c3<3為假,則直接短路結束後面的自增語句 System.out.println(d3); System.out.println(c3);//c3=3 Demo01 demo01=new Demo01();//例項化一個物件 demo01.Demo2();//使用物件呼叫方法 } public void Demo2() { //在計算機內部都是用0,1二進位制表示數的,位運算即為數字的二進位制表示在每一位上都進行與或運算 /*(0:false,1:true) 位運算子&,|,^,~,>>,<< a= 0011 1100 b= 0000 1101 a&b= 0000 1100(有0即為0,全1才為1) a|b= 0011 1101(有1即為1,全0才為0) a^b= 0011 0001(異或:相同為0,不同為1) ~a= 1100 0011(取反) <<:數字的二進位制表示中的1左移 2<<2=8: 2*2*2=8 2=0000 0010 8=0000 1000 */ System.out.println(2 << 2);//輸出8 //三元運算子?: //x?y:z(若x==true則返回y,否則返回z) int score=20; String type=score<60?"及格":"不及格"; System.out.println(type);//輸出不及格 } }
-
-
優先順序(括號可改變優先順序)
優先順序 運算子 結合性 1 (),[],{} 從左向右 2 !,+,-,~,++,-- 從右向左 3 *,/,% 從左向右 4 +,- 從左向右 5 <<,>>,>>> 從左向右 6 <,<=,>,>=,instanceof 從左向右 7 ==,!= 從左向右 8 & 從左向右 9 ^ 從左向右 10 | 從左向右 11 && 從左向右 12 || 從左向右 13 ?: 從右向左 14 =,+=,-=,/=(拓展賦值運算子) 從右向左