變量與表達(dá)式_第1頁
變量與表達(dá)式_第2頁
變量與表達(dá)式_第3頁
變量與表達(dá)式_第4頁
變量與表達(dá)式_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

變量與表達(dá)式1第1頁,課件共72頁,創(chuàng)作于2023年2月本章要點(diǎn)變量的命名、類型以及賦值的方法表達(dá)式與運(yùn)算符的優(yōu)先級(jí)值類型與引用類型字符串的定義與使用2第2頁,課件共72頁,創(chuàng)作于2023年2月2.1變量變量代表了存儲(chǔ)單元,每個(gè)變量都有一個(gè)類型。這決定了這個(gè)變量可以存儲(chǔ)什么值??梢酝ㄟ^賦值語句的操作來改變變量的值。使用變量的一條重要原則是:

變量必須先定義后使用C#數(shù)據(jù)類型大小示例int有符號(hào)的32位整數(shù)intrating=20;float32位浮點(diǎn)數(shù),精確到小數(shù)點(diǎn)后7位floattemperature=40.6F;byte無符號(hào)的8位整數(shù)bytegpa=2;short有符號(hào)的16位整數(shù)shortsalary=3400;long有符號(hào)的64位整數(shù)longpopulation=23451900;bool布爾值,true或falseboolIsManager=true;stringUnicode字符串stringcolor=“Orange”char單個(gè)Unicode字符chargender=‘M’;3第3頁,課件共72頁,創(chuàng)作于2023年2月2.1.1變量的聲明變量的聲明采用如下的規(guī)則:

typename;

其中type是變量的類型,name是變量的名稱。例如:

inta;doubleb;doubled=2.4;strings="helloCSharp";boolb1=true,b2=false;4第4頁,課件共72頁,創(chuàng)作于2023年2月2.1.2變量的命名基本的變量命名規(guī)則如下:變量名的第一個(gè)字符必須是字母、下劃線("_")或者"@"。除去第一個(gè)字符外,其余的字符可以是字母、數(shù)字、下劃線的組合。不可以使用對(duì)C#編譯器而言有特定含義的名字(即C#語言的庫函數(shù)名稱和關(guān)鍵字名稱)作為變量名,如using、namespace、struct等等。此條命名規(guī)則其實(shí)在寫程序的時(shí)候系統(tǒng)會(huì)自動(dòng)提示你的錯(cuò)誤的,所以不必過于擔(dān)心。例如:

345abcclassw-d-m×例如:

wdm_myVariableVAR√5第5頁,課件共72頁,創(chuàng)作于2023年2月C#對(duì)于大小寫字母是敏感的,所以在聲明以及使用變量的時(shí)候要注意這些,例如Variable、variable、VARIABLE是3個(gè)不同的變量。在變量的命名過程中,命名遵循一定的規(guī)則是必須的。在.NETFramework名稱空間中有兩種命名約定,分別為PascalCase和camelCase。它們都應(yīng)用到由多個(gè)單詞組成的名稱中,并指定名稱中的每個(gè)單詞除了第一個(gè)字母大寫外,其余字母都是小寫。在camelCase中,還有一個(gè)規(guī)則,即第一個(gè)單詞須以小寫字母開頭。6第6頁,課件共72頁,創(chuàng)作于2023年2月下面是PascalCase變量命名的舉例:

AgeSumOfAppleDayOfWeek7第7頁,課件共72頁,創(chuàng)作于2023年2月下面是camelCase變量命名的舉例:agesumOfAppledayOfWeek

Micorsoft建議:對(duì)于簡(jiǎn)單的變量,使用camelCase規(guī)則,而比較高級(jí)的命名則使用PascalCase規(guī)則。8第8頁,課件共72頁,創(chuàng)作于2023年2月2.1.3變量的種類在C#語言中,我們把變量分為七種類型,分別是:靜態(tài)變量(StaticVariables)非靜態(tài)變量(InstanceVariables)實(shí)例變量數(shù)組變量(ArrayVariables)值參數(shù)(ValueParameters)引用參數(shù)(ReferenceParameters)輸出參數(shù)(OutputParameters)局部變量(LocalVariables)9第9頁,課件共72頁,創(chuàng)作于2023年2月classmyClass{inty=2;publicstaticintx=1;boolFunction(int[]s,intm,refinti,outintj){intw=2;j=x+y+i+w;}}

