欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

整理Java編程中常用的基本描述符與運算符

 更新時間:2016年02月14日 08:50:14   投稿:goldensun  
這篇文章主要介紹了Java編程中常用的基本描述符與運算符整理,包括運算符優(yōu)先級等平時經(jīng)常查看反復(fù)記憶的知識點,需要的朋友可以參考下

描述符
描述符是你添加到那些定義中來改變他們的意思的關(guān)鍵詞。Java 語言有很多描述符,包括以下這些:

  • 可訪問描述符
  • 不可訪問描述符
  • 應(yīng)用描述符,你可以在類、方法、變量中加入相應(yīng)關(guān)鍵字。描述符要先于聲明,如下面的例子所示(斜體):
public class className {
 // ...
}
private boolean myFlag;
static final double weeks = 9.5;
protected static final int BOXWIDTH = 42;
public static void main(String[] arguments) {
 // body of method
}

可訪問描述符
Java 提供一系列可訪問描述符來設(shè)定類,變量,方法和構(gòu)造器的訪問級別。四種訪問級別如下:

默認的,對封裝可見。不需要描述符。

  • 僅對類可見(private)
  • 全部可見(public)
  • 對封裝和子類可見(protected)

不可訪問描述符

Java 提供一些不可訪問描述符來滿足其他功能。

  • Static 描述符是用來創(chuàng)造類方法和變量的。
  • Final 描述符用來最終確定和實施類、方法和變量的。
  • Abstract 描述符用來創(chuàng)造不允許實例化的類和方法。
  • synchronized 和 volatile 描述符用來當做線的。

基本運算符
Java 針對操控變量提供了一組豐富的運算符。我們可以將所有的 Java 運算符分為如下幾組:

  • 算數(shù)運算符
  • 關(guān)系運算符
  • 位運算符
  • 邏輯運算符
  • 賦值運算符
  • 其他運算符
  • 算數(shù)運算符

算術(shù)運算符在數(shù)學(xué)表達中的使用和它們在代數(shù)中的使用是相同的。下面的表格列舉了算數(shù)運算符:

假設(shè)整體變量 A 有 10 個,變量 B 有 20 個,那么:

示例

運算符 描述 例子
+ 加法 – 在運算符的另一端增加 A+B 為 30
- 減法 – 將右側(cè)的操作數(shù)從左側(cè)的操作數(shù)中減去 A - B 為-10
* 乘法 – 將運算符兩端的值相乘 A * B 為200
/ 除法 – 用右側(cè)操作數(shù)除左側(cè)操作數(shù) B / A 為2
% 系數(shù) - 用右側(cè)操作數(shù)除左側(cè)操作數(shù)并返回馀數(shù) B % A 為0
++ 增量 – 給操作數(shù)的值增加1 B++ 為21
-- 減量 – 給操作數(shù)的值減去1 B—為19

關(guān)系運算符
以下是 Java 語言可支持的關(guān)系運算符。
假設(shè)變量 A 有 10,變量 B 有 20,那么:

示例

運算符 描述 例子
== 檢查雙方操作數(shù)的值是否相等,如果相等那么條件為真 (A == B) 不為真。
!= 檢查雙方操作數(shù)的值是否相等,如果不相等那么條件為真 (A != B) 為真。
> 檢查左側(cè)的操作數(shù)是否大于右側(cè)的操作數(shù),如果大于那么條件為真 (A > B) 不為真。
< 檢查左側(cè)的操作數(shù)是否小于右側(cè)的操作數(shù),如果小于那么條件為真 (A < B) 為真。
>= 檢查左側(cè)的操作數(shù)是夠大于等于右側(cè)的操作數(shù),如果是那么條件為真 (A >= B) 不為真。
<= 檢查左側(cè)的操作數(shù)是否小于等于右側(cè)的操作數(shù),如果是那么條件為真 (A <= B) 為真。

位運算符
Java 定義了幾種運算符,這類運算符可被運用于整數(shù)型式,long, int,short,字符型和字節(jié)型。

位運算符作用于二進制系統(tǒng)間傳輸標準,并執(zhí)行按位操作。假設(shè)如果 a 等于 60;b 等于 13;現(xiàn)在在二進制型式下它們就如下所示:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011 

以下表格列舉了位運算符:

假設(shè)整數(shù)變量 A 有 60 個,B 有 13 個那么:

示例

