![第2章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/2/7aec1ec3-de43-43c6-8586-a59a8b80322e/7aec1ec3-de43-43c6-8586-a59a8b80322e1.gif)
![第2章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/2/7aec1ec3-de43-43c6-8586-a59a8b80322e/7aec1ec3-de43-43c6-8586-a59a8b80322e2.gif)
![第2章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/2/7aec1ec3-de43-43c6-8586-a59a8b80322e/7aec1ec3-de43-43c6-8586-a59a8b80322e3.gif)
![第2章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/2/7aec1ec3-de43-43c6-8586-a59a8b80322e/7aec1ec3-de43-43c6-8586-a59a8b80322e4.gif)
![第2章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/2/7aec1ec3-de43-43c6-8586-a59a8b80322e/7aec1ec3-de43-43c6-8586-a59a8b80322e5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教育部普通高等教育十二五國(guó)家級(jí)規(guī)劃教材教育部普通高等教育十二五國(guó)家級(jí)規(guī)劃教材C#程序設(shè)計(jì)及應(yīng)用教程程序設(shè)計(jì)及應(yīng)用教程第第3版版(包括簡(jiǎn)化版:(包括簡(jiǎn)化版:C#程序設(shè)計(jì)教程程序設(shè)計(jì)教程第第3版)版)第第2章章 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句2Ch2 基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句基本數(shù)據(jù)類(lèi)型和流程控制語(yǔ)句2.1 數(shù)據(jù)類(lèi)型和運(yùn)算符數(shù)據(jù)類(lèi)型和運(yùn)算符2.2 簡(jiǎn)單類(lèi)型簡(jiǎn)單類(lèi)型2.3 字符串字符串2.4 數(shù)組數(shù)組2.5 數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換2.6 流程控制語(yǔ)句流程控制語(yǔ)句32.1 數(shù)據(jù)類(lèi)型和運(yùn)算符數(shù)據(jù)類(lèi)型和運(yùn)算符lC#類(lèi)型劃分為兩類(lèi):值類(lèi)型和引用類(lèi)型。類(lèi)型劃分為兩類(lèi):值類(lèi)
2、型和引用類(lèi)型。 值類(lèi)型值類(lèi)型: 包括簡(jiǎn)單類(lèi)型、枚舉類(lèi)型、自定義結(jié)構(gòu)類(lèi)型、可空類(lèi)型。包括簡(jiǎn)單類(lèi)型、枚舉類(lèi)型、自定義結(jié)構(gòu)類(lèi)型、可空類(lèi)型。可空類(lèi)型可空類(lèi)型一般用于應(yīng)對(duì)數(shù)據(jù)庫(kù)中未賦值的數(shù)據(jù)。一般用于應(yīng)對(duì)數(shù)據(jù)庫(kù)中未賦值的數(shù)據(jù)。 引用類(lèi)型:引用類(lèi)型: 包括類(lèi)、接口、數(shù)組、委托。包括類(lèi)、接口、數(shù)組、委托。 42.1 數(shù)據(jù)類(lèi)型和運(yùn)算符數(shù)據(jù)類(lèi)型和運(yùn)算符l值類(lèi)型和引用類(lèi)型的區(qū)別:值類(lèi)型和引用類(lèi)型的區(qū)別:值類(lèi)型的變量保存的是值類(lèi)型的變量保存的是變量的值變量的值;引用類(lèi)型的變量保存的是引用類(lèi)型的變量保存的是對(duì)象的引用地址對(duì)象的引用地址。當(dāng)把一個(gè)值類(lèi)型的變量賦給另一個(gè)值類(lèi)型的變量時(shí),當(dāng)把一個(gè)值類(lèi)型的變量賦給另一個(gè)值類(lèi)型
3、的變量時(shí),會(huì)在堆棧(會(huì)在堆棧(stackstack)中保存兩個(gè)完全相同的值;)中保存兩個(gè)完全相同的值;把一個(gè)引用變量賦給另一個(gè)引用變量,在堆棧中的兩把一個(gè)引用變量賦給另一個(gè)引用變量,在堆棧中的兩個(gè)值雖然相同,但是由于這兩個(gè)值都是堆(個(gè)值雖然相同,但是由于這兩個(gè)值都是堆(heapheap)中)中對(duì)象的引用地址,所以實(shí)際上引用的是同一個(gè)對(duì)象。對(duì)象的引用地址,所以實(shí)際上引用的是同一個(gè)對(duì)象。52.1 數(shù)據(jù)類(lèi)型和運(yùn)算符數(shù)據(jù)類(lèi)型和運(yùn)算符l值類(lèi)型和引用類(lèi)型的區(qū)別:值類(lèi)型和引用類(lèi)型的區(qū)別:進(jìn)行數(shù)據(jù)操作時(shí),對(duì)于進(jìn)行數(shù)據(jù)操作時(shí),對(duì)于值類(lèi)型值類(lèi)型,由于每個(gè)變量都有自,由于每個(gè)變量都有自己的值,因此己的值,因此對(duì)一個(gè)
4、變量的操作不會(huì)影響到其他變量對(duì)一個(gè)變量的操作不會(huì)影響到其他變量;對(duì)于引用類(lèi)型的變量,對(duì)一個(gè)變量的數(shù)據(jù)進(jìn)行操作就對(duì)于引用類(lèi)型的變量,對(duì)一個(gè)變量的數(shù)據(jù)進(jìn)行操作就是對(duì)這個(gè)變量在堆中的數(shù)據(jù)進(jìn)行操作,是對(duì)這個(gè)變量在堆中的數(shù)據(jù)進(jìn)行操作,如果兩個(gè)引用如果兩個(gè)引用類(lèi)型的變量引用同一個(gè)對(duì)象,對(duì)一個(gè)變量的操作同樣類(lèi)型的變量引用同一個(gè)對(duì)象,對(duì)一個(gè)變量的操作同樣也會(huì)影響另一個(gè)變量也會(huì)影響另一個(gè)變量。62.1 數(shù)據(jù)類(lèi)型和運(yùn)算符數(shù)據(jù)類(lèi)型和運(yùn)算符特性特性值類(lèi)型值類(lèi)型引用類(lèi)型引用類(lèi)型變量中保存的內(nèi)容實(shí)際數(shù)據(jù)指向?qū)嶋H數(shù)據(jù)的引用指針內(nèi)存空間配置堆棧(stack)受管制的堆(managed heap)內(nèi)存需求較少較多執(zhí)行效率較快較
5、慢內(nèi)存釋放時(shí)間點(diǎn)超過(guò)變量的作用域時(shí)由垃圾回收機(jī)制負(fù)責(zé)回收值類(lèi)型和引用類(lèi)型的區(qū)別值類(lèi)型和引用類(lèi)型的區(qū)別72.1 .2 常量與變量常量與變量l常量常量C#用用const關(guān)鍵字聲明常量。關(guān)鍵字聲明常量。例如:例如:const int pi=2.1415927;const int pi=2.1415927;編譯器會(huì)把所有聲明為編譯器會(huì)把所有聲明為const的常量全部替換為實(shí)際的常數(shù)的常量全部替換為實(shí)際的常數(shù)。l變量:變量:表示一個(gè)數(shù)值、一個(gè)字符串值或者一個(gè)類(lèi)的實(shí)例。表示一個(gè)數(shù)值、一個(gè)字符串值或者一個(gè)類(lèi)的實(shí)例。int a = 100; /聲明一個(gè)整型變量聲明一個(gè)整型變量a,并賦初值為,并賦初值為100i
6、nt a; /聲明一個(gè)整型變量聲明一個(gè)整型變量aa = 100; /為整型變量為整型變量a賦值為賦值為100int a = 100, b, c = 200,d;82.1 .2 常量與變量常量與變量l匿名類(lèi)型的局部變量匿名類(lèi)型的局部變量局部變量在局部變量在C#中還可以用中還可以用var來(lái)聲明來(lái)聲明。用用var聲明的仍然是一種聲明的仍然是一種強(qiáng)類(lèi)型的數(shù)據(jù)強(qiáng)類(lèi)型的數(shù)據(jù),只是具體的數(shù)據(jù)類(lèi)型,只是具體的數(shù)據(jù)類(lèi)型由由編譯器負(fù)責(zé)推斷編譯器負(fù)責(zé)推斷而已。而已。l例如:例如: var key = Console.ReadKey();這條語(yǔ)句和下面的語(yǔ)句是等價(jià)的:這條語(yǔ)句和下面的語(yǔ)句是等價(jià)的: ConsoleKe
7、yInfo key = Console.ReadKey();92.1 .3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式l表達(dá)式由操作數(shù)和運(yùn)算符構(gòu)成。表達(dá)式由操作數(shù)和運(yùn)算符構(gòu)成。l運(yùn)算符的種類(lèi):運(yùn)算符的種類(lèi):一元運(yùn)算符:帶有一個(gè)操作數(shù)的運(yùn)算符,如一元運(yùn)算符:帶有一個(gè)操作數(shù)的運(yùn)算符,如i+。二元運(yùn)算符:帶有兩個(gè)操作數(shù)的運(yùn)算符,如二元運(yùn)算符:帶有兩個(gè)操作數(shù)的運(yùn)算符,如x + y。三元運(yùn)算符:帶有三個(gè)操作數(shù)的運(yùn)算符。三元運(yùn)算符:帶有三個(gè)操作數(shù)的運(yùn)算符。具體運(yùn)算詳見(jiàn)表具體運(yùn)算詳見(jiàn)表2-3。l表達(dá)式表達(dá)式可計(jì)算且結(jié)果為單個(gè)值、對(duì)象、方法或命名空間的代碼片段??捎?jì)算且結(jié)果為單個(gè)值、對(duì)象、方法或命名空間的代碼片段。2.2
8、簡(jiǎn)單類(lèi)型簡(jiǎn)單類(lèi)型l簡(jiǎn)單類(lèi)型包括整型、浮點(diǎn)型、布爾型和字符型簡(jiǎn)單類(lèi)型包括整型、浮點(diǎn)型、布爾型和字符型。l簡(jiǎn)單類(lèi)型簡(jiǎn)單類(lèi)型是內(nèi)置的值類(lèi)型。是內(nèi)置的值類(lèi)型。l 整型整型即:即:計(jì)算機(jī)組成原理中計(jì)算機(jī)組成原理中的的定點(diǎn)數(shù)。定點(diǎn)數(shù)。在在C#中,用整型來(lái)表示定點(diǎn)整數(shù)。中,用整型來(lái)表示定點(diǎn)整數(shù)。C#語(yǔ)言提供了語(yǔ)言提供了8種整數(shù)類(lèi)型,分別表示種整數(shù)類(lèi)型,分別表示8位、位、16位、位、32位和位和64位位有符號(hào)和無(wú)符號(hào)的整數(shù)值。有符號(hào)和無(wú)符號(hào)的整數(shù)值。給變量賦常數(shù)值時(shí)給變量賦常數(shù)值時(shí)如果不如果不用類(lèi)型指定符,默認(rèn)將用類(lèi)型指定符,默認(rèn)將int類(lèi)型的數(shù)值隱類(lèi)型的數(shù)值隱式地轉(zhuǎn)換為該類(lèi)型進(jìn)行賦值。式地轉(zhuǎn)換為該類(lèi)型進(jìn)行賦
9、值。例:例:long y = 1234; /intlong y = 1234; /int型的數(shù)值型的數(shù)值12341234隱式地轉(zhuǎn)換為隱式地轉(zhuǎn)換為longlong類(lèi)型類(lèi)型102.2.1 整型整型l請(qǐng)看請(qǐng)看P37頁(yè)表頁(yè)表2-4l由于小寫(xiě)字母容易和數(shù)字混淆,所以由于小寫(xiě)字母容易和數(shù)字混淆,所以Uint、Long、Ulong類(lèi)型類(lèi)型的的常量指定符常量指定符一般都用大寫(xiě)字母。例如:一般都用大寫(xiě)字母。例如:long x = 1234L;l給變量賦值時(shí),可采用十進(jìn)制或十六進(jìn)制的常數(shù)。如果是十六給變量賦值時(shí),可采用十進(jìn)制或十六進(jìn)制的常數(shù)。如果是十六進(jìn)制常數(shù),在程序中必須加前綴進(jìn)制常數(shù),在程序中必須加前綴“0
10、x”。例如:。例如:long x = 0 x12ab; /聲明一個(gè)長(zhǎng)整型變量聲明一個(gè)長(zhǎng)整型變量x,并為其賦值為十六進(jìn),并為其賦值為十六進(jìn)制的數(shù)據(jù)制的數(shù)據(jù)12AB112.2.2 浮點(diǎn)型浮點(diǎn)型l浮點(diǎn)類(lèi)型有浮點(diǎn)類(lèi)型有:float、double和和decimal,它們均屬于值類(lèi)型,它們均屬于值類(lèi)型。l在計(jì)算機(jī)內(nèi)部,在計(jì)算機(jī)內(nèi)部,float和和double分別使用分別使用32位單精度和位單精度和64位雙位雙精度的精度的IEEE 754格式表示。格式表示。l可以用下面的形式給浮點(diǎn)型變量賦值:可以用下面的形式給浮點(diǎn)型變量賦值:float x = 2.3f; /x的值為的值為2.3,不加后綴默認(rèn)為,不加后綴默
11、認(rèn)為doubledouble y = 2.7; /y的值為的值為2.7 double z = 2.7E+23; /z的值為的值為2.71023,這是一種科學(xué)表示法,這是一種科學(xué)表示法122.2.2 浮點(diǎn)型浮點(diǎn)型l實(shí)數(shù)常數(shù)后實(shí)數(shù)常數(shù)后如果如果沒(méi)有后綴,默認(rèn)為沒(méi)有后綴,默認(rèn)為double類(lèi)型,類(lèi)型,double類(lèi)型類(lèi)型也可以加也可以加D或或d后綴。后綴。15d、1.5d、1e10d和和122.456D都是都是double類(lèi)型。類(lèi)型。l注意注意:在實(shí)數(shù)中,小數(shù)點(diǎn)后必須始終是十進(jìn)制數(shù)字。在實(shí)數(shù)中,小數(shù)點(diǎn)后必須始終是十進(jìn)制數(shù)字。1.3F是實(shí)數(shù)(是實(shí)數(shù)(F表示該數(shù)為表示該數(shù)為float類(lèi)型的常數(shù)),但類(lèi)型
12、的常數(shù)),但1.F不是,因?yàn)椴皇?,因?yàn)镕不是十進(jìn)制數(shù)字。不是十進(jìn)制數(shù)字。l小數(shù)型(小數(shù)型(decimal)是一種特殊的浮點(diǎn)型數(shù)據(jù),)是一種特殊的浮點(diǎn)型數(shù)據(jù),其其特點(diǎn)是精度特點(diǎn)是精度高,但表示的數(shù)值范圍并不大。高,但表示的數(shù)值范圍并不大。decimal myMoney = 300.5M;decimal y = 9999999999999999999999999M;decimal x = 122.123456789123456789M;132.2.3 布爾型(布爾型(bool)l布爾型布爾型:用用bool表示,表示,bool類(lèi)型只有兩個(gè)值:類(lèi)型只有兩個(gè)值:true和和false。bool myBo
13、ol = false;bool b = (i0 & i10);l條件表達(dá)式的運(yùn)算結(jié)果必須是條件表達(dá)式的運(yùn)算結(jié)果必須是bool型型。l 錯(cuò)誤用法錯(cuò)誤用法 正確用法正確用法int i = 5, j = 6; int i = 5, j = 6;if(i) j += 10; /錯(cuò)誤錯(cuò)誤 if(i != 0) j += 10;if(j = 15) j += 10; /錯(cuò)誤錯(cuò)誤 if(j = 15) j += 10;142.2.4 字符(字符(char)l字符類(lèi)型字符類(lèi)型:值類(lèi)型,用值類(lèi)型,用char表示,表示單個(gè)表示,表示單個(gè)Unicode字符。一字符。一個(gè)個(gè)Unicode字符的標(biāo)準(zhǔn)長(zhǎng)度為兩字節(jié)
14、。字符型常量用單引號(hào)引字符的標(biāo)準(zhǔn)長(zhǎng)度為兩字節(jié)。字符型常量用單引號(hào)引起來(lái),例如:起來(lái),例如:char c1 = A;l可用十六進(jìn)制的轉(zhuǎn)義符前綴(可用十六進(jìn)制的轉(zhuǎn)義符前綴(“x”)或)或Unicode表示法前綴表示法前綴(“u”)表示字符型常量,例如:)表示字符型常量,例如:char c2 = x0041; /字母字母“A”的十六進(jìn)制表示的十六進(jìn)制表示char c3 = u0041; /字母字母“A”的的Unicode編碼表示編碼表示152.2 .5 枚舉(枚舉(enum)l枚舉類(lèi)型將枚舉類(lèi)型將一組常量一組常量用一個(gè)類(lèi)型來(lái)表示,該類(lèi)型簡(jiǎn)稱(chēng)枚舉。用一個(gè)類(lèi)型來(lái)表示,該類(lèi)型簡(jiǎn)稱(chēng)枚舉。定義一個(gè)稱(chēng)為定義一個(gè)
15、稱(chēng)為MyColor的枚舉類(lèi)型:的枚舉類(lèi)型:public enum MyColor Red, Green, Bluepublic enum MyColor Red, Green, Blue也可以寫(xiě)為也可以寫(xiě)為public enum MyColors Red=0, Green=1, Blue=2public enum MyColors Red=0, Green=1, Blue=2l枚舉中的所有常量值必須是同一種類(lèi)型(稱(chēng)為基礎(chǔ)類(lèi)型)。枚舉中的所有常量值必須是同一種類(lèi)型(稱(chēng)為基礎(chǔ)類(lèi)型)。l基礎(chǔ)類(lèi)型只能是基礎(chǔ)類(lèi)型只能是8種整型類(lèi)型之一。如果不指定基礎(chǔ)類(lèi)型,種整型類(lèi)型之一。如果不指定基礎(chǔ)類(lèi)型,默默認(rèn)為認(rèn)為
16、int類(lèi)型類(lèi)型。l也可定義時(shí)只指定一個(gè)常量的值,此后每個(gè)常量會(huì)自動(dòng)增加也可定義時(shí)只指定一個(gè)常量的值,此后每個(gè)常量會(huì)自動(dòng)增加1l注意下面的寫(xiě)法是錯(cuò)誤的:注意下面的寫(xiě)法是錯(cuò)誤的:enum Number:bytex1 = 255,x2;/x2+1后會(huì)越界,因?yàn)楹髸?huì)越界,因?yàn)閎yte型最大值為型最大值為25516l例如:定義名為例如:定義名為Days的枚舉類(lèi)型的枚舉類(lèi)型lpublic enum Days Sun, Mon, Tue ; /三個(gè)成員常量分別等于多少?三個(gè)成員常量分別等于多少?Sun:0,Mon:1,Tue:2l通過(guò)通過(guò) 枚舉類(lèi)型名枚舉類(lèi)型名.常量名常量名 來(lái)使用每個(gè)枚舉值來(lái)使用每個(gè)枚舉值
17、如:如:MyColor color = MyColor.Red;l也可使用顯示轉(zhuǎn)換將枚舉值轉(zhuǎn)換為整型值,反之亦然:也可使用顯示轉(zhuǎn)換將枚舉值轉(zhuǎn)換為整型值,反之亦然:int i = (int) Days.Tue;/相當(dāng)于相當(dāng)于int i=2;Days day = (Days) 2;/相當(dāng)于相當(dāng)于 Days day = Days.Tue;172.2 .5 枚舉(枚舉(enum)l【例【例2-1】定義一個(gè)】定義一個(gè)MyColor枚舉類(lèi)型,然后聲明枚舉類(lèi)型,然后聲明MyColor類(lèi)類(lèi)型的變量,通過(guò)該變量使用枚舉值。再通過(guò)型的變量,通過(guò)該變量使用枚舉值。再通過(guò)Enum類(lèi)提供的靜類(lèi)提供的靜態(tài)態(tài)GetName
18、s方法將方法將MyColor的的所有枚舉值所有枚舉值全部顯示全部顯示出來(lái)。出來(lái)。182.2.6 可空類(lèi)型可空類(lèi)型l表示可以包含表示可以包含null的值類(lèi)型。例如的值類(lèi)型。例如 int? 讀作讀作“可以為可以為null的的Int32類(lèi)型類(lèi)型”,就是說(shuō)可以將其賦值為任一個(gè),就是說(shuō)可以將其賦值為任一個(gè)32位整數(shù)值,位整數(shù)值,也可也可以將其賦值為以將其賦值為null。l例:例:int? age = 0;int? n = null;double? d = 4.108;bool? isFlag = false;l在處理數(shù)據(jù)庫(kù)和其他包含不可賦值的元素的數(shù)據(jù)類(lèi)型時(shí),可以在處理數(shù)據(jù)庫(kù)和其他包含不可賦值的元素的數(shù)
19、據(jù)類(lèi)型時(shí),可以為為null的值類(lèi)型特別有用。的值類(lèi)型特別有用。19202.3 字符串字符串lC#語(yǔ)言語(yǔ)言的的字符串是由一個(gè)或多個(gè)字符串是由一個(gè)或多個(gè)Unicode字符構(gòu)成的一組字符字符構(gòu)成的一組字符序列。序列。lString和和string均可均可。lstring類(lèi)型的常量類(lèi)型的常量:用雙引號(hào)將字符串引起來(lái)。用雙引號(hào)將字符串引起來(lái)。l例如:例如:string str1 = “ABCD”; /創(chuàng)建字符串創(chuàng)建字符串string str2 = mystr1; /字符串賦值字符串賦值int i = 3;string str3 = str1 + str2; /字符串拼接字符串拼接string str4
20、= str1 + i; /字符串拼接字符串拼接(運(yùn)算符重載運(yùn)算符重載)212.3.1 字符串的創(chuàng)建與表示形式字符串的創(chuàng)建與表示形式l常用常用形式形式:string s1 = this is a string.;string s2 = new string(a,4); /結(jié)果為結(jié)果為aaaastring filePath = “C:CSharpMyFile.cs”; /包含轉(zhuǎn)義符包含轉(zhuǎn)義符”string filePath = “C:CSharpMyFile.cs”; /前面有前面有,則不進(jìn),則不進(jìn)行轉(zhuǎn)義行轉(zhuǎn)義l注意注意:string是是Unicode字符串,計(jì)算字符串長(zhǎng)度時(shí),每個(gè)英字符串,計(jì)算字
21、符串長(zhǎng)度時(shí),每個(gè)英文字母的長(zhǎng)度為文字母的長(zhǎng)度為1,每個(gè)漢字的長(zhǎng)度也是,每個(gè)漢字的長(zhǎng)度也是1。例如:例如:string str = abstring str = ab張三張三cde;cde;Console.WriteLine(str.Length); /Console.WriteLine(str.Length); /輸出結(jié)果:輸出結(jié)果:7 7222.3.2 字符串的常用操作方法字符串的常用操作方法字符串常用操作字符串常用操作:比較、查找、插入、刪除、替換、求子串、移比較、查找、插入、刪除、替換、求子串、移除首尾字符、合并與拆分以及大小寫(xiě)轉(zhuǎn)換等。除首尾字符、合并與拆分以及大小寫(xiě)轉(zhuǎn)換等。1.字符串比
22、較字符串比較l精確比較精確比較:用用string.Compare方法。方法。l如果僅僅比較兩個(gè)字符串是否相等,最好用如果僅僅比較兩個(gè)字符串是否相等,最好用Equals方法或者直方法或者直接使用兩個(gè)等號(hào)來(lái)比較。接使用兩個(gè)等號(hào)來(lái)比較。(返回返回true或或false)232.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))2.字符串查找字符串查找l方法方法1:用用stringindex得到字符串中得到字符串中第第index個(gè)位置個(gè)位置的單個(gè)字的單個(gè)字符。符。l方法方法2:用:用Contains方法查找一個(gè)字符串中是否包含指定的子方法查找一個(gè)字符串中是否包含指定的子字符串,語(yǔ)法為字符串,語(yǔ)
23、法為public bool Contains( string value )例:例:if(s1.Contains(abc) Console.WriteLine(s1中包含中包含abc);242.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))l方法方法3:用:用StartsWith方法和方法和EndsWith方法方法,從字符串的首或從字符串的首或尾開(kāi)始查找指定的子字符串,并返回布爾值(尾開(kāi)始查找指定的子字符串,并返回布爾值(true或或false)。)。例如:例如:string s1 = this is a string;Console.WriteLine(s1.StartsWith
24、(abc); /結(jié)果為結(jié)果為FalseConsole.WriteLine(s1.StartsWith(this); /結(jié)果為結(jié)果為T(mén)rueConsole.WriteLine(s1.EndsWith(abc); /結(jié)果為結(jié)果為FalseConsole.WriteLine(s1.EndsWith(ing); /結(jié)果為結(jié)果為T(mén)rue252.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))l方法方法4:用:用IndexOf方法和方法和LastIndexOf方法方法,求某個(gè)字符或者求某個(gè)字符或者子串在字符串中出現(xiàn)的位置。該方法有多種重載形式,最常用子串在字符串中出現(xiàn)的位置。該方法有多種重載形式
25、,最常用的有如下兩種形式。的有如下兩種形式。(a)public int IndexOf( string s )u這種形式返回這種形式返回s s在字符串中在字符串中首次出現(xiàn)首次出現(xiàn)的的從零開(kāi)始的位置從零開(kāi)始的位置。如果字符串。如果字符串中不存在中不存在s s,則返回,則返回1 1。(b)public int IndexOf( string s, int startIndex )u這種形式從這種形式從startIndexstartIndex處開(kāi)始查找處開(kāi)始查找s s在字符串中在字符串中首次出現(xiàn)首次出現(xiàn)的的從零開(kāi)始從零開(kāi)始的位置的位置。如果找不到,則返回。如果找不到,則返回1 1。lLastInde
26、xOf方法的用法與方法的用法與IndexOf方法相同,區(qū)別是方法相同,區(qū)別是LastIndexOf方法與方法與IndexOf方法的查找方向剛好相反。方法的查找方向剛好相反。262.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))l方法方法5:IndexOfAny方法方法,查找某個(gè)字符串中是否包含某些字查找某個(gè)字符串中是否包含某些字符(多個(gè)不同的字符)。常用語(yǔ)法為符(多個(gè)不同的字符)。常用語(yǔ)法為public int IndexOfAny( char anyOf )該方法返回該方法返回Unicode字符數(shù)組中的任意字符在字符串實(shí)例中第一字符數(shù)組中的任意字符在字符串實(shí)例中第一個(gè)匹配項(xiàng)的從零
27、開(kāi)始的索引位置,如果未找到個(gè)匹配項(xiàng)的從零開(kāi)始的索引位置,如果未找到anyOf中的任何一中的任何一個(gè)字符,則返回個(gè)字符,則返回1。例如:。例如:string s1 = 123abc123abc123;string s1 = 123abc123abc123;char c = a, b, 5, 8 ;char c = a, b, 5, 8 ;int x = s1.IndexOfAny(c); /xint x = s1.IndexOfAny(c); /x結(jié)果為結(jié)果為3 3,含義為在,含義為在s1s1中查找是否包中查找是否包含含(a, b, 5, 8 )(a, b, 5, 8 )之中的任何一個(gè)字符,并返
28、回首之中的任何一個(gè)字符,并返回首次找到的索引位置。次找到的索引位置。272.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))3. 獲取字符串中的單個(gè)字符或者子字符串獲取字符串中的單個(gè)字符或者子字符串l可直接用可直接用中括號(hào)指明字符在字符串中的序號(hào),例如:中括號(hào)指明字符在字符串中的序號(hào),例如:string myString = some text;u/求字符串求字符串myStringmyString第第2 2個(gè)字符,結(jié)果為個(gè)字符,結(jié)果為m m(第第0 0個(gè)為個(gè)為s s,第,第1 1個(gè)為個(gè)為o o)char myChar = myString2; lSubstring方法方法:得到從某個(gè)
29、位置開(kāi)始的子字符串。得到從某個(gè)位置開(kāi)始的子字符串。string s1 = abc123; string s2 = s1.Substring(2); /結(jié)果為結(jié)果為c123string s3 = s1.Substring(2, 3); /從第從第2個(gè)字符開(kāi)始,向后取個(gè)字符開(kāi)始,向后取3個(gè),個(gè),結(jié)果為結(jié)果為c12282.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))4字符串的插入、刪除與替換字符串的插入、刪除與替換l語(yǔ)法語(yǔ)法從從startIndex開(kāi)始插入子字符串開(kāi)始插入子字符串value public string Insert(int startIndex,string value
30、)public string Insert(int startIndex,string value)刪除從刪除從startIndex到字符串結(jié)尾的子字符串到字符串結(jié)尾的子字符串public string Remove(int startIndex) public string Remove(int startIndex) 刪除從刪除從startIndex開(kāi)始的開(kāi)始的count個(gè)字符個(gè)字符public string Remove(int startIndex, int count) public string Remove(int startIndex, int count) 將將oldChar
31、的所有匹配項(xiàng)均替換為的所有匹配項(xiàng)均替換為newCharpublic string Replace(char oldChar, char newChar)public string Replace(char oldChar, char newChar) 將將oldValue的所有匹配項(xiàng)均替換為的所有匹配項(xiàng)均替換為newValuepublic string Replace(string oldValue, string newValue)public string Replace(string oldValue, string newValue)292.3.2 字符串的常用操作方法(續(xù)字符串的常用
32、操作方法(續(xù))5移除首尾字符移除首尾字符l用用TrimStart、TrimEnd方法方法實(shí)現(xiàn)實(shí)現(xiàn)。l如果不指定要移除的字符,則默認(rèn)移除空格。如果不指定要移除的字符,則默認(rèn)移除空格。302.3.2 字符串的常用操作方法(續(xù)字符串的常用操作方法(續(xù))6字符串中字母的大小寫(xiě)轉(zhuǎn)換字符串中字母的大小寫(xiě)轉(zhuǎn)換l用用ToUpper、ToLower方法。例:方法。例:string s1 = This is a string;string s2 = s1.ToUpper( ); /s2結(jié)果為結(jié)果為T(mén)HIS IS A STRINGstring s3 = Console.ReadLine( );if (s2.ToLo
33、wer( ) = yes) Console.WriteLine(OK);312.3.3 String與與StringBuilderlString類(lèi)表示的是一系列不可變的字符,無(wú)法直接修改給該字類(lèi)表示的是一系列不可變的字符,無(wú)法直接修改給該字符串分配的堆中的字符串。符串分配的堆中的字符串。之前之前“字符串拼接字符串拼接”的例子實(shí)際是的例子實(shí)際是重新生成了新的字符串重新生成了新的字符串String類(lèi)的實(shí)例!導(dǎo)致內(nèi)存開(kāi)銷(xiāo)大!類(lèi)的實(shí)例!導(dǎo)致內(nèi)存開(kāi)銷(xiāo)大!l在字符串連接操作比較多的情況下,在字符串連接操作比較多的情況下,使用使用StringBuilder類(lèi)可類(lèi)可以大大提高系統(tǒng)的性能以大大提高系統(tǒng)的性能。例
34、如:。例如:StringBuilder sb = new StringBuilder( );sb.Append(string1);sb.AppendLine(string2);sb.Append(string3);string s = sb.ToString( );Console.WriteLine(s);322.4 數(shù)組數(shù)組l數(shù)組表示相同類(lèi)型的對(duì)象的集合。數(shù)組表示相同類(lèi)型的對(duì)象的集合。l數(shù)組是數(shù)組是引用引用類(lèi)型。類(lèi)型。l聲明數(shù)組類(lèi)型是通過(guò)在某個(gè)類(lèi)型名后加一對(duì)方括號(hào)來(lái)構(gòu)造的。聲明數(shù)組類(lèi)型是通過(guò)在某個(gè)類(lèi)型名后加一對(duì)方括號(hào)來(lái)構(gòu)造的。33數(shù)數(shù) 組組 類(lèi)類(lèi) 型型語(yǔ)語(yǔ) 法法示示 例例一維數(shù)組一維數(shù)組數(shù)據(jù)
35、類(lèi)型 數(shù)組名;int myArray;二維數(shù)組二維數(shù)組數(shù)據(jù)類(lèi)型, 數(shù)組名;int, myArray;三維數(shù)組三維數(shù)組數(shù)據(jù)類(lèi)型, 數(shù)組名;int, myArray;交錯(cuò)數(shù)組交錯(cuò)數(shù)組數(shù)據(jù)類(lèi)型 數(shù)組名;int myArray;常用數(shù)組的語(yǔ)法聲明格式2.4 數(shù)組數(shù)組l數(shù)組的秩(數(shù)組的秩(rank)是指數(shù)組的維數(shù),如一維數(shù)組秩為)是指數(shù)組的維數(shù),如一維數(shù)組秩為1,二維,二維數(shù)組秩為數(shù)組秩為2。l數(shù)組長(zhǎng)度是指數(shù)組中所有元素的個(gè)數(shù)。例如:數(shù)組長(zhǎng)度是指數(shù)組中所有元素的個(gè)數(shù)。例如:int a = new int10; /10個(gè)元素,分別為個(gè)元素,分別為a0、a1a9int, b = new int3, 5;/長(zhǎng)
36、度為長(zhǎng)度為3*5=15,其中第,其中第0維長(zhǎng)度為維長(zhǎng)度為3,第第1維長(zhǎng)度為維長(zhǎng)度為5342.4.1 一維數(shù)組一維數(shù)組l數(shù)組的下標(biāo)默認(rèn)從數(shù)組的下標(biāo)默認(rèn)從0開(kāi)始索引。假如數(shù)組有開(kāi)始索引。假如數(shù)組有30個(gè)元素,則一維個(gè)元素,則一維數(shù)組的下標(biāo)范圍為數(shù)組的下標(biāo)范圍為029。l可通過(guò)在中括號(hào)內(nèi)指定下標(biāo)來(lái)訪(fǎng)問(wèn)某個(gè)元素。例如:可通過(guò)在中括號(hào)內(nèi)指定下標(biāo)來(lái)訪(fǎng)問(wèn)某個(gè)元素。例如:int a = new int30;a0 = 23; / 為為a數(shù)組中的第一個(gè)元素賦值數(shù)組中的第一個(gè)元素賦值23a29 = 67; / 為為a數(shù)組中的最后一個(gè)元素賦值數(shù)組中的最后一個(gè)元素賦值67l一維數(shù)組一維數(shù)組的的Length屬性屬性表示數(shù)
37、組的表示數(shù)組的長(zhǎng)度長(zhǎng)度。例如:。例如:int arrayLength = a.Length;352.4.1 一維數(shù)組一維數(shù)組l元素個(gè)數(shù)確定后,數(shù)組的長(zhǎng)度就確定了。例如:元素個(gè)數(shù)確定后,數(shù)組的長(zhǎng)度就確定了。例如:int a1 = new int30; /a1共有共有30個(gè)元素,分別為個(gè)元素,分別為a10a129int number = 10;string a2 = new Stringnumber; / a2共有共有numer個(gè)元素個(gè)元素l也可以在聲明語(yǔ)句中直接用簡(jiǎn)化形式為各元素賦初值,例如:也可以在聲明語(yǔ)句中直接用簡(jiǎn)化形式為各元素賦初值,例如:string a = first,second,t
38、hird;或或string a = new string first,second,third;362.4.1 一維數(shù)組一維數(shù)組l注意:注意:不帶不帶new運(yùn)算符的簡(jiǎn)化形式只能用在聲明語(yǔ)句中運(yùn)算符的簡(jiǎn)化形式只能用在聲明語(yǔ)句中。l比較下面的寫(xiě)法:比較下面的寫(xiě)法:string a1 = first, second, third ; /正確正確string a2 = new string first, second, third ; /正確正確string a3;a3 = first, second, third ; /錯(cuò)誤錯(cuò)誤string a4;a4 = new string first, sec
39、ond, third ; /正確正確372.4.2 多維數(shù)組多維數(shù)組l多維數(shù)組多維數(shù)組:指維數(shù)大于指維數(shù)大于1的數(shù)組,常用的是二維的數(shù)組,常用的是二維。l下面的下面的3條語(yǔ)句作用相同,都是創(chuàng)建一個(gè)條語(yǔ)句作用相同,都是創(chuàng)建一個(gè)3行行2列的數(shù)組:列的數(shù)組:int, n1 = new int3, 2 1, 2, 3, 4, 5, 6 ;int, n2 = new int, 1, 2, 3, 4, 5, 6 ;int, n3 = 1, 2, 3, 4, 5, 6 ;l下面的語(yǔ)句創(chuàng)建一個(gè)三維數(shù)組:下面的語(yǔ)句創(chuàng)建一個(gè)三維數(shù)組: int, array3D = new int, 1, 2, 3 , 4, 5,
40、 6 , 7, 8, 9 , 10, 11, 12 ;38l【例【例2-2】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,演示二維數(shù)組的聲明與】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,演示二維數(shù)組的聲明與初始化,并分別輸出初始化,并分別輸出數(shù)組的秩數(shù)組的秩、數(shù)組長(zhǎng)度數(shù)組長(zhǎng)度以及數(shù)組中的每個(gè)元以及數(shù)組中的每個(gè)元素的值。素的值。392.4.3 交錯(cuò)數(shù)組交錯(cuò)數(shù)組l交錯(cuò)數(shù)組交錯(cuò)數(shù)組:即:數(shù)組的數(shù)組,:即:數(shù)組的數(shù)組,每個(gè)元素又是一個(gè)數(shù)組每個(gè)元素又是一個(gè)數(shù)組。int n1 = new int2 new int 2,4,6, new int 1,3,5,7,9;/注意兩個(gè)注意兩個(gè)“元素元素”數(shù)組可以不等長(zhǎng)!數(shù)組可以不等長(zhǎng)!注意:注意:初始化交
41、錯(cuò)數(shù)組時(shí),每個(gè)元素的初始化交錯(cuò)數(shù)組時(shí),每個(gè)元素的new運(yùn)算符不能省略運(yùn)算符不能省略。交錯(cuò)數(shù)組的每個(gè)元素既可以是一維數(shù)組,也可以是多維的。交錯(cuò)數(shù)組的每個(gè)元素既可以是一維數(shù)組,也可以是多維的。40l【例【例2-3】演示交錯(cuò)數(shù)組的基本用法?!垦菔窘诲e(cuò)數(shù)組的基本用法。412.4.4 數(shù)組的常用操作方法數(shù)組的常用操作方法l1數(shù)組的數(shù)組的統(tǒng)計(jì)運(yùn)算統(tǒng)計(jì)運(yùn)算及及數(shù)組和字符串之間的轉(zhuǎn)換數(shù)組和字符串之間的轉(zhuǎn)換Average方法、方法、Sum方法、方法、Max方法和方法和Min方法。方法??芍苯佑每芍苯佑胹tring的靜態(tài)的靜態(tài)Join方法和靜態(tài)方法和靜態(tài)Split方法實(shí)現(xiàn)字符串和字方法實(shí)現(xiàn)字符串和字符串?dāng)?shù)組之間的
42、轉(zhuǎn)換。符串?dāng)?shù)組之間的轉(zhuǎn)換。Join方法相當(dāng)于將多個(gè)字符串插入分隔符后合并在一起。語(yǔ)法為方法相當(dāng)于將多個(gè)字符串插入分隔符后合并在一起。語(yǔ)法為upublic static string Join( string separator, string value public static string Join( string separator, string value ) )Split方法用于將字符串按照指定的一個(gè)或多個(gè)字符進(jìn)行分離得到方法用于將字符串按照指定的一個(gè)或多個(gè)字符進(jìn)行分離得到一個(gè)字符串?dāng)?shù)組。常用語(yǔ)法為一個(gè)字符串?dāng)?shù)組。常用語(yǔ)法為upublic string Split( params
43、 char separator )public string Split( params char separator )42l【例【例2-4】演示如何統(tǒng)計(jì)數(shù)組中的元素以及如何實(shí)現(xiàn)數(shù)組和字】演示如何統(tǒng)計(jì)數(shù)組中的元素以及如何實(shí)現(xiàn)數(shù)組和字符串之間的轉(zhuǎn)換。符串之間的轉(zhuǎn)換。432.4.4 數(shù)組的常用操作方法數(shù)組的常用操作方法l2數(shù)組元素的復(fù)制、排序與查找數(shù)組元素的復(fù)制、排序與查找l常用有:常用有:Copy方法:將一個(gè)數(shù)組中的方法:將一個(gè)數(shù)組中的全部或部分全部或部分元素復(fù)制到另一個(gè)數(shù)組元素復(fù)制到另一個(gè)數(shù)組中。中。Sort方法:使用方法:使用快速排序快速排序算法,將一維數(shù)組中的元素按照升序排算法,將一維數(shù)
44、組中的元素按照升序排列。列。Reverse方法:反轉(zhuǎn)一維數(shù)組中的元素。方法:反轉(zhuǎn)一維數(shù)組中的元素。另外,還可以使用該類(lèi)提供的另外,還可以使用該類(lèi)提供的Contains方法和方法和IndexOf方法查找方法查找指定的元素。指定的元素。44l【例【例2-5】演示一維數(shù)組的復(fù)制和排序?!垦菔疽痪S數(shù)組的復(fù)制和排序。452.5 數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換l2.5.1 值類(lèi)型之間的數(shù)據(jù)轉(zhuǎn)換值類(lèi)型之間的數(shù)據(jù)轉(zhuǎn)換l1隱式轉(zhuǎn)換隱式轉(zhuǎn)換隱式轉(zhuǎn)換隱式轉(zhuǎn)換:指:指不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換,如從不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換,如從int類(lèi)型轉(zhuǎn)類(lèi)型轉(zhuǎn)換到換到long類(lèi)型:類(lèi)型:uint k = 1;int
45、 k = 1;ulong i = 2;long i = 2;ui = k; /i = k; /隱式轉(zhuǎn)換隱式轉(zhuǎn)換不同值類(lèi)型之間的轉(zhuǎn)換不同值類(lèi)型之間的轉(zhuǎn)換:從低精度、小范圍的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為高從低精度、小范圍的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為高精度、大范圍的數(shù)據(jù)類(lèi)型,可以使用隱式轉(zhuǎn)換。精度、大范圍的數(shù)據(jù)類(lèi)型,可以使用隱式轉(zhuǎn)換。462.5 數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換l2顯式轉(zhuǎn)換顯式轉(zhuǎn)換需要用戶(hù)明確地指定轉(zhuǎn)換的類(lèi)型。例如:需要用戶(hù)明確地指定轉(zhuǎn)換的類(lèi)型。例如:long k = 5000;long k = 5000;int i = (int)k;int i = (int)k;所有隱式轉(zhuǎn)換都可以采用顯式轉(zhuǎn)換表示。例如
46、:所有隱式轉(zhuǎn)換都可以采用顯式轉(zhuǎn)換表示。例如:int i = 10;int i = 10;long j = (long)i;long j = (long)i;/(long)/(long)可寫(xiě)可不寫(xiě)可寫(xiě)可不寫(xiě)將大范圍類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為小范圍類(lèi)型的數(shù)據(jù)時(shí)必須特別謹(jǐn)慎,將大范圍類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為小范圍類(lèi)型的數(shù)據(jù)時(shí)必須特別謹(jǐn)慎,因?yàn)榇藭r(shí)可能有丟失數(shù)據(jù)的危險(xiǎn)。例如:因?yàn)榇藭r(shí)可能有丟失數(shù)據(jù)的危險(xiǎn)。例如:long r = 3000000000;long r = 3000000000;int i = (int)r;int i = (int)r;472.5.2 值類(lèi)型和引用類(lèi)型之間的轉(zhuǎn)換值類(lèi)型和引用類(lèi)型之間的轉(zhuǎn)換l1
47、Object類(lèi)類(lèi)Object類(lèi)是所有類(lèi)型的基類(lèi)。類(lèi)是所有類(lèi)型的基類(lèi)。C#語(yǔ)言中的類(lèi)型都直接或間接地語(yǔ)言中的類(lèi)型都直接或間接地從從Object類(lèi)繼承,因此,可以將類(lèi)繼承,因此,可以將Object類(lèi)的對(duì)象顯式轉(zhuǎn)換為任何類(lèi)的對(duì)象顯式轉(zhuǎn)換為任何一種對(duì)象。一種對(duì)象。ustring s = (10).ToString( );string s = (10).ToString( );l2裝箱裝箱將將值類(lèi)型值類(lèi)型隱式地隱式地轉(zhuǎn)換為轉(zhuǎn)換為Object類(lèi)型類(lèi)型。裝箱一個(gè)數(shù)值會(huì)為其分配一個(gè)對(duì)象實(shí)例,并把該數(shù)值復(fù)制到新對(duì)裝箱一個(gè)數(shù)值會(huì)為其分配一個(gè)對(duì)象實(shí)例,并把該數(shù)值復(fù)制到新對(duì)象中。象中。u例如:例如:int i = 1
48、23;object o = i; /裝箱482.5.2 值類(lèi)型和引用類(lèi)型之間的轉(zhuǎn)換值類(lèi)型和引用類(lèi)型之間的轉(zhuǎn)換l3拆箱拆箱把把Object類(lèi)型轉(zhuǎn)換為值類(lèi)型類(lèi)型轉(zhuǎn)換為值類(lèi)型,是裝箱的逆過(guò)程,是裝箱的逆過(guò)程。拆箱操作包括以下兩個(gè)步驟拆箱操作包括以下兩個(gè)步驟:u(1 1)檢查對(duì)象實(shí)例,確認(rèn)它是否包裝了)檢查對(duì)象實(shí)例,確認(rèn)它是否包裝了值類(lèi)型值類(lèi)型的數(shù)。的數(shù)。u(2 2)把實(shí)例中的值復(fù)制到值類(lèi)型的變量中。)把實(shí)例中的值復(fù)制到值類(lèi)型的變量中。l例如:例如:int i = 123; /值類(lèi)型值類(lèi)型object box = i; /裝箱操作裝箱操作int j = (int)box; /拆箱操作拆箱操作l注意注意
49、:裝箱和拆箱必須遵循裝箱和拆箱必須遵循類(lèi)型兼容類(lèi)型兼容的原則。的原則。49502.6 流程控制語(yǔ)句(復(fù)習(xí)流程控制語(yǔ)句(復(fù)習(xí)+自學(xué))自學(xué))l最基本的語(yǔ)句最基本的語(yǔ)句static void Main() int a; /聲明語(yǔ)句聲明語(yǔ)句 int b = 2, c = 3; /聲明語(yǔ)句聲明語(yǔ)句 a = b + c + 1;/表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句 const float pi = 2.14f; /聲明語(yǔ)句聲明語(yǔ)句 const int r = 25;/聲明語(yǔ)句聲明語(yǔ)句 double m = pi * r * r;/表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句512.6.1 分支語(yǔ)句分支語(yǔ)句lC#語(yǔ)言提供了兩種分支語(yǔ)句:語(yǔ)言提供
50、了兩種分支語(yǔ)句:if語(yǔ)句和語(yǔ)句和switch語(yǔ)句。語(yǔ)句。lIf語(yǔ)句語(yǔ)句 If if else if else if if else if else if else52l【例【例2-6】設(shè)有如下數(shù)學(xué)表達(dá)式,從鍵盤(pán)接收】設(shè)有如下數(shù)學(xué)表達(dá)式,從鍵盤(pán)接收x的值,然后根據(jù)的值,然后根據(jù)x的值計(jì)算的值計(jì)算y的值,并輸出計(jì)算結(jié)果。的值,并輸出計(jì)算結(jié)果。53100010 xyxx2.6.1 分支語(yǔ)句分支語(yǔ)句l2switch語(yǔ)句語(yǔ)句switch語(yǔ)句中可包含許多語(yǔ)句中可包含許多case塊,每個(gè)塊,每個(gè)case標(biāo)記后可以指定一標(biāo)記后可以指定一個(gè)常量值。個(gè)常量值。常量值常量值:指指switch中的條件表達(dá)式計(jì)算的結(jié)果,例如中的條件表達(dá)式計(jì)算的結(jié)果,例如: 字符串字符串:張三張三“ 字符字符:a 整數(shù)整數(shù):25 另外還可以是枚舉等。另外還可以是枚舉等。542.6.1 分支語(yǔ)句分支語(yǔ)句l2switch語(yǔ)句語(yǔ)句switch (條件表達(dá)式條件表達(dá)式) case 常量常量1: 語(yǔ)句序列語(yǔ)句序列1 break; case 常量常量2: 語(yǔ)句序列語(yǔ)句序列2 break;55 default: 語(yǔ)句序列語(yǔ)句序列n break; l【例【例2-7】從鍵盤(pán)接收一個(gè)成績(jī),按優(yōu)秀(】從鍵盤(pán)接收一個(gè)成績(jī),按優(yōu)秀(90-100)、良好()、良好(70-89)、及格()、及格(60-69)、不及格()、不及格(6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6~9的認(rèn)識(shí)(說(shuō)課稿)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2025以買(mǎi)賣(mài)合同擔(dān)保
- 2024年秋九年級(jí)化學(xué)上冊(cè) 第四單元 自然界的水說(shuō)課稿 (新版)新人教版
- 2023三年級(jí)英語(yǔ)上冊(cè) Assessment 3說(shuō)課稿1 湘少版
- Unit 4 My tidy bag Lesson 1 I have a big bag (說(shuō)課稿)-2024-2025學(xué)年粵人版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2023八年級(jí)地理上冊(cè) 第一章 中國(guó)的疆域與人口第一節(jié) 中國(guó)的疆域說(shuō)課稿 (新版)湘教版
- 出租代工合同范例
- 2024年六年級(jí)品社下冊(cè)《我在聯(lián)合國(guó)做報(bào)告》說(shuō)課稿3 蘇教版
- 2024年九年級(jí)語(yǔ)文上冊(cè) 第六單元 第23課《答司馬諫議書(shū)》說(shuō)課稿1 北京課改版
- 兒童攝影退款合同范例
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語(yǔ)試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語(yǔ)言
- 污泥處置合作合同模板
- 2025高考數(shù)學(xué)專(zhuān)項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024-2030年中國(guó)紫蘇市場(chǎng)深度局勢(shì)分析及未來(lái)5發(fā)展趨勢(shì)報(bào)告
- 2024年高中一年級(jí)數(shù)學(xué)考試題及答案
- 建設(shè)工程施工合同糾紛處理課件
評(píng)論
0/150
提交評(píng)論