上面的代碼中,x是靜態(tài)變量,y是非靜態(tài)變量,s[0]是數(shù)組變量,m是值參數(shù),i是引用參數(shù),j是輸出參數(shù),w是局部變量。

10第10頁,課件共72頁,創(chuàng)作于2023年2月非靜態(tài)變量不帶有static修飾符聲明的變量稱為實(shí)例變量(非靜態(tài)變量)。如:intS=2;針對(duì)類中的非靜態(tài)變量而言,一旦一個(gè)類的新的實(shí)例(對(duì)象)被創(chuàng)建,直到該實(shí)例不再被應(yīng)用從而所在空間被釋放為止,該非靜態(tài)變量將一直存在。如:XiyoujiRenwu類

XiyoujiRenwuzhubajie=newXiyoujiRenwu();XiyoujiRenwusunwukong=newXiyoujiRenwu();通過對(duì)象名調(diào)用,如zhubajie.S11第11頁,課件共72頁,創(chuàng)作于2023年2月靜態(tài)變量帶有static修飾符聲明的變量為靜態(tài)變量。一旦靜態(tài)變量所屬的類被裝載,直到包含該類的程序運(yùn)行結(jié)束時(shí),它將一直存在。使用靜態(tài)變量時(shí),不需要對(duì)其所在的類進(jìn)行實(shí)例化(即不使用new關(guān)鍵詞創(chuàng)建對(duì)象),就可以直接通過類名來調(diào)用。如:XiyoujiRenwu類

publicstaticintS=5

調(diào)用XiyoujiRenwu.S12第12頁,課件共72頁,創(chuàng)作于2023年2月2.1.4變量類型之間的轉(zhuǎn)換

在程序的設(shè)計(jì)中,常常會(huì)遇到變量的類型轉(zhuǎn)換問題。比如在進(jìn)行數(shù)學(xué)四則運(yùn)算時(shí),int類型的數(shù)值和double類型的數(shù)值可能混在一起進(jìn)行運(yùn)算,這樣變量之間的類型轉(zhuǎn)換就應(yīng)運(yùn)而生。

C#中的變量類型轉(zhuǎn)換常見的主要有以下4種方式:通過隱式轉(zhuǎn)換通過強(qiáng)制類型轉(zhuǎn)換使用ToString()方法使用Convert類13第13頁,課件共72頁,創(chuàng)作于2023年2月隱式轉(zhuǎn)換

隱式轉(zhuǎn)換又稱自動(dòng)類型轉(zhuǎn)換,若兩種變量的類型是兼容的或者目標(biāo)類型的取值范圍大于源類型時(shí)就可以使用隱式轉(zhuǎn)換。

隱式轉(zhuǎn)換的數(shù)據(jù)源類型以及目標(biāo)類型對(duì)應(yīng)表

14第14頁,課件共72頁,創(chuàng)作于2023年2月強(qiáng)制類型轉(zhuǎn)換是一種指令,它告訴編譯器將一種類型轉(zhuǎn)換為另外一種類型。強(qiáng)制轉(zhuǎn)換的缺點(diǎn)是可能產(chǎn)生的結(jié)果不夠精確。具體的強(qiáng)制類型轉(zhuǎn)換語法為:

(target-type)變量或表達(dá)式;

強(qiáng)制類型轉(zhuǎn)換

例:intx;floaty=23;x=(int)y;

如果輸出y的值,結(jié)果是23.0,x的值,結(jié)果是2315第15頁,課件共72頁,創(chuàng)作于2023年2月例2.1

類型轉(zhuǎn)換小例子。程序代碼如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceImolicitConversion{classProgram

{staticvoidMain(string[]args)

{inti=2;doubled=3.4;intv1=(int)(i+d);doublev2=i+d;Console.WriteLine("v1={0},v2={1}",v1,v2);Console.ReadLine();

}}}運(yùn)行結(jié)果為:v1=5,v2=5.4。16第16頁,課件共72頁,創(chuàng)作于2023年2月usingSystem;classTest{publicstaticvoidMain() { inti=10; longj=20; doublek=30D; j=i; k=j;//隱式轉(zhuǎn)換

Console.WriteLine("{0},{1},{2}",i,j,k); k=30.6D; j=(long)k; i=(int)j;//強(qiáng)制類型轉(zhuǎn)換

Console.WriteLine("{0},{1},{2}",i,j,k);

Console.Read(); }}運(yùn)行結(jié)果為:10,10,1030,30,30.617第17頁,課件共72頁,創(chuàng)作于2023年2月ToString()方法主要用于將變量轉(zhuǎn)化為字符串類型,該方法是C#語言中非常常見的一個(gè)方法。前面我們介紹的各種類型的變量都可以通過ToString()方法轉(zhuǎn)換為String類型,例如:inti=200;strings=i.ToString();這樣字符串類型變量s的值就是"200"

