JAVA-運算子與表示式
運算子與表示式
1)數學運算:+ - * / % ++ --
- 注意事項:
- + - * / 兩端的變數必須是同種型別,並返回同種型別。
- % 取餘運算,負數的餘數符號與被模數符號相同, - 1 % 5 = - 1,1 % - 5 = 1;Num % n,n>0,結果範圍[0,n),是周期函式。
- 注意整除問題:1 / 2 = 0(整數的除法是整除)1.0 / 2 = 0.5 1D / 2 = 0.5
- 單獨的前、後自增或自減是沒區別的,有了賦值語句或返回值,則值不同!
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個1則為1;&:上下對齊,有1個0則為0;(都為二進位制)
- &相當於乘法,| 相當於加法;&:有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
- 注意事項:右結合性: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. 變數名:由字母(‘_’被看作字母)和數字組成的序列,但第一個字元必須是字母;大小寫字母是有區別