1. 程式人生 > >JAVA-運算子與表示式

JAVA-運算子與表示式

運算子與表示式

1)數學運算:+ - * / % ++ --

  1. 注意事項:
  1. +  -  *  / 兩端的變數必須是同種型別,並返回同種型別。
  2. % 取餘運算,負數的餘數符號與被模數符號相同, - 1 % 5 = - 1,1 % - 5 = 1;Num % n,n>0,結果範圍[0,n),是周期函式。
  3. 注意整除問題:1 / 2 = 0(整數的除法是整除)1.0 / 2 = 0.5   1D / 2 = 0.5
  4. 單獨的前、後自增或自減是沒區別的,有了賦值語句或返回值,則值不同!

eg1:自增自減

int a = 1;  a = a++;  System.out.println("a的值:"+a);

第1步:後++,先確定表示式a++的值(當前a的值)  a++ ---->1    

第2步:++,給a加1                              a  ---->2

第3步:最後賦值運算,把a++整個表示式的值賦值給a  a  ---->1

a被賦值兩次,第1次a = 2,第2次把1賦值給1

eg2:自增自減

x,y,z分別為5,6,7  計算z + = -- y * z++ ;// x = 5,y = 5,z = 42

z = z + -- y * z++  à  42 = 7 + 5 * 7  從左到右入棧,入的是值

eg3:取出數字的每一位

d = num%10;//獲取num的最後一位數 num/=10; //消除num的最後一位

2)位運算:&  |  ~(取反) ^(異或)>>  <<  >>>

注意事項:

  1. 一個數異或同一個數兩次,結果還是那個數。
  2. |:上下對齊,有1個1則為1;&:上下對齊,有1個0則為0;(都為二進位制)
  3. &相當於乘法,| 相當於加法;&:有0則為0,| :有1則為1,^:兩數相同為0,不同為1。

3)關係運算符:>  <  >=  <=  ==  !=

4)邏輯運算子:&&  ||(短路)  !  &  |

eg:短路運算:&&:前為flase,則後面不計算;|| :前為true,則後面不計算

int x=1,y=1,z=1;

if(x--==1 && y++==1 || z++==1) //  || 短路運算後面的不執行了!

System.out.println(“x=”+x+”,y=”+y+”,z=”+z);//  0 , 2, 1

5)賦值運算子:=  +=  -=  *=  /=  %=

eg:正負1交替   

int flag= -1;  System.out.println(flag*=-1); ……

6)條件運算子:表示式1 ? 表示式2 :表示式3

  1. 注意事項:右結合性:a > b ? a : i > j ? i : j 相當於 a > b ? a : ( i > j ? i : j )

7) 運算子優先順序:括號 > 自增自減 >  ~ !  > 算數運算子 > 位移運算 > 關係運算 > 邏輯運算 > 條件運算 > 賦值運算

相關推薦

JAVA-運算子表示式

運算子與表示式 1)數學運算:+ - * / % ++ -- 注意事項: +  -  *  / 兩端的變數必須是同種型別,並返回同種型別。 % 取餘運算,負數的餘數符號與被模數符號相同, - 1 % 5 = - 1,1 % - 5 = 1;Num % n,n>0,

Java複習總結03——運算子表示式

