




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)c#視頻有幾天了,看完其語言基礎(chǔ)之后,我對c#語言基礎(chǔ)做了一個(gè)總結(jié),來鞏固所記的知識(shí),同時(shí)希望能給你幫助。 最近一直在看c#視頻,開始時(shí)看不懂,后來找?guī)煾涤懻摿艘幌?,自己重新看是有感覺,所以又重新開始。針對這兩天的學(xué)習(xí)對c#語言基礎(chǔ)做一下總結(jié)。 數(shù)據(jù)類型 構(gòu)成:數(shù)據(jù)類型,常量和變量,運(yùn)算符和表達(dá)式,數(shù)組、結(jié)構(gòu)和枚舉 數(shù)據(jù)類型包括值類型、引用類型和裝箱以及拆箱。值類型數(shù)據(jù)存儲(chǔ)在棧中。棧:它是用于存儲(chǔ)固定長度的數(shù)據(jù),例如int
2、(每個(gè)int占用四個(gè)字節(jié)),每個(gè)程序在執(zhí)行時(shí)都有自己的堆棧,其他程序不能訪問該堆棧。 引用類型數(shù)據(jù)存儲(chǔ)在堆中。堆:是由new分配的內(nèi)存,一般速度比較慢,而且容易產(chǎn)生內(nèi)存碎片,不過用起來最方便。(雖然對于堆得解釋字?jǐn)?shù)也不多,但是始終感覺堆理解其堆來有點(diǎn)兒抽象,不怎么明白。) 值類型 值類型就是一個(gè)包含實(shí)際數(shù)據(jù)的量。當(dāng)我們定義一個(gè)值類型的變量時(shí),c#會(huì)根據(jù)它聲明的類型,以堆棧方式分配一塊兒相應(yīng)的存儲(chǔ)區(qū)域給這個(gè)變量。(這里對于堆棧的理解只能是有一點(diǎn),但是還表達(dá)不出來,希望高手指點(diǎn)。)
3、 值類型包括:簡單類型、枚舉類型和結(jié)構(gòu)類型。 簡單類型 在C#中出現(xiàn)的簡單類型共享一些特性。第一,它們都是.NET系統(tǒng)類型的別名。第二,由簡單類型組成的常量表達(dá)式僅在編譯時(shí)而不是運(yùn)行時(shí)受檢測。最后,簡單類型可以按字面被初始化。以下為C#簡單類型歸類: 簡單類型是系統(tǒng)預(yù)置的,分為整數(shù)類型、浮點(diǎn)類型、小數(shù)類型(decimal類型)、字符類型和布爾類型。提高班第一年有一些VB的基礎(chǔ),這里我感覺可以和
4、VB比較記憶。 通過比較我們可以發(fā)現(xiàn)。1. VB中整型、長整型、字節(jié)型和C#整型所表示的意思(范圍)是一致。2. VB中單精度和雙精度和C#浮點(diǎn)型所表示的意思(范圍)是一致的。3. VB的貨幣型和C#小數(shù)型也是相似的。(不過,很明顯C#所表示的貨幣范圍遠(yuǎn)遠(yuǎn)超過了VB貨幣型所表示的范圍)4. VB和C#同樣都具有字符串類型和布爾型5. 明顯不同的
5、是vb特有日期型。有了VB的基礎(chǔ)理解C#沒有什么困難。欠缺的只是對于它們的熟練程度。 結(jié)構(gòu)類型 把一系列相關(guān)的信息組織成為一個(gè)單一實(shí)體的過程,這就是創(chuàng)建一個(gè)結(jié)構(gòu)的過程。csharp <span style="font-size:18px;"> struct person string m_name; /姓名
6、 int m_age; /年齡 string m_sex; /性別 </span> 枚舉類型 主要用于表示一個(gè)邏輯相關(guān)聯(lián)的項(xiàng)和組合。使用關(guān)鍵字enum來定義。csharp <span style="font-size:1
7、8px;"> enum Weekday Sunday,Monday,Tuesday,Wednesday,Thursday,F(xiàn)riday,Saturday </span> 引用類型 引用類型的變量不存儲(chǔ)他們所代表的實(shí)際數(shù)據(jù),而是存儲(chǔ)實(shí)際數(shù)據(jù)的引用。引用類型分兩步創(chuàng)建:首先在堆棧上創(chuàng)
8、建一個(gè)引用變量,然后再堆上創(chuàng)建對象本身,在把這個(gè)內(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)存地址中,這個(gè)就是對字符串的引用,兩個(gè)引用型變量之間的賦值,使得s1和s2都是對“ABCD”的引用。 引用類型包括:class(類)、interface(接口)、數(shù)組、delegate(委托)、object和string。 拆箱和裝箱 值類型與引用類型之間的轉(zhuǎn)換被稱為裝箱與拆箱。裝箱和拆箱是c#類型系
10、統(tǒng)的核心。我們通過裝箱和拆箱操作可以輕松的實(shí)現(xiàn)值類型和引用類型的相互轉(zhuǎn)換。 例如:csharp <span style="font-size:18px;"> Int Num=123; /將123值賦給int型變量Num Object p=Num; /裝箱動(dòng)作
11、0;Int q=int(p) /拆箱動(dòng)作 </span> 常量和變量 常量就是程序運(yùn)行期間其值不會(huì)改變的量。 變量是在程序運(yùn)行過程中其值可以改變的量。 運(yùn)算符和表達(dá)式 算數(shù)運(yùn)算符: 關(guān)系運(yùn)算符:
12、 邏輯運(yùn)算符(與(&&) 或(|)非(!): 賦值運(yùn)算符: 條件運(yùn)算符: 條件運(yùn)算符是一個(gè)三元運(yùn)算符,可以看成一個(gè)ifelse的簡化形式。 格式為:條件?真:假
13、0; 舉例: 在控制臺(tái)中輸入以下代碼: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是一個(gè)多分支結(jié)構(gòu)的語句。語法結(jié)構(gòu)為: csharp &
17、lt;span style="font-size:18px;"> switch (表達(dá)式) 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 (表達(dá)式) 循環(huán)體語句塊 </span> Do while語句csharp
21、;<span style="font-size:18px;"> Do 循環(huán)體語句塊 while (表達(dá)式); </span> For 語句csharp <span style="font-size:18px;"&g
22、t; For (表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體語句 </span> 其中表達(dá)式1是設(shè)置循環(huán)控制變量的初值,表達(dá)式2時(shí)布爾類型的表達(dá)式,表達(dá)式3是設(shè)置循環(huán)控制變量的增值(正負(fù)皆可)。PS:3個(gè)表達(dá)式都是可選的,默認(rèn)表達(dá)式時(shí),其后的分好“;”不能省。
23、 Foreach語句 Foreach語句是C#新引入的,它表示收集一個(gè)集合中的各元素,并針對各元素執(zhí)行內(nèi)嵌語句。 語法格式:csharp <span style="font-size:18px;"> Foreach (類型 標(biāo)示符 in 集合表達(dá)式)語句;</
24、span> 標(biāo)示符是指foreach循環(huán)的迭代變量,它只在foreach語句中有效,并且是一個(gè)只讀局部變量,也就是說在foreach語句中不能改寫這個(gè)迭代變量。 集合表達(dá)式是指被遍歷的集合,例如數(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個(gè)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í)行之后,先求表達(dá)式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語句,則會(huì)導(dǎo)致循環(huán)立刻結(jié)束,跳轉(zhuǎn)到循環(huán)語句的下一條語句。不管循環(huán)多少層,break語句只能從包含它的最內(nèi)層跳出一層。如果在switch語句中執(zhí)行到break語句,則立刻從switch語句中跳出,轉(zhuǎn)到switch語句的下一條語句??聪旅娴睦樱篟eturn語句
31、 Return語句出現(xiàn)在一個(gè)方法內(nèi)。在方法中執(zhí)行到return語句時(shí),程序中的執(zhí)行流程轉(zhuǎn)到調(diào)用這個(gè)方法處。如果方法沒有返回值(返回類型修飾位void),則使用“return”格式返回;如果方法有返回值,那么使用“return表達(dá)式”格式,其后面跟的表達(dá)式就是方法的返回值。Goto語句 Goto語句可以將程序的執(zhí)行流程從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方非常靈活。但正因?yàn)樗`活,所以容易造成程序結(jié)構(gòu)混亂的局面,應(yīng)該有節(jié)制地、合理使用goto語句。異常處理 程
32、序?qū)Ξ惓5奶幚砟苁钩绦蚋咏?。這里就不做更多的說明數(shù)組、結(jié)構(gòu)和枚舉 數(shù)組:數(shù)組是一種包含若干變量的數(shù)據(jù)結(jié)構(gòu),這些變量都具有相同的數(shù)據(jù)類型并且排雷有序,因此可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)唯一的確定數(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ù)類型。 是表明后面的變量是一個(gè)數(shù)組類型,必須放在數(shù)組名之前。Arrayname 是數(shù)組名,遵循標(biāo)識(shí)符的命名規(guī)范。
34、Size 表明數(shù)組原色的個(gè)數(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 是一個(gè)含有10個(gè)int類型的數(shù)組。</span> 例子2:創(chuàng)建一個(gè)5個(gè)數(shù)的數(shù)組(100,50,60,70,99)并計(jì)算出他們的最大值和最小值。代碼如下:csharp <span style="font-siz
35、e:18px;"> #region 數(shù)組的實(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家校攜手同筑夢+雙向奔赴育花開+高二下學(xué)期第二考家長會(huì)
- 2025年電動(dòng)學(xué)生車項(xiàng)目可行性研究報(bào)告
- 2025年生物碘項(xiàng)目可行性研究報(bào)告
- 2025年環(huán)保型不黃變啞光地板漆項(xiàng)目可行性研究報(bào)告
- 2025年特大門牙項(xiàng)目可行性研究報(bào)告
- 2025年燃料電池集流板項(xiàng)目可行性研究報(bào)告
- 遼寧大學(xué)《FORTRAN語言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 岳陽職業(yè)技術(shù)學(xué)院《場面研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津醫(yī)科大學(xué)臨床醫(yī)學(xué)院《環(huán)境中的科學(xué)與工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西省贛州市興國縣2025屆初三3月第一次模擬英語試題含答案
- 教育教學(xué)研究項(xiàng)目效果實(shí)踐檢驗(yàn)報(bào)告
- 提升員工的團(tuán)隊(duì)協(xié)作與溝通能力
- 第三章 裝配式混凝土預(yù)制構(gòu)件生產(chǎn)工藝
- crystalball模擬基礎(chǔ)教程課件
- 夏商周考古-鄭州大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 【上海市靜安區(qū)寶山路街道社區(qū)養(yǎng)老問題調(diào)查報(bào)告】
- 公文筐測驗(yàn)(案例題解示范)
- 外科學(xué)骨與關(guān)節(jié)化膿性感染
- 口腔一般檢查方法口腔一般檢查方法
- 冠狀動(dòng)脈粥樣硬化性心臟病 (心內(nèi)科)
- GB/T 4857.10-2005包裝運(yùn)輸包裝件基本試驗(yàn)第10部分:正弦變頻振動(dòng)試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論