標籤:io os 使用 ar strong for 資料 sp on
三、變數常量
說在前:
其實,寫這個東西的時候,我也是在複習,因為這個都是一年前的筆記了。今天我看了幾章,貼上來吧。我也是求高手指點,因為變數類型很多,我真的背不出來,只有用的時候記起來或者查查資料。
為什麼會這樣呢?短期項目用到access,sqlserver,oracle後我開始張冠李戴了.....所以,我在學習過程,真的是抄下來,放在辦公室座位前....
變數(int Int=0)
1.實值型別
(1)整型
類型 |
說明(二進位) |
範圍 |
Sbyte |
8位有符號 |
-128-127 |
Byte |
8位不帶正負號的整數 |
0-255 |
Short |
16位有符號 |
-32768--32767 |
Ushort |
16位無符號 |
0-65535 |
Int |
32位有符號 |
-2147483648--2147483647 |
Uint |
32為無符號 |
0-4294967295 |
Long |
64位有符號 |
-9223372036854775808--..5807 |
Ulong |
64位無符號 |
0-18446744073709551615 |
(2)浮點類型
類型 |
說明 |
範圍 |
Float |
7位 |
10負45-38次方 |
Double |
15-16位 |
10負324-308次方 |
(3)布爾類型
Bool x=true or false
(4)特殊:枚舉類型
Enum 枚舉名
{list1=1,list2=2,…}枚舉可以為整數、浮點和布爾類型
小知識積累:(int)datetime.now().dayofweek;返回一周第幾天(小知識不一定和主題密切相關,只是我看到書本案例有,就抄下來,下同)
2.參考型別(定義在棧,記憶體大記憶體空間中,實值型別定義在堆小記憶體空間)
定義一個類定值,然後賦值:class Int{Int a=0;};class UsingInt{Int.a=10;}
常量-const來建立:const in tint=0;tint是固定不變的
四、運算式和運算子
1.算術運算子
+,-,*,/,%求餘運算;
2.賦值運算子
有=、+=、-=、*=,&=,>>=等,一般表示運算子號的混合,讀作賦值、加賦值(運算子號名+賦值),表示:i+=2等價於i=i+2;
3.關係運算子(比較)
==等於,>,<,!=,>=,<=,比較並返回一個布爾結果
4.邏輯運算子
(1)按位(按照二進位的位元上的值比較,0或者1,0&1=0返回0所在的十進數字,0|1=1,返回1對應的十進位數字):&與,|或,^異或;
(2)布爾預算中的(條件成立情況):&與,|或,^異或;
5.移位元運算符-用於電腦變數所對應的二進位位置的移動:
>>右移位,<<左移位:string a=5;a>>1,a<<1,5-二進位010,左移一位01,對應十進位3
數位移動,我是靠畫圖理解的,不過平時沒用到這麼高深的,就不了了之。
6.其他運算子
名稱 |
說明 |
用法舉例 |
Is |
用於檢查是不是指定類型 |
Bool b=0 is int;b結果true |
?條件運算子 |
變數?成立:不成立 |
String yn=(bool)b?”yes”:”no”;b成立b=yes,不成立b=no |
new |
建立新的類型執行個體 |
String[] s=new string[5];s[0]=1,s[1]=2… |
typeof |
擷取對象所屬的命名空間.類型 |
Type t=typeof(int);console.write(t)結果為sysytem.int32 |
運算子號的優先順序高-低:屬性typeof等-——一元(!++,--增大減少)——乘除加減——移位>>——比較<>=——位與——位或——邏輯與或——條件?——賦值:+=等等
五、字元和字串
(char和string,char集合成string)
1.字元char類:表示一個Unicode字元
1.1char.方法(參數、對象等)P64,常用的有:
Console.WriteLine("判斷是不是字母:{0}",char.IsLetter(a));
Console.WriteLine("判斷是不是數字:{0}", char.IsDigit(b));
Console.WriteLine("判斷是數字還是字母:{0}", char.IsLetterOrDigit(c));
Console.WriteLine("判斷是不是小寫:{0}", char.IsLower(a));
Console.WriteLine("判斷是不是標點:{0}", char.IsPunctuation(d));
Console.WriteLine("判斷是不是分隔字元:{0}", char.IsSeparator(e));
Console.WriteLine("判斷是不是空格:{0}", char.IsWhiteSpace(f));
此外還有用char.Tostring(a);char.toUpper(a)等轉換為相應的類型
1.2char的轉義符”\”反斜線:\n—斷行符號換行;\t跳下一個字元,\v豎直換行,\b退格,\r斷行符號,\f換頁,
\標點符號-表示標點符號(防止程式混淆)
2.字串string類(重點,char的集合)
(1)方便和實用性一般建議用sringbuilder類
Using system.text;
Stringbuilder strb=new stringbuilder(“字串”,100);//(string,初始大小)
Strb.append(“追加到原string後面的字元”);
Strb.appendformat(”{0:c}”,1000)//指定追加格式為{0}類型c貨幣,內容為“1000”
Strb.insert(0,”名稱”)//(從零開始的需要插入到第幾位,要插入的內容)
Strb.remove(15,strb.length-15); //(除去的開始位置,除去的位元)
Strb.replace(“需要替換的字元”,”要替換成的字元”);
(2)string使用方法
*比較:string.compare(a,b),a.compareto(b) //ab兩變數比較—a>b結果1,等於結果為0,小於結果-1
String.equal(a,b),a.equal(b)等於結果為true,不等則為false(字串比較一般比英文字母,字母表後面比前面大)
*格式化字串:string.format(“{0:格式規範},{1},…,”,參數1,參數2…)
這個也是比較常用的,一般時間這類從資料庫出來很容易格式不統一,用上格式化,能夠解決新手常出現的DB exception
格式規範:
d-yyyy-mm-dd;D-年-月-日;t-時:分;T-時:分:秒;f-年月日時分;F年月日時分秒;
G和g排序的時間格式年月日時分(秒);M月日;Y年月;C-貨幣¥
*分割字串:分割之後的結果是數組string[] ss=a.split(“分割字元或者符號1”,” 分割字元或者符號2”,….,),然後用foreach(string str in ss){console.writeline(str);}羅列所有分割形成的字串
*插入和填充:str1.insert(起始位置,要插入內容);填充str.padleft/right(加入後總該字串總長度,加入的內容)
*刪除字串:str1.remove(起始位置,刪除多少位)如果沒有指明刪除多少位,起始位置後面都刪
*複製字元:str2=string.copy(str1);str1.copyto(str1起始位置,str2,str2起始位置,str1需要複製的位元)
*替換字元:str1.replace(需要替換的內容,要替換成的內容);
項目經驗來說,split是個好東西,大平台的介面開發很多都是返回字串或者解密的md5字串,一般用“|”,“¥%”等特殊符號劃分,這時候用split分成數組,就能提取相應的資訊了
非電腦專業的碼農C#學習筆記 三、變數 運算式 字串