當前位置:才華齋>計算機>java語言>

零基礎如何學習Java運算子

java語言 閱讀(7.77K)

運算子是java語言學習必學的知識點,下面小編為大家介紹零基礎如何學習Java運算子,歡迎大家閱讀!

零基礎如何學習Java運算子

  零基礎如何學習Java運算子

  1、算術運算子:

基本上和C/C++語言中的一樣;

加(+):計算兩個數之和或者將較小的資料型別提升為int;

減(-):計算兩個數的差或者轉變資料的符號;

編譯器會自動識別是兩個數之間的計算還是其他。

比如:x = -a; x= a +b;

乘(*):計算兩個數的積;

除(/):計算兩個數之商。注意a/b,b不能為0,要不然編譯不過;整數的除法如果除不盡會直接把小數部分抹掉而不是四捨五入。

取餘(%):還叫取模,取的是兩個數的餘數。

自動遞增/減(--、++):++a相當於a=a+1;注意這兩個操作符分字首(++a)和字尾(a++),字首會先進行運算,再使用這個變數,字尾是先使用變數再進行計算;

比如:int a = 1;

println("a = " + ++a);//2;

println("a = " + a++);//2

上面打印出來都是2,第一個因為是字首,所以先執行運算後列印a,第二個是先列印a再執行運算;

這個經常出現在面試題中,在實際專案中也經常用到。

  2、關係運算符:

關係運算生成的是一個boolean結果;

大於(>),小於(<),大於等於(>=),小於等於(<=),等於(==),不等於(!=)。

在基本資料型別之間使用關係運算符很容易理解,就是比較兩個數的大小關係,但是對於等於和不等於可以用在其他的資料型別(物件)之間,這個時候比較的是物件的記憶體地址是否一樣,這裡先不過多講解,後面的文章在學習完類和物件之後會拿來和equals()方法放在一期講。

  3、邏輯運算子:

與(&&),或(||),非(!)生成的結果也是一個boolean值。

a&&b,a和b全為true時結果才是ture;

a||b,a或者b有一為true結果就是true;

這裡a和b可能是兩個boolean變數,也可能是兩個結果為boolean的表示式。

注:說一下短路問題,這個在實際程式設計中也會遇到,短路是在進行邏輯運算時,如果通過前面的判斷已經能夠明確的知道整個表示式的值,就不會再進行後面表示式的`邏輯判斷。例如:表示式a || 表示式b || 表示式c 在知道表示式a是true時就已經能夠知道整個表示式的值為true,所以表示式2和3 都不會再進行判斷。

  4、位運算子:

用來操作整數基本資料型別的每一個位,也就是把整數按照二進位制進行計算。

int a = 50;

int b = 30;

tln(naryString(a));// 110010

tln(naryString(b));// 011110

tln(naryString(a & b));// 010010

tln(naryString(a | b));// 111110

tln(naryString(a ^ b));// 101100

tln(naryString(a << 2));// 11001000

tln(naryString(a >> 2));// 1100

& 按位與操作符,當且僅當兩個運算元都為1時結果才為1。

| 按位或操作符,只要兩個運算元的某一位是1結果就為1。

^ 按位異或操作符,兩個運算元不相同時則結果為1。

按位補運算子翻轉運算元的每一位,0翻轉為1,1翻轉為0。

<< 按位左移運算子。左運算元按位左移右運算元指定的位數,低位補0。左移幾位等於乘2的幾次冪。

>> 按位右移運算子。左運算元按位右移右運算元指定的位數,高位補0或者1,取決於運算元正負,正則補0,負則補1。右移幾位等於除2的幾次冪。

>>> 按位右移補零操作符(無符號右移)。左運算元的值按右運算元指定的位數右移,移動得到的空位以0填充。

  5.三元運算子:

三元操作符也叫條件操作符。表示式如下:

boolean-expression ? value0 : value1;

如果boolean-expression 是true則就計算value0,並且作為整個表示式的值返回,如果為false則計算value1,並作為結果返回。

  6.關於優先順序:

單目乘除為關係,邏輯三目後賦值。

單目:單目運算子+ –(負數) ++ -- 等

乘除:算數單目運算子* / % + -

為:位移單目運算子<< >>

關係:關係單目運算子> < >= <= == !=

邏輯:邏輯單目運算子&& || & | ^

三目:三目單目運算子A > B ? X : Y

後:無意義,僅僅為了湊字數

賦值:賦值=