運算符 描述 例子
& 二進制AND運算符在結(jié)果上復(fù)制一位如果在雙方操作數(shù)同時存在 (A & B) 為12,即 0000 1100
| 二進制OR運算符在結(jié)果上復(fù)制一位如果在任何一個操作數(shù)上存在 (A | B) 為61,即0011 1101
^ 二進制XOR 運算符復(fù)制位,如果它是設(shè)置在一個操作數(shù)上而不是兩個。 (A ^ B) 為49, 即0011 0001
~ 二進制補充運算符是一元的,b并有“翻轉(zhuǎn)”位的影響 (~A ) 為 -61,由于是帶符號的二進制數(shù),那2的補位形式為1100 0011
<< 二進制左移運算符。左側(cè)操作數(shù)的值根據(jù)右側(cè)操作數(shù)指定的位的數(shù)量移至左側(cè)。 A << 2 為240 ,即1111 0000
>> 二進制右移運算符。左側(cè)操作數(shù)的值根據(jù)右側(cè)操作數(shù)指定的位的數(shù)量移至右側(cè)。 A >> 2 為 15即1111
>>> 右移補零運算符。左側(cè)操作數(shù)的值根據(jù)右側(cè)操作數(shù)指定的位的數(shù)量移至右,并且轉(zhuǎn)移的值用零補滿。 A >>>2 為15 ,即0000 1111

邏輯運算符
下表格列舉了邏輯運算符:

假設(shè)布爾數(shù)學(xué)體系變量 A 為真,B 為假,那么:

示例

運算符 描述 例子
&& 稱為邏輯與運算符。如果雙方操作數(shù)都不為零,那么條件為真。 (A && B) 為真.
|| 稱為邏輯或運算符. 如果雙方操作數(shù)其中的任何一個都不為零,那么條件為真。 (A || B) 為真.
! 稱為邏輯非運算符. 用作翻轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果一個條件為真,那么邏輯非運算符為假。 !(A && B) 為真.

賦值運算符
以下是由 Java 語言所支持的賦值運算符:

示例

運算符 描述 例子
= 簡單及運算符, 將右側(cè)操作數(shù)的值賦給左側(cè)操作數(shù) C = A + B 會將 A + B 的值賦給 C
+= 增加及賦值運算符, 它將右側(cè)的操作數(shù)增加到左側(cè)的操作數(shù)并且結(jié)果賦給左側(cè)操作數(shù) C += A 同等于 C = C + A
-= 減去及賦值運算符,它將右側(cè)操作數(shù)從左側(cè)操作數(shù)中減去并將結(jié)果賦給左側(cè)操作數(shù) C -= A 同等于C = C - A
*= 乘以及賦值運算符,它將右側(cè)操作數(shù)與左側(cè)相乘并將結(jié)果賦給左側(cè)操作數(shù) C = A 同等于 C = C A
/= 除以及賦值運算符,它將右側(cè)操作數(shù)除左側(cè)操作數(shù)并將結(jié)果賦給左側(cè)操作數(shù) C /= A 同等于 C = C / A
%= 系數(shù)及賦值運算符 需要系數(shù)運用兩個操作數(shù)并且將結(jié)果賦給左側(cè)操作數(shù) C %= A is 同等于 C = C % A
<<= 左移和賦值運算符 C <<= 2 同等于C = C << 2
>>= 右移和賦值運算符 C >>= 2 同等于 C = C >> 2
&= 按位和賦值運算符 C &= 2 同等于C = C & 2
^= 按位異或及賦值運算符 C ^= 2 同等于 C = C ^ 2
|= 按位可兼或及賦值運算符 C |= 2 同等于C = C | 2

其它運算符
以下是由 Java 語言所支持的一些其他的運算符:

條件運算符(?:)

條件運算符同樣也被稱作為三元運算符。這種運算符由三個操作數(shù)組成,被用作評估布爾數(shù)學(xué)體系表達。這種運算符的目的是來決定哪些值應(yīng)被賦予到變量上。這個運算符被寫作如下:

variable x = (expression) ? value if true : value if false 

以下是示例:

public class Test {

 public static void main(String args[]){
  int a , b;
  a = 10;
  b = (a == 1) ? 20: 30;
  System.out.println( "Value of b is : " + b );

  b = (a == 10) ? 20: 30;
  System.out.println( "Value of b is : " + b );
 }
}

這樣就會有如下結(jié)果:

Value of b is : 30
Value of b is : 20

Instanceof 符

這種操作符只用于對象引用變量。這種操作符檢查對象是否是獨特類型(類型或接口類型)。Instanceof 運算符寫為:

( Object reference variable ) instanceof  (class/interface type)
如果在運算符左側(cè)的由變量所指代的對象為右側(cè)的類型或接口類型通過 IS-A 檢查,那么結(jié)果為真。以下是示例:

public class Test {

 public static void main(String args[]){
  String name = "James";
  // following will return true since name is type of String
  boolean result = name instanceof String; 
  System.out.println( result );
 }
}

