版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學(xué)習(xí)c#視頻有幾天了,看完其語言基礎(chǔ)之后,我對c#語言基礎(chǔ)做了一個總結(jié),來鞏固所記的知識,同時希望能給你幫助。 最近一直在看c#視頻,開始時看不懂,后來找?guī)煾涤懻摿艘幌?,自己重新看是有感覺,所以又重新開始。針對這兩天的學(xué)習(xí)對c#語言基礎(chǔ)做一下總結(jié)。 數(shù)據(jù)類型 構(gòu)成:數(shù)據(jù)類型,常量和變量,運算符和表達式,數(shù)組、結(jié)構(gòu)和枚舉 數(shù)據(jù)類型包括值類型、引用類型和裝箱以及拆箱。值類型數(shù)據(jù)存儲在棧中。棧:它是用于存儲固定長度的數(shù)據(jù),例如int
2、(每個int占用四個字節(jié)),每個程序在執(zhí)行時都有自己的堆棧,其他程序不能訪問該堆棧。 引用類型數(shù)據(jù)存儲在堆中。堆:是由new分配的內(nèi)存,一般速度比較慢,而且容易產(chǎn)生內(nèi)存碎片,不過用起來最方便。(雖然對于堆得解釋字數(shù)也不多,但是始終感覺堆理解其堆來有點兒抽象,不怎么明白。) 值類型 值類型就是一個包含實際數(shù)據(jù)的量。當我們定義一個值類型的變量時,c#會根據(jù)它聲明的類型,以堆棧方式分配一塊兒相應(yīng)的存儲區(qū)域給這個變量。(這里對于堆棧的理解只能是有一點,但是還表達不出來,希望高手指點。)
3、 值類型包括:簡單類型、枚舉類型和結(jié)構(gòu)類型。 簡單類型 在C#中出現(xiàn)的簡單類型共享一些特性。第一,它們都是.NET系統(tǒng)類型的別名。第二,由簡單類型組成的常量表達式僅在編譯時而不是運行時受檢測。最后,簡單類型可以按字面被初始化。以下為C#簡單類型歸類: 簡單類型是系統(tǒng)預(yù)置的,分為整數(shù)類型、浮點類型、小數(shù)類型(decimal類型)、字符類型和布爾類型。提高班第一年有一些VB的基礎(chǔ),這里我感覺可以和
4、VB比較記憶。 通過比較我們可以發(fā)現(xiàn)。1. VB中整型、長整型、字節(jié)型和C#整型所表示的意思(范圍)是一致。2. VB中單精度和雙精度和C#浮點型所表示的意思(范圍)是一致的。3. VB的貨幣型和C#小數(shù)型也是相似的。(不過,很明顯C#所表示的貨幣范圍遠遠超過了VB貨幣型所表示的范圍)4. VB和C#同樣都具有字符串類型和布爾型5. 明顯不同的
5、是vb特有日期型。有了VB的基礎(chǔ)理解C#沒有什么困難。欠缺的只是對于它們的熟練程度。 結(jié)構(gòu)類型 把一系列相關(guān)的信息組織成為一個單一實體的過程,這就是創(chuàng)建一個結(jié)構(gòu)的過程。csharp <span style="font-size:18px;"> struct person string m_name; /姓名
6、 int m_age; /年齡 string m_sex; /性別 </span> 枚舉類型 主要用于表示一個邏輯相關(guān)聯(lián)的項和組合。使用關(guān)鍵字enum來定義。csharp <span style="font-size:1
7、8px;"> enum Weekday Sunday,Monday,Tuesday,Wednesday,Thursday,F(xiàn)riday,Saturday </span> 引用類型 引用類型的變量不存儲他們所代表的實際數(shù)據(jù),而是存儲實際數(shù)據(jù)的引用。引用類型分兩步創(chuàng)建:首先在堆棧上創(chuàng)
8、建一個引用變量,然后再堆上創(chuàng)建對象本身,在把這個內(nèi)存的句柄(內(nèi)存的首地址)賦給引用變量。 例子:csharp <span style="font-size:18px;"> String S1,S2; S1=”ABCD”; S2=S1; </span>
9、; 解釋:s1和s2都是指向字符串的引用變量,s1的值是字符串“ABCD”存放在內(nèi)存地址中,這個就是對字符串的引用,兩個引用型變量之間的賦值,使得s1和s2都是對“ABCD”的引用。 引用類型包括:class(類)、interface(接口)、數(shù)組、delegate(委托)、object和string。 拆箱和裝箱 值類型與引用類型之間的轉(zhuǎn)換被稱為裝箱與拆箱。裝箱和拆箱是c#類型系
10、統(tǒng)的核心。我們通過裝箱和拆箱操作可以輕松的實現(xiàn)值類型和引用類型的相互轉(zhuǎn)換。 例如:csharp <span style="font-size:18px;"> Int Num=123; /將123值賦給int型變量Num Object p=Num; /裝箱動作
11、0;Int q=int(p) /拆箱動作 </span> 常量和變量 常量就是程序運行期間其值不會改變的量。 變量是在程序運行過程中其值可以改變的量。 運算符和表達式 算數(shù)運算符: 關(guān)系運算符:
12、 邏輯運算符(與(&&) 或(|)非(!): 賦值運算符: 條件運算符: 條件運算符是一個三元運算符,可以看成一個ifelse的簡化形式。 格式為:條件?真:假
13、0; 舉例: 在控制臺中輸入以下代碼:csharp <span style="font-size:18px;"> int x = 10; int y = 15; int z; &
14、#160; Console.WriteLine (z = x > y ? x : y); </span> 結(jié)果如圖,很明顯顯示的是y說明是假。 流程控制 條件語句 If語句 句式: 第一種:csharp <sp
15、an style="font-size:18px;"> If (條件)語句;</span> 第二種:csharp <span style="font-size:18px;"> if (條件) 語句塊 Else
16、160; 語句塊 </span> 此外在if中還可以嵌套if語句。 Switch語句 Switch是一個多分支結(jié)構(gòu)的語句。語法結(jié)構(gòu)為: csharp &
17、lt;span style="font-size:18px;"> switch (表達式) Case常量1: 語句序列1; &
18、#160; Break; Case常量2: 語句序列2; Break;
19、 Default: 語句序列n; Break; </span> 循環(huán)語句 &
20、#160; While語句csharp <span style="font-size:18px;"> While (表達式) 循環(huán)體語句塊 </span> Do while語句csharp
21、;<span style="font-size:18px;"> Do 循環(huán)體語句塊 while (表達式); </span> For 語句csharp <span style="font-size:18px;"&g
22、t; For (表達式1;表達式2;表達式3) 循環(huán)體語句 </span> 其中表達式1是設(shè)置循環(huán)控制變量的初值,表達式2時布爾類型的表達式,表達式3是設(shè)置循環(huán)控制變量的增值(正負皆可)。PS:3個表達式都是可選的,默認表達式時,其后的分好“;”不能省。
23、 Foreach語句 Foreach語句是C#新引入的,它表示收集一個集合中的各元素,并針對各元素執(zhí)行內(nèi)嵌語句。 語法格式:csharp <span style="font-size:18px;"> Foreach (類型 標示符 in 集合表達式)語句;</
24、span> 標示符是指foreach循環(huán)的迭代變量,它只在foreach語句中有效,并且是一個只讀局部變量,也就是說在foreach語句中不能改寫這個迭代變量。 集合表達式是指被遍歷的集合,例如數(shù)組。 舉例:csharp <span style="font-size:18px;">
25、;int m = 0; string mystring = "fsofknwlsnfoaafdagadf" foreach (char mychar in mystring)
26、160; if (mychar = 'a') m+; Console.WriteLine("字符串中總共有0個a&quo
27、t;, m); </span> 結(jié)果如圖: 跳轉(zhuǎn)語句 跳轉(zhuǎn)語句用于改變程序的執(zhí)行流程,轉(zhuǎn)移制定之處。用于特定的上下文環(huán)境之中。Continue語句 Continue語句只能用于循環(huán)語句中,它的作用是結(jié)束本輪循環(huán),不再執(zhí)行余下的循環(huán)體語句,對while和do_while結(jié)構(gòu)的循環(huán),在continue執(zhí)行之后,就立刻測試循環(huán)條件,以決定循環(huán)是否繼續(xù)下去;對for結(jié)構(gòu)循環(huán),在continue執(zhí)行之后,先求表達式3(循環(huán)增量
28、部分),然后再測試循環(huán)條件。例如:顯示1-100中能被3整除的整數(shù)。csharp <span style="font-size:18px;"> for (int n = 1; n <= 100; n+) if (n % 3 != 0)
29、 continue; Console.WriteLine(n );
30、60; </span> 結(jié)果: Break語句 Break語句也只能用于循環(huán)語句中或者switch語句中,如果在循環(huán)語句執(zhí)行到break語句,則會導(dǎo)致循環(huán)立刻結(jié)束,跳轉(zhuǎn)到循環(huán)語句的下一條語句。不管循環(huán)多少層,break語句只能從包含它的最內(nèi)層跳出一層。如果在switch語句中執(zhí)行到break語句,則立刻從switch語句中跳出,轉(zhuǎn)到switch語句的下一條語句。看下面的例子:Return語句
31、 Return語句出現(xiàn)在一個方法內(nèi)。在方法中執(zhí)行到return語句時,程序中的執(zhí)行流程轉(zhuǎn)到調(diào)用這個方法處。如果方法沒有返回值(返回類型修飾位void),則使用“return”格式返回;如果方法有返回值,那么使用“return表達式”格式,其后面跟的表達式就是方法的返回值。Goto語句 Goto語句可以將程序的執(zhí)行流程從一個地方轉(zhuǎn)移到另一個地方非常靈活。但正因為它靈活,所以容易造成程序結(jié)構(gòu)混亂的局面,應(yīng)該有節(jié)制地、合理使用goto語句。異常處理 程
32、序?qū)Ξ惓5奶幚砟苁钩绦蚋咏?。這里就不做更多的說明數(shù)組、結(jié)構(gòu)和枚舉 數(shù)組:數(shù)組是一種包含若干變量的數(shù)據(jù)結(jié)構(gòu),這些變量都具有相同的數(shù)據(jù)類型并且排雷有序,因此可以用一個統(tǒng)一的數(shù)組名和下標唯一的確定數(shù)組中的元素。 數(shù)組使用時要先聲明然后在創(chuàng)建最后初始化數(shù)組,具體語法形式:csharp <span style="font-size:18px;">Type arrayname; Arrayname =new type
33、size val1,val2,val3,.valn </span> 或者結(jié)合起來寫:csharp <span style="font-size:18px;">Type arrayname = new type size val1,val2,val3,.valn ;</span> Type可以是C#中任意的數(shù)據(jù)類型。 是表明后面的變量是一個數(shù)組類型,必須放在數(shù)組名之前。Arrayname 是數(shù)組名,遵循標識符的命名規(guī)范。
34、Size 表明數(shù)組原色的個數(shù)。Val 則表示數(shù)組的具體值。具體示例:例子1:csharp <span style="font-size:18px;">Int course = new int 10 1,2,3,4,5,6,7,8,9,10 / student 是一個含有10個int類型的數(shù)組。</span> 例子2:創(chuàng)建一個5個數(shù)的數(shù)組(100,50,60,70,99)并計算出他們的最大值和最小值。代碼如下:csharp <span style="font-siz
35、e:18px;"> #region 數(shù)組的實例 int max; int min; int Num = new int5 100, 50, 60, 70, 99 ; max = min = Num0; for (int i = 0; i <= 4; i+)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度淘寶店鋪裝修升級合作協(xié)議書3篇
- 二零二五年度房屋破損賠償與施工安全協(xié)議3篇
- 二零二五年度物流運輸合作協(xié)議2篇
- 2024房屋租賃合同范本出租人
- 二零二五年度文化創(chuàng)意三人合伙合作協(xié)議范本3篇
- 二零二五年度彩鋼屋頂改造與節(jié)能合同5篇
- 2024職工安全責(zé)任協(xié)議書
- 二零二五年度建筑工程設(shè)計合同具體說明2篇
- 2024砂石料資源整合與綜合利用合作協(xié)議2篇
- 二零二五年度成都房地產(chǎn)工程承包與智能安防系統(tǒng)集成合同3篇
- HRB500級鋼筋施工要點ppt課件
- 中醫(yī)內(nèi)科學(xué)----泄瀉精品課件
- 大數(shù)據(jù)平臺及風(fēng)險預(yù)警系統(tǒng)采購項目需求說明書天津濱海農(nóng)村商業(yè)銀行【模板】
- 清華抬頭信紙
- 八年級心理健康教育《自控力——成功的標尺》課件
- 施工現(xiàn)場節(jié)電方法
- 水利工程安全生產(chǎn)組織機構(gòu)
- 廣東省佛山市南海區(qū)人民法院
- 我縣教育發(fā)展面臨的問題及對策建議
- 口腔修復(fù)學(xué)專業(yè)英語詞匯整理
- 家庭、學(xué)校、社會協(xié)同育人PPT課件
評論
0/150
提交評論