。ToString()

方法18第18頁,課件共72頁,創(chuàng)作于2023年2月Convert類Convert類的常見方法

19第19頁,課件共72頁,創(chuàng)作于2023年2月20第20頁,課件共72頁,創(chuàng)作于2023年2月usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication2{

classProgram

{

staticvoidMain(string[]args)

{inti=67;longl;doubled=99.999;strings1,s2="17";boolb=true;s1=Convert.ToString(b)+Convert.ToString(d);Console.WriteLine("{0}+{1}->{2}",b,d,s1);l=i+Convert.ToInt64(s2);Console.WriteLine("{0}+{1}->{2}",i,s2,l);Console.ReadKey();

}

}}例2.2

使用Convert方法進(jìn)行類型轉(zhuǎn)換的例子。運(yùn)行結(jié)果為:true+99.999->true99.99967+17->84s1=b.ToString()+d.ToString();21第21頁,課件共72頁,創(chuàng)作于2023年2月2.2常量

常量就是值在程序整個(gè)生命周期內(nèi)值始終不變的量。在聲明常量時(shí),要用到const關(guān)鍵字。常量在使用的過程中,不可以對(duì)其進(jìn)行賦值的改變,否則系統(tǒng)會(huì)自動(dòng)報(bào)錯(cuò)。

語法:

<訪問修飾符>const數(shù)據(jù)類型常量名=常量值;

示例:

constfloat_pi=3.14;22第22頁,課件共72頁,創(chuàng)作于2023年2月2.3表達(dá)式與運(yùn)算符

C#中的表達(dá)式是由運(yùn)算符、變量以及標(biāo)點(diǎn)符號(hào)依據(jù)一定的法則組合創(chuàng)建起來的。運(yùn)算符主要是用來定義類實(shí)例中表達(dá)式操作符的。23第23頁,課件共72頁,創(chuàng)作于2023年2月2.3.1數(shù)學(xué)運(yùn)算符

C#中的數(shù)學(xué)運(yùn)算符有5種:

+加法運(yùn)算符

-減法運(yùn)算符*乘法運(yùn)算符

/除法運(yùn)算符

%取余運(yùn)算符上面的5種運(yùn)算符都是二元的,但是“+”與“-”運(yùn)算符也可以是一元的,具體用法如下:

inti=1;

i++;此時(shí)i的值就變?yōu)榱?,i++這個(gè)表達(dá)式可以解釋為i=i+1;24第24頁,課件共72頁,創(chuàng)作于2023年2月表達(dá)式++i與i++的含義又有不同,如下例:inti=1;intj;j=++i;

此程序運(yùn)行的結(jié)果是:j=2;inti=1;intj;j=i++;

此程序運(yùn)行的結(jié)果是:j=1;通過對(duì)以上2個(gè)簡(jiǎn)單程序的對(duì)比,可以得知表達(dá)式i++是先賦值,后進(jìn)行自身的運(yùn)算,而++i正好是相反的,先進(jìn)行自身的運(yùn)算,而后再賦值。

25第25頁,課件共72頁,創(chuàng)作于2023年2月取余運(yùn)算符取余運(yùn)算符用來求除法的余數(shù),在C#語言中,取余運(yùn)算既適用于整數(shù)類型,也同樣適用于浮點(diǎn)型。如7%3的結(jié)果為1,7%2.5的結(jié)果為2。26第26頁,課件共72頁,創(chuàng)作于2023年2月2.3.2賦值運(yùn)算符賦值運(yùn)算符分為2種類型,第一種是簡(jiǎn)單賦值運(yùn)算符,就是“=”號(hào);第二種是復(fù)合賦值運(yùn)算符,包含5類,具體的如下表所示:27第27頁,課件共72頁,創(chuàng)作于2023年2月2.3.3運(yùn)算符的優(yōu)先級(jí)

28第28頁,課件共72頁,創(chuàng)作于2023年2月2.4數(shù)據(jù)類型在C#語言中,數(shù)據(jù)類型可以分為兩大部分:值類型(valuetype)和引用類型(referencetype)。