表示式由運算子和運算元組成; 運算子一般分成以下幾組:算術運算子;賦值運算子;關係運算符;邏輯運算子;條件運算子;位運算子 一、算術運算子 用於基本的算術運算,如加,減,乘,除,取餘等。 +,-,*,/,%,++,--, 二、賦值運算子(=) 將右邊的值賦給左邊(

Java筆記丨08 運算子表示式

運算子 算數運算子:+ - * / % ++ -- 關係運算符:> < >= <= == != 邏輯運算子:! & | ^ && || 位運算子:& | ^ ~ >> << >>

C語言資料型別,運算子表示式

1.C語言的關鍵字 32個關鍵字: auto:自動宣告      break:跳出當前迴圈      case:開關語句分支               &nbs

java中 & ^ ~ 的運算 java運算子 (&)、非(~)、或(|)、異或(^)

java運算子 與(&)、非(~)、或(|)、異或(^)   最近看HashMap原始碼,遇到了這樣一段程式碼: 1 static final int hash(Object key) { 2 int h; 3

Python運算子表示式

Python的運算子包括算數運算子、關係運算符和邏輯運算子。表示式是由數字或字串和運算子組成的式子。 算數運算子和算數表示式 注意:Python不支援自增運算子(++)和自減運算子(--) 關係運算符和關係表示式 關係運算符優先順序:<、<=、>、>=

PHP學習——13 運算子表示式

定義:運算子是可以通過給出的一或多個值(用程式設計行話來說,表示式)來產生另一個值(因而整個結構成為一個表示式)的東西。 一、運算子分類 分類方式 運算子 詳細 備註 按運算元

java運算子 (&)、非(~)、或(|)、異或(^)

最近看HashMap原始碼,遇到了這樣一段程式碼: 1 static final int hash(Object key) { 2 int h; 3 return (key == null) ? 0 : (h = key.hashCo

C語言知識點(3)-運算子表示式

運算子與表示式 算數運算子 算術:+,-,*,/,%  考試一定要注意:“/” 兩邊都是整型的話,結果就是一個整型。 3/2的結果就是1.   “/” 如果有一邊是小數,那麼結果就是小數。 3/2.0的結果就是1.5  %符號兩邊要求是整數。不是整數

JAVA——運算子表示式

   JAVA提供了豐富的運算子,如算術運算子、關係運算符、邏輯運算子、位運算子等等。 一:算術運算子   1.加減運算子:加減運算子是二目運算子,即連線兩個操作元的運算子。運算結合方向是從左到右。操作型別:整形、浮點型資料。優先等級:四級。  2

java運算子運算順序(三)

1、算術運算和賦值運算的區別:對於short來說(short a = 10; (1)a+=1; (2)a=(short)(a+1))(int i=1;(1)i*=0.1;(2)i=(int)(i*0.1));從這 裡可以看出算術運算和賦值運算不一樣 2、邏輯運算:&與、&&短路與、

第三章 運算子表示式

數字物件的運算  “//”代表整除,對int和float都適用,“/”代表正常的除法,有餘數 對於複數,區域和擷取除法是無效的 >>> 3//2 1 >>> 3/2 1.5 >>> 1.5//0.3 5.0 >&

python學習筆記2(隨機數,運算子表示式

隨機數的常見操作 #隨機數 import random print(random.choice([1,3,5,7,9,aa])) #從1,3,5,7,9,aa中隨機取一個 print(random.choice(range(5))) #range(5)=[0,1,2,3,4] pr

3.運算子表示式,控制流

時間:2018年12月8日14:56:25 -------------------------------------------------------------------------------------------- 表示式包括運算子與運算元 1、運算子 2、求值順序

C++基礎知識(二)--左值右值--邏輯表示式求值優化--逗號運算子表示式

一、C++左值右值概念   左值:c++將變數名代表的單元稱為左值,而將變數的值稱為右值,左值必須是記憶體中可以訪問且可以合法修改的物件,因此只能是變數名,而不能是常量或表示式。即左值可以定址。   右值:將變數的值稱為右值,由運算操作(加減乘除,函式呼叫返回值等)所產生的中間結果(沒有名字的結果)稱為右

基礎型別、運算子表示式、流程控制、陣列集合

該系列的博文是自己學習Kotlin的學習筆記整理,以備忘與回顧。整理來源 - 瘋狂Koltin講義 Kotlin預備知識 1、kotlin 是一門強型別語言; 2、kotlin-stdlib.jar是Kotlin執行時環境 Kotlin可以自由呼叫Java的各種庫,因

運算子表示式

C語言一共34種運算子 算術運算子:+  -  *  /  %  ++   -- 關係運算符:<  <=  ==  >  >=  != 邏輯運算子:!  &&

J2SE_lesson02運算子表示式

開發十年,就只剩下這套架構體系了! >>>   

好程式設計師分享Python自動化運維開發實戰五-運算子表示式

好程式設計師分享自動化運維開發實戰五-運算子與表示式 導語:1.什麼是運算子2.什麼是表示式3.python運算子分類4.pyt

型別、運算子表示式

1. 變數:裝資料的容器,資料變,容器不變   變數在使用前要先定義,基本格式:變數型別  變數名1,變數名2,……;   Ex:int a,b,c;int a=0,b,c=0;//初始化 2. 變數名:由字母(‘_’被看作字母)和數字組成的序列,但第一個字元必須是字母;大小寫字母是有區別