




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章C#程序設(shè)計(jì)基礎(chǔ)
2.1標(biāo)識符2.2C#中數(shù)據(jù)類型2.3C#中的變量和常量2.4結(jié)構(gòu)類型和枚舉類型2.5C#運(yùn)算符和表達(dá)式2.6C#中常用類和結(jié)構(gòu)2.1標(biāo)識符C#的標(biāo)識符名稱必須遵守以下規(guī)則:(1)所有的標(biāo)識符只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符必須為字母或下劃線。(2)標(biāo)識符中不能包含空格、標(biāo)點(diǎn)符號、運(yùn)算符等其他符號。(3)標(biāo)識符嚴(yán)格區(qū)分大小寫。(4)標(biāo)識符不能與C#關(guān)鍵字名相同。(5)標(biāo)識符不能與C#中的類庫名相同。a12_c√1abc
2.2C#中數(shù)據(jù)類型C#中數(shù)據(jù)類型分類2.2.1值類型值類型的變量內(nèi)含變量值本身,C#的值類型可以分為簡單類型、結(jié)構(gòu)類型和枚舉類型。下面僅介紹簡單類型。1.整數(shù)類型類型標(biāo)識符說明占用位數(shù)取值范圍示例sbyte帶符號字節(jié)型8-128~127sbytei=10;byte無符號字節(jié)型80~255bytei=10;short帶符號短整型16-32,768~32,767shorti=10;ushort無符號短整型160~65,535ushorti=10;int帶符號整型32-2,147,483,648~2,147,483,647inti=10;uint無符號整型320~4,294,967,295uinti=10;uinti=10U;long帶符號長整型64-9,223,372,036,854,775,808~9,223,372,036,854,775,807longi=10;longi=10L;ulong無符號長整型640~18,446,744,073,709,551,615ulongi=16;ulongi=16U;ulongi=16L;ulongi=16UL;2.實(shí)數(shù)類型類型標(biāo)識符說明取值范圍示例float單精度浮點(diǎn)數(shù)±1.5×10-45
~3.4×1038,精度為7位數(shù)floatf=1.23F;double雙精度浮點(diǎn)數(shù)±5.0×10-324
~1.7×10308,精度為15到16位數(shù)doubled=1.23;decimal固定精度的浮點(diǎn)數(shù)1.0×10-28到~7.9×1028的之間,精度為28至29位有效數(shù)字decimald=1.23M;3字符類型
例如,可以采用如下方式字符變量賦值:
charc='H'; //字符Hcharc='\x0048'; //字符H,十六進(jìn)制轉(zhuǎn)義符(前綴為\x)
charc='\u0048'; //字符H,Unicode表示形式(前綴為\u)
charc='\r'; //回車,轉(zhuǎn)義字符在表示一個(gè)字符常量時(shí),單引號內(nèi)的有效字符數(shù)量必須且只能是一個(gè),而且不能是單引號或者反斜杠(\)。4.布爾類型布爾類型數(shù)據(jù)用于表示邏輯真和邏輯假,布爾類型的類型標(biāo)識符是bool。true:真值false:假值boolb1=true;boolb2=false;5.結(jié)構(gòu)類型5.1結(jié)構(gòu)類型的聲明結(jié)構(gòu)類型由若干“成員”組成的。數(shù)據(jù)成員稱為字段,每個(gè)字段都有自己的數(shù)據(jù)類型。聲明結(jié)構(gòu)類型的一般格式如下:
struct結(jié)構(gòu)類型名稱
{ [字段訪問修飾符]數(shù)據(jù)類型字段1; [字段訪問修飾符]數(shù)據(jù)類型字段2; ... [字段訪問修飾符]數(shù)據(jù)類型字段n;};例如,以下聲明一個(gè)具有姓名和年齡的結(jié)構(gòu)體類型Student:structStudent //聲明結(jié)構(gòu)類型Student{publicintxh; //學(xué)號
publicstringxm; //姓名
publicstringxb; //性別
publicintnl; //年齡
publicstringbh; //班號};5.2結(jié)構(gòu)類型變量的定義聲明一個(gè)結(jié)構(gòu)類型后,可以定義該結(jié)構(gòu)類型的變量(簡稱為結(jié)構(gòu)變量)。定義結(jié)構(gòu)變量的一般格式如下:結(jié)構(gòu)類型結(jié)構(gòu)變量;
例如,在前面的結(jié)構(gòu)類型Student聲明后,定義它的兩個(gè)變量如下:
Students1,s2;5.3結(jié)構(gòu)變量的使用1)訪問結(jié)構(gòu)變量字段訪問結(jié)構(gòu)變量字段的一般格式如下:
結(jié)構(gòu)變量名.字段名例如,s1.xh表示結(jié)構(gòu)變量s1的學(xué)號,s2.xm表示結(jié)構(gòu)變量s2的姓名。結(jié)構(gòu)體變量的字段可以在程序中單獨(dú)使用,與普通變量完全相同。2)結(jié)構(gòu)變量的賦值結(jié)構(gòu)變量的賦值有兩種方式。結(jié)構(gòu)變量的字段賦值:使用方法與普通變量相同。結(jié)構(gòu)變量之間賦值:要求賦值的兩個(gè)結(jié)構(gòu)變量必須類型相同。例如:
s1=s2;這樣s2的所有字段值賦給s1的對應(yīng)字段。【例2.2】設(shè)計(jì)一個(gè)控制臺程序說明結(jié)構(gòu)類型的應(yīng)用。usingSystem;namespaceProj2_2{classProgram{structStudent//結(jié)構(gòu)類型聲明應(yīng)放在Main函數(shù)的外面
{ publicintxh; //學(xué)號
publicstringxm;//姓名
publicstringxb; //性別
publicintnl; //年齡
publicstringbh; //班號
}
staticvoidMain(string[]args){Students1,s2; //定義兩個(gè)結(jié)構(gòu)類型變量
s1.xh=101; s1.xm="李明"; s1.xb="男"; s1.nl=20; s1.bh="07001"; Console.WriteLine("學(xué)號:{0},姓名:{1},性別:{2},年齡:{3},
班號:{4}",s1.xh,s1.xm,s1.xb,s1.nl,s1.bh); s2=s1; //將結(jié)構(gòu)變量s1賦給s2 s2.xh=108; s2.xm="王華"; Console.WriteLine("學(xué)號:{0},姓名:{1},性別:{2},年齡:{3},
班號:{4}",s2.xh,s2.xm,s2.xb,s2.nl,s2.bh);}}}5.結(jié)構(gòu)類型
structContact{publicstringname;publicstringphone;publicstringaddress;}結(jié)構(gòu)名結(jié)構(gòu)體成員關(guān)鍵字5.結(jié)構(gòu)類型
structContact{publicstringname;publicstringphone;publicstringaddress;}結(jié)構(gòu)名結(jié)構(gòu)成員關(guān)鍵字結(jié)構(gòu):簡單值的共同組合Contactc1=newContact()=“王小明”;c1.phone=;創(chuàng)建結(jié)構(gòu)對象使用結(jié)構(gòu)成員6.枚舉類型枚舉類型也是一種自定義數(shù)據(jù)類型,它允許用符號代表數(shù)據(jù)。枚舉是指程序中某個(gè)變量具有一組確定的值,通過“枚舉”可以將其值一一列出來。6.1枚舉類型的聲明枚舉類型使用enum關(guān)鍵字聲明,其一般語法形式如下:
enum枚舉名{枚舉成員1,枚舉成員2,
}其中,enum是結(jié)構(gòu)類型的關(guān)鍵字。例如,以下聲明一個(gè)名稱為color的表示顏色的枚舉類型:
enumColor{Red,Green,Blue,White,Black}在聲明枚舉類型后,可以通過枚舉名來訪問枚舉成員,其使用語法如下:枚舉名.枚舉成員6.2枚舉成員的賦值在聲明的枚舉類型中,每一個(gè)枚舉成員都有一個(gè)相對應(yīng)的常量值,默認(rèn)情況下C#規(guī)定第1個(gè)枚舉成員的值取0,它后面的每一個(gè)枚舉成員的值按加1遞增。例如,前面Color中,Red值為0,Green值為1,Blue值為2,依次類推??梢詾橐粋€(gè)或多個(gè)枚舉成員賦整型值,當(dāng)某個(gè)枚舉成員賦值后,其后的枚舉成員沒有賦值的話,自動(dòng)在前一個(gè)枚舉成員值之上加1作為其值。例如:
enumColor{Red=0,Green,Blue=3,White,Black=1};則這些枚舉成員的值分別為0、1、3、4、1。6.3枚舉類型變量的定義聲明一個(gè)枚舉類型后,可以定義該枚舉類型的變量(簡稱為枚舉變量)。定義枚舉變量的一般格式如下:枚舉類型枚舉變量;
例如,在前面的枚舉類型Color聲明后,定義它的兩個(gè)變量如下:
Colorc1,c2;1)枚舉變量的賦值枚舉變量賦值的語法格式如下:枚舉變量=枚舉名.枚舉成員例如:
c1=Color.Red;2)枚舉變量的訪問枚舉變量像普通變量一樣直接訪問。6.枚舉類型
enumWeekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}枚舉名關(guān)鍵字枚舉:簡單值的排他組合Weekdayw1=Weekday.Sunday;Console.WriteLine(w1);w1=w1+1;枚舉對象枚舉成員加法操作賦予某個(gè)成員值
Console.WriteLine();//相當(dāng)于換行向控制臺輸出的幾種方式
Console.WriteLine(要輸出的值);//輸出一個(gè)值
Console.WriteLine("格式字符串",變量列表);stringcourse="C#";
Console.WriteLine(course);Console.WriteLine("我的課程名稱是:"+course);Console.WriteLine("我的課程名稱是:{0}",course);演示示例2:向控制臺輸出示例2關(guān)鍵代碼回顧:staticvoidMain(string[
]args){stringcourse="C#";//課程名稱
……
Console.WriteLine(
"我的課程名稱是:{0}"
,
course
);Console.ReadLine();}{0}:占位符依次使用{0}、{1}、{2}…與變量列表中的變量對應(yīng)可以在字符串中使用\n、\t來控制換行或制表格式字符串變量列表讀取一行,返回一個(gè)字符串
string類型讀取整數(shù)stringname=Console.ReadLine();
intage=int.Parse(Console.ReadLine());Console.ReadLine();
int.Parse(Console.ReadLine());表示將字符串轉(zhuǎn)換為整數(shù)簡單綜合應(yīng)用輸入2名學(xué)員的信息,包括姓名、年齡,輸出到控制臺要求:兩種方式輸出第一種,使用+連接輸出第一個(gè)學(xué)員的信息第二種,使用格式字符串輸出第二個(gè)學(xué)員的信息演示示例3:輸入輸出綜合應(yīng)用示例3代碼分析//輸入第一個(gè)學(xué)員信息Console.WriteLine("請輸入第一個(gè)學(xué)員的姓名:");name1=Console.ReadLine();Console.WriteLine("請輸入第一個(gè)學(xué)員的年齡:");age1=int.Parse(Console.ReadLine());//輸入第二個(gè)學(xué)員信息//……//輸出學(xué)員信息Console.WriteLine("第一個(gè)學(xué)員的姓名"+name1+",年齡"+age1+"歲");Console.WriteLine("第二個(gè)學(xué)員的姓名{0},年齡{1}歲",name2,age2);+連接輸出格式字符串輸出示例3關(guān)鍵代碼回顧:輸入staticvoidMain(string[]args){intnum1;intnum2;num1=int.Parse(Console.ReadLine());num2=int.Parse(Console.ReadLine());Console.WriteLine("{0}+{1}={2}",num1,num2,num1+num2);}輸入2個(gè)整數(shù),輸出兩個(gè)數(shù)的和usingSystem;namespaceL2_1{classProgram
{staticvoidMain()
{Console.Write("請輸入一個(gè)字符:");//charch=Console.ReadKey().KeyChar;charch=Console.ReadLine()[0];Console.WriteLine("\r\n字符{0}的ASCII代碼為a{1}",ch,(int)ch);
}
}}輸入1個(gè)字符,輸出該字符的ASCII碼類接口委托數(shù)組classContact{publicstructAddress{publicstringcity;publicstringstreet;publicintnumber;}publicstringname;publicboolgender;publicstringphone;publicAddressaddress;}類名類的成員關(guān)鍵字類:一組同類對象的抽象描述嵌套成員引用類型類:一組同類對象的抽象描述引用類型Contactc1=newContact()=“王小明”;c1.phone=;創(chuàng)建類的對象使用類的成員2.2.2引用類型引用類型也稱為參考類型。和值類型相比,引用類型的變量不直接存儲所包含的值,而是指向它所要存儲的值。類似C中的指針。1.object類
object是C#中所有類型(包括所有的值類型和引用類型)的基類,C#中的所有類型都直接或間接地從object類中繼承而來。因此,對一個(gè)object的變量可以賦予任何類型的值。
floatf=1.23;objectobj1; //定義obj1對象
obj1=f;objectobj2="China"; //定義obj2對象并賦初值2.string類
C#還定義了一個(gè)string類,表示一個(gè)Unicode字符序列,專門用于對字符串的操作。同樣,這個(gè)類也是在.NETFramework的命名空間System中定義的,是類System.String的別名。字符串在實(shí)際中應(yīng)用非常廣泛,利用string類中封裝的各種內(nèi)部操作,可以很容易完成對字符串處理。例如:
stringstr1="123"+"abc";//"+"運(yùn)算符用于連接字符串
charc="HelloWorld!"[1];//"[]"運(yùn)算符可以訪問string中的單個(gè)字符,c='e'stringstr2="China";stringstr3=@"China";//字符串的另一種表示形式,用@引起來。
boolb=(str2==str3); //"=="運(yùn)算符用于兩個(gè)字符串比較,b=trueC#中的命名空間usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceHelloACCP{classProgram{
staticvoidMain(string[
]args)
{
//…
}}}系統(tǒng)定義的命名空間自定義的命名空間命名空間:一種組織代碼的方法代碼及內(nèi)容唯一標(biāo)識引用命名空間usingSystem;//引用
System命名空間namespaceHelloACCP{classProgram{
staticvoidMain(string[
]args)
{
Console.WriteLine("HelloACCP.NET");
}}}//不引用System命名空間//usingSystem;
namespaceHelloACCP{classProgram{
staticvoidMain(string[
]args)
{
//Console.WriteLine("HelloACCP.NET");System.Console.WriteLine
("HelloACCP.NET");
}}}如果不使用using,要使用完全限定名稱WriteLine()方法的完全限定名稱使用using引用命名空間2.2.3類型轉(zhuǎn)換數(shù)據(jù)類型在一定條件下是可以相互轉(zhuǎn)換的,如將int型數(shù)據(jù)轉(zhuǎn)換成double型數(shù)據(jù)。C#允許使用兩種轉(zhuǎn)換的方式:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。1.隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的、不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換。源類型目標(biāo)類型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalushortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallongfloat、double、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble怎樣進(jìn)行隱式類型轉(zhuǎn)換隱式轉(zhuǎn)換:自動(dòng)類型轉(zhuǎn)換floatint規(guī)則:對于數(shù)值類型,A的取值范圍完全包含在B內(nèi)AB2.顯式轉(zhuǎn)換顯式轉(zhuǎn)換又叫強(qiáng)制類型轉(zhuǎn)換,與隱式轉(zhuǎn)換相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換類型,一般在不存在該類型的隱式轉(zhuǎn)換時(shí)才使用。格式如下:
(類型標(biāo)識符)表達(dá)式其作用是將“表達(dá)式”值的類型轉(zhuǎn)換為“類型標(biāo)識符”的類型。例如:
(int)1.23//把double類型的1.23轉(zhuǎn)換成int類型,結(jié)果為1
需要提醒注意以下幾點(diǎn):(1)顯式轉(zhuǎn)換可能會導(dǎo)致錯(cuò)誤。進(jìn)行這種轉(zhuǎn)換時(shí)編譯器將對轉(zhuǎn)換進(jìn)行溢出檢測。如果有溢出說明轉(zhuǎn)換失敗,就表明源類型不是一個(gè)合法的目標(biāo)類型,轉(zhuǎn)換就無法進(jìn)行。(2)對于從float、double、decimal到整型數(shù)據(jù)的轉(zhuǎn)換,將通過舍入得到最接近的整型值,如果這個(gè)整型值超出目標(biāo)類型的范圍,則出現(xiàn)轉(zhuǎn)換異常。staticvoidMain(string[
]args){doublescore=58.5;//原始成績
intbonus=2;//加分
intsum;//
總分
sum=score+bonus;//計(jì)算總分
Console.WriteLine(sum);Console.ReadLine();}怎樣進(jìn)行顯式類型轉(zhuǎn)換staticvoidMain(string[
]args){doublescore=58.5;
intbonus
=2;
intsum;
sum=(int)score+bonus;
Console.WriteLine(sum);Console.ReadLine();}×明確告訴編譯器轉(zhuǎn)換類型注意:double(58.5)->int(58),精度可能丟失!顯式轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換【例2.1】設(shè)計(jì)一個(gè)控制臺程序說明類型轉(zhuǎn)換的應(yīng)用。usingSystem;namespaceProj3_1{classProgram{staticvoidMain(string[]args){inti=65,i1,i2; doubled=66.3456,d1,d2; charc='A',c1,c2; Console.WriteLine("i={0:d5},d={1:f},c={2}",i,d,c); i1=(int)d; //強(qiáng)制類型轉(zhuǎn)換
d1=i;
//隱式類型轉(zhuǎn)換
c1=(char)i;
//強(qiáng)制類型轉(zhuǎn)換
Console.WriteLine("i1={0:d5},d1={1:f},c1={2}",i1,d1,c1); i2=c; //隱式類型轉(zhuǎn)換
d2=(int)d; //強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換成整數(shù)后再隱式轉(zhuǎn)為double類型
c2=(char)d; //強(qiáng)制類型轉(zhuǎn)換
Console.WriteLine("i2={0:d5},d2={1:f},c2={2}",i2,d2,c2);}}}2.2.4裝箱和拆箱1.裝箱轉(zhuǎn)換裝箱轉(zhuǎn)換是指將一個(gè)值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個(gè)對象類型的數(shù)據(jù)。例如,下面語句就執(zhí)行了裝箱轉(zhuǎn)換:
inti=8;
objectobj=i;或
objectobj=(object)i;2.拆箱轉(zhuǎn)換拆箱轉(zhuǎn)換是指將一個(gè)對象類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個(gè)值類型數(shù)據(jù)。例如,下面語句就執(zhí)行了拆箱轉(zhuǎn)換:
objectobj=2;
inti=(int)obj;拆箱轉(zhuǎn)換需要(而且必須)執(zhí)行顯式轉(zhuǎn)換,這是它與裝箱轉(zhuǎn)換的不同之處。2.3C#中的變量和常量2.3.1變量1.變量定義在C#程序里使用某個(gè)變量之前,必須要告訴編譯器它是一個(gè)什么樣的變量,因此要對變量進(jìn)行定義。定義變量的方法如下:
[訪問修飾符]數(shù)據(jù)類型變量名[=初始值];例如:
stringname="王華";intage=20;也可以同時(shí)聲明一個(gè)或多個(gè)給定類型的變量,例如:
inta=1,b=2,c=3;2.理解值類型的變量如果一個(gè)變量的值是普通的類型,那么這個(gè)C#變量就是值類型的變量。值類型的變量直接把值存放在變量名標(biāo)記的存儲位置上。當(dāng)定義一個(gè)值類型變量并且給它賦值的時(shí)候,這個(gè)變量只能存儲相同類型的數(shù)據(jù)。所以,一個(gè)int類型的變量就只能存放int類型的數(shù)據(jù)。另外,當(dāng)把值賦給某個(gè)值類型的變量時(shí),C#會首先創(chuàng)建這個(gè)值的一個(gè)拷貝,然后把這個(gè)拷貝放在變量名所標(biāo)記的存儲位置上。例如:
intx;inty=2;x=y;3.理解引用類型的變量引用表示所使用的是變量或?qū)ο蟮牡刂范皇亲兞炕驅(qū)ο蟊旧怼.?dāng)聲明引用類型變量時(shí),程序只是分配了存放這個(gè)引用的存儲空間。要想創(chuàng)建對象并把對象的存儲地址賦給該變量,就需要使用new操作符。例如:
MyClassvar1; //MyClass是已定義的類或類型
var1=newMyClass();數(shù)組示例:
int[]a=newint[3]{1,2,3};for(inti=0;i<3;i++)Console.Write("{0}",a[i]);2.3.2常量1.直接常量直接常量是指把程序中不變的量直接硬編碼為數(shù)值或字符串值,例如,以下都是直接常量:
100 //整型直接常量
1.23e5 //浮點(diǎn)型直接常量2.符號常量符號常量是通過關(guān)鍵字const聲明的常量,包括常量的名稱和它的值。常量聲明的格式如下:
const數(shù)據(jù)類型常量名=初始值;
其中,“常量名”必須是C#的合法標(biāo)識符,在程序中通過常量名來訪問該常量?!邦愋蜆?biāo)識符”指示了所定義的常量的數(shù)據(jù)類型,而“初始值”是所定義的常量的值。例如:
constdoublePI=3.14159265;2.5C#運(yùn)算符和表達(dá)式2.5.1算術(shù)運(yùn)算符符號意義示例+加法運(yùn)算a+b?減法/取負(fù)運(yùn)算a?b*乘法運(yùn)算a*b/除法運(yùn)算a/b%取余數(shù)a%b++累加a++??遞減a?
?2.5.2字符串運(yùn)算符字符串運(yùn)算符只有一個(gè),就是加號(+)。它除了作為算術(shù)運(yùn)算符之外,還可以將字符串連接起來,變成合并的新字符串。例如:
strings="Hello";s=s+",World.";Console.WriteLine(s);//輸出:Hello,World.2.5.3賦值運(yùn)算符賦值運(yùn)算符(=)用于改變變量的值,它先求出右側(cè)表達(dá)式的結(jié)果,然后再將結(jié)果賦給左側(cè)的變量。符號意義示例+=加賦值a+=b等價(jià)于a=a+b-=減賦值a-=b等價(jià)于a=a-b*=乘賦值a*=b等價(jià)于a=a*b/=除賦值a/=b等價(jià)于a=a/b%=取模賦值a%=b等價(jià)于a=a%b<<=左移賦值a<<=b等價(jià)于a=a<<b>>=右移賦值a>>=b等價(jià)于a=a>>b&=與賦值a&=b等價(jià)于a=a&b^=異或賦值a^=b等價(jià)于a=a^b|=或賦值a|=b等價(jià)于a=a|b2.5.4關(guān)系運(yùn)算符符號意義示例<小于2<3為true<=小于等于2<=3為true>大于2>3為false>=大于等于2>=3為false==等于2==3為false!=不等于2!=3為true2.5.5邏輯運(yùn)算符符號意義示例!邏輯非!(2<3)為false&&邏輯與(3<5)&&(5>4)為true||邏輯或(3<5)||(5>4)為true2.5.6位運(yùn)算符符號意義示例~按位求反!2<<左移8<<2>>右移8>>2&按位與8&5^按位異或8^5|按位或8|52.5.7條件運(yùn)算符條件運(yùn)算符是一個(gè)三元運(yùn)算符,每個(gè)操作數(shù)同時(shí)又是表達(dá)式的值。由條件運(yùn)算符構(gòu)成的表達(dá)式稱為條件表達(dá)式。條件運(yùn)算符的使用格式如下:
表達(dá)式1?表達(dá)式2:表達(dá)式3
它的計(jì)算方式為,先計(jì)算“表達(dá)式1”(必須為布爾值)的值,如果其值true,則“表達(dá)式2”的值作為整個(gè)表達(dá)式的最終結(jié)果;否則“表達(dá)式3”的值作為整個(gè)表達(dá)式的值。例如,以下表達(dá)式返回a和b中的最大值:
max=a>b?a:b計(jì)算過程是,當(dāng)a>b,max=a;否則max=b。2.5.9運(yùn)算符的優(yōu)先級運(yùn)算符的優(yōu)先級是指在表達(dá)式中哪一個(gè)運(yùn)算符應(yīng)該首先計(jì)算。
C#根據(jù)運(yùn)算符的優(yōu)先級確定表達(dá)式的求值順序:優(yōu)先級高的運(yùn)算先做,優(yōu)先級低的操作后做,相同優(yōu)先級的操作從左到右依次做,同時(shí)用小括號控制運(yùn)算順序,任何在小括號內(nèi)的運(yùn)算最優(yōu)先進(jìn)行。2.6C#中常用類和結(jié)構(gòu)C#中一切都是對象。2.6.1String類屬性說明Chars獲取此字符串中位于指定字符位置的字符。Length獲取此字符串中的字符數(shù)。string類型是.NETFramework中的String類的別名。string類型定義了相等運(yùn)算符(==和!=)用于比較兩個(gè)string對象,叧外,+運(yùn)算符用于連接字符串,[]運(yùn)算符可以用來訪問string中的各個(gè)字符。方法說明Compare靜態(tài)方法。比較兩個(gè)指定的String對象CompareTo非靜態(tài)方法。將此字符串與指定的對象或String進(jìn)行比較,并返回兩者相對值的指示Concat靜態(tài)方法。連接String的一個(gè)或多個(gè)字符串Contains非靜態(tài)方法。返回一個(gè)值,該值指示指定的String對象是否出現(xiàn)在此字符串中Equals非靜態(tài)方法。確定兩個(gè)String對象是否具有相同的值Format靜態(tài)方法。將指定的String中的每個(gè)格式項(xiàng)替換為相應(yīng)對象的值的文本等效項(xiàng)IndexOf非靜態(tài)方法。返回String或一個(gè)或多個(gè)字符在此字符串中的第一個(gè)匹配項(xiàng)的索引Insert非靜態(tài)方法。在該String中的指定索引位置插入一個(gè)指定的StringRemove非靜態(tài)方法。從該String中刪除指定個(gè)數(shù)的字符Replace非靜態(tài)方法。將該String中的指定String的所有匹配項(xiàng)替換為其他指定的StringSplit非靜態(tài)方法。返回包含該String中的子字符串(由指定Char或String數(shù)組的元素分隔)的String數(shù)組Substring非靜態(tài)方法。從此字符串中檢索子字符串ToLower非靜態(tài)方法。返回該String轉(zhuǎn)換為小寫形式的副本ToUpper非靜態(tài)方法。返回該String轉(zhuǎn)換為大寫形式的副本Trim非靜態(tài)方法。從此字符串的開始位置和末尾移除一組指定字符的所有匹配項(xiàng)【例2.7】設(shè)計(jì)一個(gè)控制臺程序求用戶輸入的子串在主串中位置。usingSystem;namespaceProj3_6{classProgram{staticvoidMain(string[]args){ Stringmstr,sstr; Console.Write("輸入主串:"); mstr=Console.ReadLine(); Console.Write("輸入子串:"); sstr=Console.ReadLine(); Console.WriteLine("主串長度={0},子串長度={1}",mstr.Length,sstr.Length); if(String.Compare(mstr,sstr)!=0)
//使用靜態(tài)方法
Console.WriteLine("位置:{0}",mstr.IndexOf(sstr)); elseConsole.WriteLine("兩個(gè)字符串相同");}}}使用Parse()進(jìn)行轉(zhuǎn)換字符串和數(shù)值型的互相轉(zhuǎn)換intfloatdoublestringint.Parse()float.Parse()double.Parse()ToString()必須是數(shù)字的有效表示形式!2.6.2
Math類
Math類位于System命名空間中,它包含了實(shí)現(xiàn)C#中常用算術(shù)運(yùn)算功能的方法,這些方法都是靜態(tài)方法,可通過“Math.方法名(參數(shù))”來使用。2.6.3Convert類
Convert類位于System命名空間中,用于將一個(gè)值類型轉(zhuǎn)換成另一個(gè)值類型。這些方法都是靜態(tài)方法,可通過“Convert.方法名(參數(shù))”來使用。ToBoolean將數(shù)據(jù)轉(zhuǎn)換成Boolean類型ToDataTime將數(shù)據(jù)轉(zhuǎn)換成日期時(shí)間類型ToInt16將數(shù)據(jù)轉(zhuǎn)換成16位整數(shù)類型ToInt32將數(shù)據(jù)轉(zhuǎn)換成32位整數(shù)類型ToInt64將數(shù)據(jù)轉(zhuǎn)換成64位整數(shù)類型ToNumber將數(shù)據(jù)轉(zhuǎn)換成Double類型ToObject將數(shù)據(jù)轉(zhuǎn)換成Object類型ToString將數(shù)據(jù)轉(zhuǎn)換成string類型2.6.4DateTime結(jié)構(gòu)
DateTime結(jié)構(gòu)類位于System命名空間中,DateTime值類型表示值范圍在公元0001年1月1日午夜12:00:00到公元9999年12月31日晚上11:59:59之間的日期和時(shí)間??梢酝ㄟ^以下語法格式定義一個(gè)日期時(shí)間變量:
DateTime日期時(shí)間變量=newDateTime(年,月,日,時(shí),分,秒);例如,以下語句定義了2個(gè)日期時(shí)間變量:
DateTimed1=newDateTime(2009,10,1);
DateTimed2=newDateTime(2009,10,1,8,15,20);
其中,d1的值為2009年10月1日零點(diǎn)零分零秒,d2的值為2009年10月1日8點(diǎn)15分20秒。屬性說明Date獲取此實(shí)例的日期部分Day獲取此實(shí)例所表示的日期為該月中的第幾天DayOfWeek獲取此實(shí)例所表示的日期是星期幾DayOfYear獲取此實(shí)例所表示的日期是該年中的第幾天Hour獲取此實(shí)例所表示日期的小時(shí)部分Millisecond獲取此實(shí)例所表示日期的毫秒部分Minute獲取此實(shí)例所表示日期的分鐘部分Month獲取此實(shí)例所表示日期的月份部分Now獲取一個(gè)DateTime對象,該對象設(shè)置為此計(jì)算機(jī)上的當(dāng)前日期和時(shí)間,表示為本地時(shí)間Second獲取此實(shí)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具設(shè)計(jì)開發(fā)合同
- 娛樂設(shè)備買賣協(xié)議
- 安全技能培訓(xùn)
- 支部團(tuán)員會議課件
- 執(zhí)法案卷培訓(xùn)
- 實(shí)驗(yàn)室管理系統(tǒng)介紹
- 阿克蘇職業(yè)技術(shù)學(xué)院《組織學(xué)與胚胎學(xué)(B)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年小班保育員上學(xué)期工作總結(jié)模版
- 護(hù)理質(zhì)控組長述職與競聘
- 陜西中醫(yī)藥大學(xué)《現(xiàn)代食品工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)人力資源管理師(四級)教材
- 教科版六年級下冊科學(xué)第一單元測試卷(原卷版)
- 【教學(xué)課件】正確行使訴訟權(quán)利-示范課件
- 促進(jìn)市級醫(yī)院臨床技能與臨床創(chuàng)新三年行動(dòng)計(jì)劃
- 主觀幸福感(GWB)量表
- 臨床試驗(yàn)疑難問題解答
- Word版中國空白地圖大全
- 玻璃纖維生產(chǎn)工藝流程培訓(xùn)
- 中國神經(jīng)外科重癥患者氣道管理
- 機(jī)電安裝總進(jìn)計(jì)劃橫道圖
- 精美教案封面(共1頁)
評論
0/150
提交評論