引用類型

類類型接口類型代表類型數(shù)組類型值類型

簡(jiǎn)單類型

結(jié)構(gòu)類型枚舉類型

29第29頁,課件共72頁,創(chuàng)作于2023年2月

值類型和引用類型的不同之處是值類型的變量值直接包含數(shù)據(jù),而引用類型的變量把它們的引用存儲(chǔ)在對(duì)象中。對(duì)于引用類型的變量,完全有可能讓兩個(gè)不同的變量引用同一個(gè)對(duì)象,這樣一來,對(duì)其中一個(gè)變量的操作就會(huì)影響到被另一個(gè)變量引用的對(duì)象。對(duì)于值類型的變量而言,每一個(gè)變量有它們自己的數(shù)值,因此對(duì)其中一個(gè)變量的操作不可能影響到另外一個(gè)變量。30第30頁,課件共72頁,創(chuàng)作于2023年2月2.4.1值類型

簡(jiǎn)單類型簡(jiǎn)單類型(SimpleTypes)是直接由一系列元素組成的數(shù)據(jù)類型。C#語言給我們提供了一組已經(jīng)定義好的簡(jiǎn)單類型。單純地從計(jì)算機(jī)的表示角度來看,這些簡(jiǎn)單類型可以分為整數(shù)類型、布爾類型、字符類型和實(shí)數(shù)類型。31第31頁,課件共72頁,創(chuàng)作于2023年2月1、整數(shù)類型整數(shù)類型,顧名思義,就是變量的值為整數(shù)的值類型。整數(shù)類型特征取值類型sbyte有符號(hào)8位整數(shù)-128-127byte無符號(hào)8位整數(shù)0-255short有符號(hào)16位整數(shù)-32768-32767ushort無符號(hào)16位整數(shù)0-65535int有符號(hào)32位整數(shù)-2147483648-2147483647uint無符號(hào)32位整數(shù)0-4294967295long有符號(hào)64位整數(shù)-9223372036854775808-9223372036854775807ulong無符號(hào)64位整數(shù)0-1844674407370955161532第32頁,課件共72頁,創(chuàng)作于2023年2月2、布爾類型布爾類型是用來表示“真”和“假”的。布爾類型表示的邏輯變量只有兩種取值。在C#中,分別采用true和false兩個(gè)值來表示。在C語言中,用0來表示“假”,其他任何非零的值表示真。在C#中,布爾型變量只能是true或者false。例如:boolx=true;33第33頁,課件共72頁,創(chuàng)作于2023年2月3、字符類型字符包括數(shù)字字符、英文字母和表達(dá)符號(hào)等等,C#提供的字符類型按照國(guó)際標(biāo)準(zhǔn),采用Unicode字符集。給一個(gè)變量賦值的語法為:

charmychar='M';34第34頁,課件共72頁,創(chuàng)作于2023年2月轉(zhuǎn)義字符意義\’單引號(hào)符\”雙引號(hào)符\\反斜線符"\"\0

空字符(Null)\a

鳴鈴\b退格

\f

走紙換頁\n

換行\(zhòng)r

回車\t

橫向跳到下一制表位置\v豎向跳格(垂直制表)轉(zhuǎn)義字符及其含義35第35頁,課件共72頁,創(chuàng)作于2023年2月4、實(shí)數(shù)類型實(shí)數(shù)在C#中采用三種數(shù)據(jù)類型來表示:?jiǎn)尉?Float)、雙精度(Double)和十進(jìn)制(Decimal)類型。它們的區(qū)別在于取值范圍和精度不同。單精度float

在內(nèi)存中占4個(gè)字節(jié),提供7位有效數(shù)字。例:floatx,y=1.0f;(注意初值后一定要加f或者F,否則看做double類型)雙精度double

占8個(gè)字節(jié),15~16位有效數(shù)字。例:doublez;

36第36頁,課件共72頁,創(chuàng)作于2023年2月當(dāng)定義一個(gè)Decimal類型變量并且給其賦值的時(shí)候,使用m或者M(jìn)后綴以表示它是一個(gè)十進(jìn)制類型,

例如:DecimalmyMoney=2.38m;

若在這里我們把語句改寫為:

DecimalmyMoney=2.38;

