Java表達式與運算符
上面兩節我們知道了Java的基本數據類型以及Java的基本語法,那么在Java中我們該如何對已有數據進行操作呢?這就要使用到Java表達式與運算符了。
表達式
表達式是由運算符、操作數或方法按照Java的語法規則而排列出來的有序的符號序列。表達式可用于計算一個公式,為變量賦值以及幫助控制程序的執行過程。比如“a=(x-y)/(x+y);”就是一個表達式,表示用于計算這個數學式的結果,并將賦值號右邊的結果賦值給左邊的變量a;
運算符
運算符指形如數學中的加減乘除(+、-、×、÷)的符號(Java中表示除的概念使用/與%)。Java提供了豐富的運算符,一個運算符可以利用運算對象(需要操作的數據對象)來完成一次運算。
只需要一個對象參與運算的的運算符稱為一元運算符。例如++a,表示a的值加1,整個運算過程只涉及到a這個對象的操作。
需要兩個運算對象參與運算的運算符稱為二元運算符。例如賦值符號(=),把等號右邊的運算對象賦給左邊的運算對象。
按照運算符的用途,可以將常用的Java運算符分成以下幾類:(1)賦值運算符;(2)算術運算符;(3)關系運算符;(4)邏輯運算符;(5)條件運算符;
(1)~(4)
(5)條件運算符:符號表示為 “?? :”,該運算符有3個操作數,因此為三元運算符,并且需要判斷布爾表達式的值,該運算符的主要是決定應該在條件判斷后應執行那個步驟,如果?前面的值為true,則執行?與:之間的程序,如果為false則執行:后面的程序。
(6)instanceOf運算符:該運算符用于操作實例對象,檢查該對象是否是一個特定類型(類類型或接口類型),其使用格式為:(object reference variable) instanceOf (class/interface type)。
數據類型轉換
在Java語言中對已經定義了類型的變量,允許轉換類型。變量的數據類型轉換分為“自動類型轉換”與“強制類型轉換”2種。
(1)自動類型轉換
在程序中已經對變量定義了一種數據類型,若想以另外一種數據類型表示時,要符合以下2個條件:①轉換前的數據類型與轉換后的數據類型兼容;②轉化后的數據類型比轉換后的數據類型表示的額范圍大。對于基本數據類型按精度從小到大:byte<short<int<long<float<double。當把低等級的變量的值賦給級別高的變量時,系統自動進行數據類型轉換。如 int x=10; float y; y=x; 那么這三個表達式的最終結果是整型的10轉換成浮點型10.0。
(2)強制類型轉換
強制類型轉換是指當把級別高的變量的值賦給級別低的變量,轉換的格式為:(類型名)+需要轉換的變量或值。如float x=10.1;int y;y=(int)x;那么這三個表達式的最終結果是浮點類型的10.1轉換成整型的1,從這個轉換的過程來看,當高精度的數據類型轉換成低精度的數據類型時,可能會降低數據的精度。
Java運算符優先級
當多個運算符出現在一個表達式中,Java規定了其優先執行的順序,這種規則稱為Java運算符的優先級,優先級高的先執行,優先級低的后執行。就像我們的數學中的口頭禪:先乘除,后加減,有括號先算括號里后算括號外,只不過Java中加入它特有的運算符,使運算順序會出現變化。
小結
本節內容對Java中的表達式概念與運算符種類做了簡介,主要要掌握運算符表達的含義其使用,由于運算符多種多樣,在程序執行時需要考慮程序的執行的順序,以后的擼代碼過程中,會慢慢接觸到這些的。
給自己一個拼搏的理由,想想都覺得有動力。(熬了好長時間的雞湯)