這就會產(chǎn)出如下結(jié)果:

復(fù)制代碼 代碼如下:
true

這種運算符仍會返回到真如果被比較的對象是與右邊類型兼容的賦值。以下是另一個例子:
class Vehicle {}

public class Car extends Vehicle {
 public static void main(String args[]){
  Vehicle a = new Car();
  boolean result = a instanceof Car;
  System.out.println( result );
 }
}

這樣將會產(chǎn)生以下的結(jié)果:

true

Java 運算符的優(yōu)先級
運算符優(yōu)先級決定一個表達式里術(shù)語的分組。它影響著一個表達式如何求值。一定的運算符比其他運算符擁有更高的優(yōu)先級;例如:乘法運算符比加法運算符有更高的優(yōu)先級:

例如,x=7+3 2; 這里x 被賦值為13,不是20,是因為運算符 比運算符+由更高的優(yōu)先級, 所以它首先運算乘法 3*2, 然后再加7。

這里,有著最高優(yōu)先級的運算符在這個表格的最高一層,最低優(yōu)先權(quán)的則出現(xiàn)在最底部。在一個表達式中,越高等級的優(yōu)先權(quán)的運算符會最先被求值。

運算符 關(guān)聯(lián)性
后綴 () [] . (dot operator) 從左到右
一元 ++ - - ! ~ 從右到左
乘法的 * / % 從左到右
加法的 + - 從左到右
移位 >> >>> << 從左到右
關(guān)系的 > >= < <= 從左到右
相等 == != 從左到右
位與 & 從左到右
位異或 ^ 從左到右
位或 | 從左到右
邏輯與 && 從左到右
邏輯或 || 從左到右
有條件的 ?: 從右到左
賦值 = += -= *= /= %= >>= <<= &= ^== 從右到左
逗號 , 從左到右

相關(guān)文章

  • SpringBoot+Shiro學(xué)習(xí)之密碼加密和登錄失敗次數(shù)限制示例

    SpringBoot+Shiro學(xué)習(xí)之密碼加密和登錄失敗次數(shù)限制示例

    本篇文章主要介紹了SpringBoot+Shiro學(xué)習(xí)之密碼加密和登錄失敗次數(shù)限制示例,可以限制登陸次數(shù),有興趣的同學(xué)可以了解一下。
    2017-03-03
  • Java中反射詳解

    Java中反射詳解

    本文主要介紹了Java中反射的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Springboot項目因為kackson版本問題啟動報錯解決方案

    Springboot項目因為kackson版本問題啟動報錯解決方案

    這篇文章主要介紹了Springboot項目因為kackson版本問題啟動報錯解決方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 詳解lambda表達式foreach性能分析

    詳解lambda表達式foreach性能分析

    這篇文章主要介紹了詳解lambda表達式foreach性能分析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • JVM的垃圾回收機制你了解嗎

    JVM的垃圾回收機制你了解嗎

    這篇文章主要為大家介紹了JVM的垃圾回收機制,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • SpringBoot詳細講解日志文件

    SpringBoot詳細講解日志文件

    Spring Boot默認使用SLF4J+Logback 記錄日志,并提供了默認配置,即使我們不進行任何額外配,也可以使用SLF4J+Logback進行日志輸出
    2022-06-06
  • Java如何實現(xiàn)登錄token令牌

    Java如何實現(xiàn)登錄token令牌

    這篇文章主要介紹了Java如何實現(xiàn)登錄token令牌,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java實例項目零錢通的實現(xiàn)流程

    Java實例項目零錢通的實現(xiàn)流程

    本篇文章為你帶來Java的一個新手實戰(zhàn)項目,是一個零錢通系統(tǒng),項目來自于B站韓順平老師,非常適合新手入門練習(xí),感興趣的朋友快來看看吧
    2022-03-03
  • java實現(xiàn)大文件導(dǎo)出的實現(xiàn)與優(yōu)化

    java實現(xiàn)大文件導(dǎo)出的實現(xiàn)與優(yōu)化

    這篇文章主要為大家詳細介紹了java實現(xiàn)大文件導(dǎo)出的實現(xiàn)與優(yōu)化的相關(guān)資料,文中的示例代碼講解詳細,對我們深入了解java有一定的幫助,感興趣的小伙伴可以了解下
    2023-11-11
  • jmeter的時間戳函數(shù)使用

    jmeter的時間戳函數(shù)使用

    在使用jmeter做接口測試的時候,經(jīng)常會要用到日期這種函數(shù),本文主要介紹了jmeter的時間戳函數(shù)使用,感興趣的可以了解一下
    2021-11-11

最新評論