那么在Decimal型變量myMoney被賦值前,它將被編譯器當(dāng)作雙精度(Double)類型來處理。37第37頁,課件共72頁,創(chuàng)作于2023年2月結(jié)構(gòu)類型把一系列相關(guān)的變量組織成為一個(gè)單一實(shí)體的過程,我們稱為生成結(jié)構(gòu)的過程,這個(gè)單一實(shí)體的類型就叫做結(jié)構(gòu)類型,每一個(gè)變量稱為結(jié)構(gòu)成員。結(jié)構(gòu)類型的變量采用struct來進(jìn)行聲明。38第38頁,課件共72頁,創(chuàng)作于2023年2月例如:

struct

Student{publicstringname;publicboolsex;publicstringaddress;publicintscore;

}

Studentp1;p1就是一個(gè)Student結(jié)構(gòu)類型的變量。上面聲明中的public表示對(duì)結(jié)構(gòu)類型的成員的訪問權(quán)限。對(duì)結(jié)構(gòu)成員的訪問通過結(jié)構(gòu)變量名加上訪問符“.”號(hào),再跟成員的名稱。="Mike";

39第39頁,課件共72頁,創(chuàng)作于2023年2月注:結(jié)構(gòu)類型包含的成員類型沒有限制,可以相同,也可以不同,還可以把結(jié)構(gòu)類型作為另一個(gè)結(jié)構(gòu)類型的成員。structBall{publicdoubleWeight;publicdoubleRadius;structmyColor{publicintRed;publicintGreen;publicintBlue;publicstringColorName;}}

這里,Ball這個(gè)結(jié)構(gòu)中又包括了myColor這個(gè)結(jié)構(gòu),myColor結(jié)構(gòu)包括Red、Green、Blue、ColorName這4個(gè)成員。40第40頁,課件共72頁,創(chuàng)作于2023年2月枚舉(enum)類型是只能取值于所有列舉出的有限個(gè)元素的一種數(shù)據(jù)類型。聲明格式:

enum枚舉類型名{元素1,元素2,……};

其中,枚舉類型名是用戶定義的枚舉類型的類型標(biāo)識(shí)符;大括號(hào)中的元素1、元素2,……是枚舉類型所包含的所有元素列表。枚舉類型41第41頁,課件共72頁,創(chuàng)作于2023年2月比如,我們聲明一個(gè)代表星期的枚舉類型:

enumWeekDay{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}

WeekDayday;

賦值方式如下:day=Tuesday;42第42頁,課件共72頁,創(chuàng)作于2023年2月

引用類型與C++中的引用類似,因?yàn)槟憧梢詫⑺鼈円曌黝愋桶踩闹羔?。引用(在不是Null時(shí))總是確保指向一個(gè)對(duì)象,這個(gè)對(duì)象具有指定的類型而且已經(jīng)分配了地址。另外,引用可以是Null,這表示它當(dāng)前不引用或不指向任何對(duì)象。C#中的引用類型有4種:類數(shù)組代表接口

2.4.2引用類型43第43頁,課件共72頁,創(chuàng)作于2023年2月在面向?qū)ο蟮母拍钪?,類是封裝數(shù)據(jù)的基本單位。類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合。是對(duì)一系列具有相同性質(zhì)的對(duì)象的抽象,是對(duì)對(duì)象共同特征的描述。比如每一輛汽車都是一個(gè)對(duì)象的話,所有的汽車可以作為一個(gè)模板,我們就定義汽車這個(gè)類。

傳統(tǒng)的編程是面向過程的機(jī)制,而VisualC#使用可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。類44第44頁,課件共72頁,創(chuàng)作于2023年2月類的聲明類的聲明格式如下:class-modifersclassclassname{……}其中class-modifers為類的修飾符,常用的有public,protected,private,abstractclassname為類的類名。

45第45頁,課件共72頁,創(chuàng)作于2023年2月在一個(gè)類中,每個(gè)對(duì)象都是類的實(shí)例,C#中的new操作符可用于建立一個(gè)類的實(shí)例??梢酝ㄟ^調(diào)用對(duì)象的屬性、方法和事件,來訪問對(duì)象的功能。

對(duì)象創(chuàng)建的格式如下:

classNameObjectName=newclassName();其中,ObjectName為創(chuàng)建的對(duì)象名對(duì)象46第46頁,課件共72頁,創(chuàng)作于2023年2月47(1)對(duì)象的屬性。對(duì)象的性質(zhì)稱為屬性,不同的對(duì)象有不同的屬性。通過修改或設(shè)置這些屬性即可有效地控制對(duì)象的外觀和操作。屬性的設(shè)置或修改可以通過屬性窗口進(jìn)行,也可以通過編輯的方法在程序運(yùn)行時(shí)來改變對(duì)象的相關(guān)屬性。

