常用的運算符合:+,-,*,/,%,空連線運算子算術運算子
一元運算子:++,--
int i = 10; int j = --i; int k = j++; 結果:i=9; j=10; k=9;
二元運算子:+,-,*,/,%
10/3 = 3; 10%3=1; 10%4=2; 10%5=0;
邏輯運算子:返回型別永遠是布林型別
一元運算子:取非(!)
bool b = true; bool r = !b; 結果: ràfalse;
二元運算子:條件與(&&),條件或(||)
條件與符號的兩邊都是true的時候,整個表示式是true,只要有乙個為false,則整個表示式為false
if ((5 > 3) && (7 > 4))
條件或(||)符號的兩邊都是false的時候,整個表示式是false,只要有乙個為true,則整個表示式為true
if ((5 > 3) || (4 > 7))
字串運算子(+)
string str = 「zhang」 + 「san」;//str = 「zhangsan」;
比較運算子:==,!= ,> ,>=,<,<=
判斷是否相等:==。如:判斷3和5是否相等: 3==5
判斷是否不等:!=。如:判斷3和5是否不等: 3!=5
判斷是否大於》:如:判斷3是否大於5: 3>5
判斷是否大於等於》=:如:判斷3是否大於等於5: 3>=5
判斷是否小於<:如:判斷3是否小於5: 3<5
判斷是否小於等於<=:如:判斷3是否小於等於5: 3<=5
注:
double型別的數值和
int型別的數值作比較是否相等時,不能用
==,例:
double型別的
5,可能是
5.0001或者
4.9999999,所以做比較不能用
==,應該寫成
double x=5; int y=5; if(math.abs(x-y)<1e-6)
賦值運算子:=,+=,-=,/=,*=,%=
給變數賦值:= 如:int age = 10;
先加再賦值:+= 如:age +=5; àage = age + 5;
-=,/=,*=,%=的演算法和上面的一樣。
三元運算子:?:規則:判斷?前面的表示式是否為真(true):若是,則返回:前面的那個資料,否則返回:後面的資料。簡單的說,就是個if..else語句。
int c = (10 > 9)?7:6;
checked和unchecked運算子
例: byte b=255;b++; console.writeline(b.tostring());當加上checked時,byte b=255; checked console.writeline(b.tostring());注:用checked編輯器選項進行編譯,就可以檢查所有未標記**中的溢位,如果把一段**塊標記為checked,clr就會執行益處檢查,如果溢位就跑出overflowexception異常。如果要禁止檢查,則可以把**標記為unchecked。例: byte b=255;
unchecked console.writeline(b.tostring());這樣寫就不會丟擲異常,但會丟失資料,因為byte型別不能包含256,溢位位會丟失,所以b變數的得到的值是0。
注: unchecked是預設行為。只有需要把幾行未檢查的**放在一段顯式標記為checked的打**中,才需要顯式地使用unchecked關鍵字。
is運算子
is運算子可以檢查物件是否與特定的型別相容。加絨表示物件或者該型別或者派生型別。例:要價差變數是否與object理性相容可使用線面的**」
int i=10; if ( i is object )
注:int和所有的資料型別一樣,也從object繼承而來;表示式 i is object將為true,並顯示相應的訊息。
as運算子
as運算子用於執行引用型別的顯示型別轉換的型別,與指定的型別相容,轉換就會成功進行;如果型別不相容,as運算子就會返回null值。
例:object o1=」some string」;
object o2=5;
string s1=o1 as string;//輸出結果:s1=」some string」;
string s2=02 as string;//輸出結果:s2=null;
as運算子允許在一步中進行安全的型別轉換,不需要先使用is運算子測試型別,再執行轉換。
sizeof運算子
使用sizeof運算子可以確定棧中值型別需要的長度(單位是位元組)。例:
console.writeline(sizeof(int));
其結果顯示數字4,因為int有4個位元組。如果對於複雜型別(和非基元型別)使用sizeof運算子,就需要把**放在unsafe塊中。例:
unsafe
typeof運算子
typeof運算子表示乙個特定型別的system.type物件。例:typeof(string)返回表示system.string型別的type物件,在使用反射技術動態查詢物件的相關資訊時,這個運算子很有用。
可空型別和運算子
可空型別與一元或二元運算子一起使用時,如果其中乙個運算元或者兩個運算元都是null,結果就是null。例:
int? a=null; int? b=a+4; //b的結果為null;
int? c =a*5; //c的結果為null
但是在比較可空型別時,只要乙個運算元是null,比較結果就是false。既不能因為乙個條件是false,就認為 對立面是true。例:
int? a=null;
if (a>=b)
else }
C 基礎 運算子
運算子用於執行程式 運算,會針對乙個以上運算元進行運算。是程式中的乙個重要組成部分,目前為止,任何一門語言都會有其運算子。我們在學習c 之前,已經接觸過vb了。vb中的運算子,大家現在是不是忘得差不多了呢?接下來這篇部落格將比較一下vb和c 中運算子的異同點。一 算數運算子 從圖中,我們不難看出vb...
C語言基礎學習運算子 關係運算子
比較大小 首先,我們得先了解一下布林型別。c語言的c99標準支援布林型別,關鍵字為 bool,用於表示邏輯值true與false。c語言用值1表示true,用值0表示false。因此布林型別實際上是一種整數型別。程式常常使用含有關係運算子的表示式進行分支和迴圈操作。我們將在分支和迴圈的章節中具體學習...
c 基礎(四) 運算子
簡單的加減乘除就不說了,說一些特殊的 取餘數 例 a b 注意,除了算數還可以連線字串 賦值運算子 例 就是將左面的數移到右邊計算,再賦值給左面 其他運算子 new 建立乙個類的例項 typeof 獲取資料型別說明 網上的一些例子 type t typeof string type 是抽象類,typ...