




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園網(wǎng)絡(luò)信息安全管理規(guī)章制度
- 申請(qǐng)材料準(zhǔn)備指南
- 網(wǎng)絡(luò)市場(chǎng)調(diào)研與分析技術(shù)手冊(cè)
- 浙教版信息技術(shù)六年級(jí)上冊(cè)《第10課 韓信點(diǎn)兵枚舉法的實(shí)現(xiàn)》教學(xué)設(shè)計(jì)
- 珠寶行業(yè)線上交易平臺(tái)搭建及運(yùn)營(yíng)方案
- 解決方案研討會(huì)紀(jì)要集錦
- 物流信息系統(tǒng)優(yōu)化升級(jí)方案
- 2025年FRM金融風(fēng)險(xiǎn)管理師考試金融模型與風(fēng)險(xiǎn)管理模擬試卷
- 2025年消防執(zhí)業(yè)資格考試題庫:消防標(biāo)準(zhǔn)化建設(shè)消防安全設(shè)施操作與安全防護(hù)措施執(zhí)行力度試題
- 2025年小學(xué)英語畢業(yè)考試模擬卷:語音語調(diào)訓(xùn)練與口語表達(dá)技巧試題
- 河南2023年河南省農(nóng)村信用社員工招聘2600人考試參考題庫含答案詳解
- 分析化學(xué)(蘭州大學(xué))知到章節(jié)答案智慧樹2023年
- 身體知道答案(珍藏版)
- 安徽省高等學(xué)校質(zhì)量工程項(xiàng)目結(jié)題報(bào)告
- 旅行社運(yùn)營(yíng)實(shí)務(wù)電子課件 2.2 咨詢接待和推介旅游產(chǎn)品
- GB/T 22795-2008混凝土用膨脹型錨栓型式與尺寸
- GB/T 19851.15-2007中小學(xué)體育器材和場(chǎng)地第15部分:足球門
- GB/T 10095.1-2001漸開線圓柱齒輪精度第1部分:輪齒同側(cè)齒面偏差的定義和允許值
- ICU 呼吸機(jī)相關(guān)性肺炎預(yù)防措施執(zhí)行核查表
- 汽車吊檢測(cè)保養(yǎng)記錄
- 數(shù)字電子技術(shù)基礎(chǔ)第3章數(shù)字電子技術(shù)基礎(chǔ)課件
評(píng)論
0/150
提交評(píng)論