在程序中設(shè)置屬性一般格式是:對(duì)象名.屬性名=屬性值;

例如,設(shè)置窗體對(duì)象的標(biāo)題為“歡迎來到編程世界”的代碼命令是:

Form1.text=“歡迎來到編程世界”;47第47頁,課件共72頁,創(chuàng)作于2023年2月(2)對(duì)象的方法。方法(Method)是與對(duì)象相關(guān)聯(lián)的過程與函數(shù)的統(tǒng)稱,由系統(tǒng)內(nèi)部定義,而不用編寫代碼。如窗口的關(guān)閉等。不同的對(duì)象具有不同的內(nèi)部方法。(3)對(duì)象的事件。所謂事件(Event),是由VisualC#預(yù)先定義好的、能夠被對(duì)象識(shí)別的動(dòng)作,不同的對(duì)象能夠識(shí)別的事件也有所不同。4848第48頁,課件共72頁,創(chuàng)作于2023年2月一個(gè)數(shù)組就是一組類型相同的變量的集合。這些變量叫做數(shù)組元素??梢杂脭?shù)組元素在數(shù)組中的位置(即下標(biāo))來引用它。

特點(diǎn):所有的元素類型都相同。

數(shù)組數(shù)組必須先聲明再引用。一個(gè)數(shù)組的聲明包括數(shù)組名稱、數(shù)組元素類型和數(shù)組維數(shù)。49第49頁,課件共72頁,創(chuàng)作于2023年2月創(chuàng)建數(shù)組時(shí),應(yīng)該先聲明,然后分配內(nèi)存。做法如下:

1、array_type[]array_name;

//聲明類型為array_type的一維數(shù)組array_name2、array_name=newarray_type[element_numbers];

//為數(shù)組array_name分配內(nèi)存例如:

string[]person_name;person_name=newstring[10];50第50頁,課件共72頁,創(chuàng)作于2023年2月例如:

string[]person_name;person_name=newstring[10];可以寫成:

string[]person_name=newstring[10];上面說的兩步也可以縮寫成一步:array_type[]array_name=newarray_type[element_numbers];51第51頁,課件共72頁,創(chuàng)作于2023年2月上面只是創(chuàng)建了數(shù)組,數(shù)組在被訪問之前必須初始化??梢栽趧?chuàng)建的時(shí)候就完成初始化,有以下三種方法:(1)int[]numbers=newint[]{1,2,3,4,5};

(2)int[]numbers={1,2,3,4,5};

(3)int[]numbers;

numbers=newint[]{1,2,3,4,5};

也可以在創(chuàng)建完之后再初始化,如:

int[]numbers=newint[5];numbers[0]=1;numbers[1]=2;numbers[2]=3;numbers[3]=4;numbers[4]=5;52第52頁,課件共72頁,創(chuàng)作于2023年2月在數(shù)組操作中經(jīng)常使用的一個(gè)重要屬性是數(shù)組的長(zhǎng)度。要確定一維數(shù)組的長(zhǎng)度,可以使用Length屬性,例如:intArrayLength=ArrayName.Length;如果是多維數(shù)組,則可以使用GetLength方法確定其某一特定維的長(zhǎng)度,例如:intArrayLength=ArrayName.GetLength(0);//獲取ArrayName數(shù)組第一維的長(zhǎng)度C#語言中還提供了Sort和Reverse這樣的靜態(tài)方法,可以將數(shù)組按照升序或降序排列。53第53頁,課件共72頁,創(chuàng)作于2023年2月[例]使用Sort和Reverse方法對(duì)數(shù)組排序。usingSystem;namespaceArrayExample1{classProgram{staticvoidMain(){string[]Artists={"Leonardo","Monet","VanGogh","Klee"};

//將數(shù)組Artists做升序排列,并輸出其結(jié)果;

Array.Sort(Artists);for(inti=0;i<Artists.Length;i++){Console.WriteLine(Artists[i]);}

//將數(shù)組Artists做降序排列,并輸出其結(jié)果;

Array.Reverse(Artists);

