天天看點

java基礎04:基本運算符

運算符

算數運算符:+,-,*,%,++,--

指派運算符:=

關系運算符:>,<,>=,<=,==,!=instanceof

邏輯運算符:&&,||,!

位運算符:&,|,^,~,>>,<<,>>>(了解!!!)

條件運算符:?:

擴充指派運算符:+=,-=,*=,/=

任何數與long類型進行運算操作(加減乘除之類)結果都是long類型。如果沒有long,結果都為int

同理運算裡有double,結果也為double

關系運算符傳回布爾值,結果:正确、錯誤。

清楚++a,a++,--a,a--

例:計算2的三次方,2^3

需要調用數學函數,很多運算會使用一些工具類操作

double pow = Math.pow(2,3);

System.out.println(pow);

邏輯運算符

&& || !

與 或 非

&&:兩個變量都為真,結果為真。隻要有一個變量為假,結果為假

||:隻要有一個變量為真,結果為真。兩個為假,結果為假

! :真邊假,假變真

短路運算:

若a=false,則判斷a&&b時,不會運作b

例:

public class Day4 {

           public static void main(String[] args) {

               int a=5;

               boolean b=(a<5)&&(a++<5);

               System.out.println(b);

       System.out.println(a);

  }

}

結果:false 5

證明,在與運算中,第一個變量為假,則不會判斷第二個變量,直接輸出結果為假

A = 0011 1100

B = 0000 1101

A&B=0000 1100 //都為1,才落1。否則就落0

A|B= 0011 1101 //隻要有1就落1。

A^B=0011 0001 //上下相同落0,不同落1

~B =1111 0010 //0變1 ,1變0

左移<< 相當于把數字乘二 *2

右移 >> 相當于把數字除二 /2

0000 0000 0

0000 0001 1

0000 0010 2

0000 0011 3

0000 0100 4

0000 1000 8

0001 0000 16

System.out.println(2<<3); 得出16。

如果輸出的數前面是字元串+ 後面的。那麼後面的數都被轉換成字元串連接配接。

例如:

字元串在前面,後面都轉為字元串

字元串在後面,前面依舊運算。

x ? y : z

如果x==true,則結果為y,否則結果為z

例如:

int score = 80;

String type = score<60?"不及格":"及格";

   System.out.println(type);

//結果:及格

<col>

優先級

1

()

2

! +(正) -(負) ++ --

3

* / %

4

+(加) -(減)

5

&lt; &lt;= &gt; &gt;=

6

== !=

7

^

8

&amp;&amp;

9

||

10

?:

11

= += -= *= /= %=