for(inti=0;i<Artists.Length;i++){Console.WriteLine(Artists[i]);}Console.ReadLine();}}}輸出結(jié)果:KleeLeonardoMonetVanGoghVanGoghMonetLeonardoKlee54第54頁,課件共72頁,創(chuàng)作于2023年2月2.5字符串

C#內(nèi)置支持功能完全的string類型。更重要的是,C#把字符串也當(dāng)成對(duì)象,封裝了所有字符串所擁有的操作、排序和搜索方法。55第55頁,課件共72頁,創(chuàng)作于2023年2月2.5.1字符串的聲明和初始化定義字符串最基本的方式是把一個(gè)雙引號(hào)括起來的字符串賦給一個(gè)string類型的變量:

strings="abcdef";

雙引號(hào)括起來的字符串可以包含轉(zhuǎn)義字符,如“\n”或“\t”,都以反斜線開始,用來表示換行或制表。由于反斜線本身在一些命令行語法(如URL或者目錄路徑)中會(huì)用到,引號(hào)括起的字符串中,反斜線必須在其自身前面再加一個(gè)反斜線。如下面代碼所示:

stringdirectory="C:\\text";56第56頁,課件共72頁,創(chuàng)作于2023年2月字符串也可以用原樣的字符串創(chuàng)建,可以以“@”符號(hào)開頭,這樣string構(gòu)造方法就知道字符串應(yīng)照原樣使用,即使它要跨行或者含有轉(zhuǎn)義字符。因此,下面的程序代碼

stringdirectory=“C:\\text\\2\\3";

也可以改寫成如下的代碼:

stringdirectory=@"C:\text\2\3";57第57頁,課件共72頁,創(chuàng)作于2023年2月

string類型變量可以看作是char變量的只讀數(shù)組。這樣,就可以使用下面的語法訪問每個(gè)字符:

stringmyString="abcdef";charmyChar=myString[1];

同時(shí),我們還可以使用ToCharArray()函數(shù),把string類型的變量轉(zhuǎn)存到字符數(shù)組里面了。58第58頁,課件共72頁,創(chuàng)作于2023年2月一個(gè)string轉(zhuǎn)化為字符數(shù)組的例子usingSystem;namespacestringExample{classProgram{staticvoidMain(string[]args){strings="abcdef";char[]myChar=s.ToCharArray();Console.WriteLine("字符數(shù)組myChar輸出如下:");foreach(charcinmyChar){Console.WriteLine("{0}",c);}Console.ReadLine();}}}59第59頁,課件共72頁,創(chuàng)作于2023年2月程序運(yùn)行結(jié)果60第60頁,課件共72頁,創(chuàng)作于2023年2月字符串的拼接字符串的串接(合并)是指使用“+”符號(hào)連接前后兩個(gè)字符串:

stringcity="南京市";stringstreet="新街口";stringaddress=city+street;Console.WriteLine("地址是:"+address);

上述代碼的輸出結(jié)果為:"地址是:南京市新街口"

。

61第61頁,課件共72頁,創(chuàng)作于2023年2月

string類有很多方法和屬性,常見的有:Length屬性、ToUpper/ToLower方法、IndexOf方法、Substring方法等。string類的方法和屬性1、Length屬性

Length屬性是描述字符串長(zhǎng)度的屬性。

stringstr2=“youarewelcome!”;

intn=str2.Length;

那么n就得到str2字符串的長(zhǎng)度為16。62第62頁,課件共72頁,創(chuàng)作于2023年2月2、ToUpper/ToLower方法介紹

ToUpper()方法是把字符串中所有的字母都變成大寫。

ToLower()方法是把字符串中所有的字母都變成小寫。3、IndexOf方法介紹

IndexOf()方法是從str1字符串找出第一次出現(xiàn)某子字符串的位置,下標(biāo)從0開始。

stringstr1="youarewelcome";intn=str1.IndexOf("are"

);那么n的值為4;63第63頁,課件共72頁,創(chuàng)作于2023年2月4、Substring()方法

Substring()方法是從str1字符串的第n1個(gè)字符開始,取長(zhǎng)度為n2的子串。

str1.Substring(n1,n2);

例:stringstr1="youarewelcome";Console.WriteLine(str1.Substring(4,3));//結(jié)果為are64第64頁,課件共72頁,創(chuàng)作于2023年2月5、在一個(gè)字符串的指定位置插入指定的字符串Insert(intstartIndex,stringstr)在startIndex處插入字符串str。例如:stringStr1=“thisisastring.”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論