第二章-C#語言基礎(chǔ)_第1頁
第二章-C#語言基礎(chǔ)_第2頁
第二章-C#語言基礎(chǔ)_第3頁
第二章-C#語言基礎(chǔ)_第4頁
第二章-C#語言基礎(chǔ)_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021/3/261第二章 C#語言基礎(chǔ)22021/3/262.1 關(guān)鍵字、標(biāo)識符和注釋n關(guān)鍵字是系統(tǒng)預(yù)定義的保留字關(guān)鍵字是系統(tǒng)預(yù)定義的保留字,是程序設(shè)計是程序設(shè)計語言中具有特殊含義的字符序列。語言中具有特殊含義的字符序列。nC#中不允許將關(guān)鍵字用做標(biāo)識符。中不允許將關(guān)鍵字用做標(biāo)識符。nC#語言共有76個關(guān)鍵字。nIf 、for、class、catch、try、unsafe、base、this、 return。2.1.1 關(guān)鍵字32021/3/26n標(biāo)識符可以用作變量、對象、類、結(jié)構(gòu)、枚舉、類型和函數(shù)等的名字。n標(biāo)識符由字母、數(shù)字、下劃線和Unicode字符組成,數(shù)字?jǐn)?shù)字不能作為首字符不能作為

2、首字符。n標(biāo)識符不能與關(guān)鍵字相同,如與關(guān)鍵字相同,則在前面加上,如:class。n標(biāo)識符長度可達(dá)1023個字符。n在在C#大小寫字母分別代表不同的標(biāo)識符。大小寫字母分別代表不同的標(biāo)識符。2.1.2 標(biāo)識符匈牙利表示法匈牙利表示法:iBookNumb駱駝表示法駱駝表示法:bookTitle、tonOfGoodsPascal表示法表示法:TonOfGoods建議建議:命名變量用駱駝標(biāo)識法命名變量用駱駝標(biāo)識法;命名方法、方法的參數(shù)名、類、對象等用命名方法、方法的參數(shù)名、類、對象等用Pascal表示法。表示法。建議不再使用匈牙利命名法建議不再使用匈牙利命名法,不再使用下劃線不再使用下劃線42021/3

3、/26C#中的標(biāo)識符命名規(guī)則n規(guī)則一規(guī)則一 (Pascal表示法)表示法)類名和函數(shù)名用大寫字母開頭的單詞組合而成。類名和函數(shù)名用大寫字母開頭的單詞組合而成。 class Node;/類名類名 class LeafNode;/類名類名 void Draw(void);/函數(shù)名函數(shù)名 void SetValue(int value);/函數(shù)名函數(shù)名52021/3/26n規(guī)則二(駱駝表示法)規(guī)則二(駱駝表示法)變量和參數(shù)用小寫字母開頭的單詞組合而成。變量和參數(shù)用小寫字母開頭的單詞組合而成。 Bool flag; Int drawMode;n規(guī)則三規(guī)則三常量全用大寫的單詞常量全用大寫的單詞,用下劃線

4、分割單詞。用下劃線分割單詞。 const int MAX=100; const int MAX_LENGTH=100;62021/3/26nC#中有三種注釋形式:單行注釋、多行注釋和XML注釋。n單行注釋:/n多行注釋:/* 和*/nXML注釋:/nXML(Extensible Markup Language,即可擴展標(biāo)記語言 )。2.1.3 注釋72021/3/26nXML:描述結(jié)構(gòu)化信息的標(biāo)記語言,是數(shù)據(jù)交換的標(biāo)準(zhǔn)。nXML優(yōu)點:表現(xiàn)力強,成為數(shù)據(jù)交換技術(shù)的最佳途徑。C#程序采用XML注釋產(chǎn)生文檔化代碼n形式:XML注釋采用以三個斜杠開始直到行尾。如: (參考書P41)n/GradeCom

5、pting is a method in then/Credit Management82021/3/26新建函數(shù): / / 計算兩個數(shù)的和 / / 第一個數(shù) / 第二個數(shù) / 整型,和 public int sum(int a,int b) int c; c = a + b; return b; private void button1_Click(object sender, EventArgs e) int c; c=sum(9, 6); System.Windows.Forms.MessageBox.Show(Convert.ToString(c); 92021/3/262.2數(shù)據(jù)類型

6、值值類類型型類類型型引引用用類類型型簡單類型簡單類型用戶自定義類型用戶自定義類型枚舉類型枚舉類型類類接口接口委托委托數(shù)組數(shù)組圖圖2.1 C#的類型系統(tǒng)的類型系統(tǒng) 值類型值類型直接存放真正的數(shù)直接存放真正的數(shù)據(jù)據(jù), ,值類型都有固定的長度值類型都有固定的長度, ,比比如如intint占用占用4 4個字節(jié)個字節(jié), ,值類型的值類型的變量保存在棧上。作為值類型變量保存在棧上。作為值類型的變量的變量, ,每個都有自己的數(shù)據(jù)每個都有自己的數(shù)據(jù), ,因此對一個變量的操作不會影因此對一個變量的操作不會影響其它變量。響其它變量。 引用類型引用類型的值放在堆中的值放在堆中, ,在在棧中存放它們在堆上的地址棧中存

7、放它們在堆上的地址, ,這樣的地址稱為引用。這樣的地址稱為引用。堆用于堆用于存儲可變長度的數(shù)據(jù)存儲可變長度的數(shù)據(jù), ,能夠自能夠自由的插入和刪除數(shù)據(jù)。由的插入和刪除數(shù)據(jù)。102021/3/26存放對象的區(qū)域:棧和堆n所有對象的名和一些基本信息:存放棧中;n某些類型的對象的值:存放棧棧中,與基本信息在一起。(值類型)n某些對象的值:存放堆堆中,在棧中存放他們在堆中的地址,這樣的地址稱為引用引用。當(dāng)存取這些值時,首先從棧中獲取他們的地址,然后再進(jìn)行存取操作。n棧:先進(jìn)先出,出棧/入棧在一端進(jìn)行,是一種簡單的數(shù)據(jù)結(jié)構(gòu)。n堆:存取復(fù)雜。n垃圾回收:當(dāng)對象生命周期結(jié)束后,首先該對象在堆中的數(shù)據(jù)應(yīng)該不能再

8、被使用,其次該區(qū)域應(yīng)該和其他可利用區(qū)域連成一片以備它用。nC#自動內(nèi)存管理:程序員不許直接分配和釋放對象所占的內(nèi)存空間,系統(tǒng)由垃圾回收器自動地回收堆中的碎片,形成可利用區(qū)。112021/3/26值類型和引用類型的區(qū)別值類型值類型引用類型引用類型變量中存放變量中存放真正的數(shù)據(jù)真正的數(shù)據(jù)指向數(shù)據(jù)的引用指針指向數(shù)據(jù)的引用指針內(nèi)存空間配置內(nèi)存空間配置棧(棧(StackStack) 受管制的堆(受管制的堆(Managed HeapManaged Heap內(nèi)存需求內(nèi)存需求較少較少較多較多執(zhí)行效率執(zhí)行效率較快較快較慢較慢內(nèi)存釋放內(nèi)存釋放執(zhí)行超過定義執(zhí)行超過定義由垃圾回收機制自動處理由垃圾回收機制自動處理時間

9、點時間點變量的作用域時變量的作用域時可以為可以為nullnull不可以不可以可以可以122021/3/262.2.1 C#的值類型:基本型基本型:包括整型、浮點型、小數(shù)型、布爾型,這些類型與其它語言的基本數(shù)據(jù)類型相似。結(jié)構(gòu)型結(jié)構(gòu)型:適用于創(chuàng)建小型對象。枚舉型枚舉型:除char類型以外的其它常數(shù)組成的列表類型。 132021/3/26基本型(14種)類型類型長度長度(字節(jié)數(shù))(字節(jié)數(shù)).NET類型類型(運行時類型)(運行時類型)說明說明byte1byte無符號字節(jié)型無符號字節(jié)型sbyte1sbyte有符號字節(jié)型有符號字節(jié)型short2int16有符號短字節(jié)型有符號短字節(jié)型ushort2uint1

10、6無符號短字節(jié)型無符號短字節(jié)型Int4Int32有符號的整型有符號的整型uint4uint32無符號的整型無符號的整型long8Int64有符號的長整型有符號的長整型ulong8uint64無符號的長整型無符號的長整型float4single浮點型浮點型double8double雙精度型雙精度型decimal16decimal固定精度型固定精度型stringstringUnicode字符串字符串charcharUnicode字符字符boolbooleanBoolean型型142021/3/26例如:Int number=80Long number1=-123Ulong number2=-60F

11、loat sum=3.14fDecimal price=28.56mString s=“Hello”Char value=hChar a=u0032Bool value=true;152021/3/26結(jié)構(gòu)型結(jié)構(gòu)型n用來存放相關(guān)聯(lián)的一類數(shù)據(jù)用來存放相關(guān)聯(lián)的一類數(shù)據(jù),是對同一是對同一類具有某些特定屬性和功能的對象的類具有某些特定屬性和功能的對象的抽象定義抽象定義。n定義中可以包括定義中可以包括,成員變量、成員函數(shù)、成員變量、成員函數(shù)、成員屬性等。成員屬性等。n同同C#中的類類型基本相同。中的類類型基本相同。162021/3/26n結(jié)構(gòu)類型的定義格式與功能【格式】: struct stu 成員聲明

12、成員聲明; 【功能】:定義一個名為“stu”的結(jié)構(gòu)體,該類型包含的成員由“成員聲明”來確定。172021/3/26n舉例: struct student public string name; public int age; 實際上程序中使用的不是結(jié)構(gòu)類型,而是結(jié)構(gòu)類型。182021/3/26n聲明結(jié)構(gòu)變量的格式和功能:【格式】: 結(jié)構(gòu)類型名結(jié)構(gòu)類型名 結(jié)構(gòu)變量名結(jié)構(gòu)變量名;例例:student stu;/創(chuàng)建名為創(chuàng)建名為stu的結(jié)構(gòu)類型變量。的結(jié)構(gòu)類型變量。192021/3/26在程序中要訪問結(jié)構(gòu)類型變量的成員: 結(jié)構(gòu)類型變量名結(jié)構(gòu)類型變量名.成員名成員名; 舉例:stu.age=15;/給

13、給stu的的age成員賦值成員賦值15。202021/3/26n結(jié)構(gòu)類型與類類型的區(qū)別結(jié)構(gòu)類型與類類型的區(qū)別:1)存儲值的不同)存儲值的不同n 結(jié)構(gòu)類型是結(jié)構(gòu)類型是,而類類型是而類類型是n 結(jié)構(gòu)類型結(jié)構(gòu)類型的變量的變量,系統(tǒng)存儲該變量的系統(tǒng)存儲該變量的值值。n 類類型類類型的變量的變量,系統(tǒng)存儲的是一個系統(tǒng)存儲的是一個地址地址,此地此地址指向該變量具體的值址指向該變量具體的值,多了一層尋址。多了一層尋址。212021/3/262)調(diào)用函數(shù)時)調(diào)用函數(shù)時,參數(shù)傳遞不同參數(shù)傳遞不同n傳送結(jié)構(gòu)變量給函數(shù)時傳送結(jié)構(gòu)變量給函數(shù)時,傳送的是此變量的傳送的是此變量的值值,在函數(shù)內(nèi)部即使此參數(shù)的值被修改在函數(shù)

14、內(nèi)部即使此參數(shù)的值被修改,原先原先變量的值也不會受到影響變量的值也不會受到影響;n傳送類類型的變量給函數(shù)時傳送類類型的變量給函數(shù)時,傳送的是此變傳送的是此變量的地址量的地址,此函數(shù)內(nèi)任何對此參數(shù)的修改都此函數(shù)內(nèi)任何對此參數(shù)的修改都將會在函數(shù)調(diào)用結(jié)束后在原先的變量中反映將會在函數(shù)調(diào)用結(jié)束后在原先的變量中反映出來。出來。222021/3/26class example struct student/定義一個學(xué)生結(jié)構(gòu)類型定義一個學(xué)生結(jié)構(gòu)類型 public int no; public string name; public int age;public static void Main() stud

15、ent stu; /根據(jù)學(xué)生結(jié)構(gòu)類型創(chuàng)建變量根據(jù)學(xué)生結(jié)構(gòu)類型創(chuàng)建變量stu System.Console.Write(請輸入學(xué)號請輸入學(xué)號:); stu.no = System.Convert.ToInt32(System. Console.ReadLine(); System. Console.Write(請輸入姓名請輸入姓名:);/輸入姓名輸入姓名 = System. Console.ReadLine(); System. Console.Write(請輸入年齡請輸入年齡:);/輸入年齡輸入年齡 stu.age = System. Convert.ToInt32(Syst

16、em. Console.ReadLine(); /輸出學(xué)生的學(xué)號、姓名和年齡輸出學(xué)生的學(xué)號、姓名和年齡 System. Console.WriteLine(學(xué)號學(xué)號:0,姓名姓名:1,年齡年齡:2, stu.no, , stu.age); ClassTest.cs舉例舉例:編寫實現(xiàn)從鍵盤上輸入編寫實現(xiàn)從鍵盤上輸入一個學(xué)生的學(xué)號、姓名和年一個學(xué)生的學(xué)號、姓名和年齡齡,然后輸出剛剛輸入的學(xué)生然后輸出剛剛輸入的學(xué)生學(xué)號、姓名和年齡。學(xué)號、姓名和年齡。232021/3/26public class Student1 public string name; public int age;

17、 public struct student public string name; public int age; public void ChangeName(Student1 a) = xxxx; public void ChangeName(student a) =xxxx; private void button1_Click(object sender, EventArgs e) student stu=new student(); = zhang san; ChangeName(stu); MessageBox.Show(stu.nam

18、e); Student1 stu1 = new Student1(); = Li si; ChangeName(stu1); MessageBox.Show(); 值類型和引用類型的比較:242021/3/26枚舉型枚舉型【格式】:【枚舉修飾符】enum 枚舉類型名枚舉常量1,枚舉常量2,枚舉常量n;【功能】: 定義一個名為“枚舉類型名”的枚舉類型。252021/3/26【說明說明】:1)“枚舉類型名枚舉類型名”和和“枚舉常量枚舉常量”都是標(biāo)識都是標(biāo)識符符,他們均應(yīng)符合標(biāo)志符的取名規(guī)則。枚舉常他們均應(yīng)符合標(biāo)志符的取名規(guī)則。枚舉常量的值依次為量的值依次為0、

19、1、n-1。例例:enum weekday sun, mon, tue, wed, thu, fri, sat;對應(yīng)的整數(shù)分別為對應(yīng)的整數(shù)分別為:0、1、2、3、4、5、6。2)枚舉修飾符有五類)枚舉修飾符有五類,分別是分別是new、public、protected、internal和和private。262021/3/26C#中規(guī)定中規(guī)定,在定義枚舉型的同時可以給枚舉常在定義枚舉型的同時可以給枚舉常量符初值量符初值,如如: enum weekday sun, mon, tue=8, wed, thu=13, fri, sat;則枚舉常量的初值為則枚舉常量的初值為: sun=0, mon=1,

20、 tue=8, wed=9, thu=13, fri=14, sat=15。在在C和和C+中中,每個枚舉值是不能重復(fù)的每個枚舉值是不能重復(fù)的,但在但在C#中中,賦任意值給枚舉常量均是可以的賦任意值給枚舉常量均是可以的,并且并且允許兩個枚舉常量值相同。允許兩個枚舉常量值相同。如如:enum weekday sun, mon, tue=8, wed, thu=13, fri=8, sat;272021/3/26n一般在程序中使用的是枚舉一般在程序中使用的是枚舉變量變量,語句格式語句格式如下如下: 枚舉類型名枚舉類型名 變量名變量名;定義了枚舉型變量后定義了枚舉型變量后,可以給枚舉型變量賦值可以給枚

21、舉型變量賦值,需要注意的是需要注意的是:只能給枚舉型變量賦枚舉常只能給枚舉型變量賦枚舉常量量,或把相應(yīng)的整數(shù)強制轉(zhuǎn)換為枚舉類型再或把相應(yīng)的整數(shù)強制轉(zhuǎn)換為枚舉類型再賦值賦值。同樣同樣,也不可把一個枚舉常量不加轉(zhuǎn)換地再賦也不可把一個枚舉常量不加轉(zhuǎn)換地再賦給一個整數(shù)變量給一個整數(shù)變量,必須強制轉(zhuǎn)換為整型后才必須強制轉(zhuǎn)換為整型后才能賦值。能賦值。282021/3/26enum weekday sun, mon, tue=4, wed, thu=15, fri, sat;nweekday day1;nint x;nday1=weekday. thu;nday1=16 nday1=(weekday)16;

22、 nx= weekday.thu nx=(int)weekday.thu正確正確正確正確正確正確錯誤錯誤錯誤錯誤292021/3/262.4.2引用類型n1、對象類型、對象類型n2、類類型、類類型n3、接口、接口n4、委托、委托n5、字符串類型、字符串類型n6、數(shù)組、數(shù)組n7、裝箱和拆箱、裝箱和拆箱302021/3/262.4.2 引用類型5、字符串類型、字符串類型nC#中的字符串類型用于處理多字符數(shù)據(jù)。中的字符串類型用于處理多字符數(shù)據(jù)。n字符串字符串string類是預(yù)定義類類是預(yù)定義類System.String的的縮寫。在程序中使用縮寫。在程序中使用string或或System.String

23、作用是一樣的。作用是一樣的。n不能再從它派生類。不能再從它派生類。nstring類產(chǎn)生的實例是一個類產(chǎn)生的實例是一個Unicode字符串。字符串。312021/3/261)規(guī)則字符串規(guī)則字符串n由雙引號括起來的零個或多個字符組成的序列由雙引號括起來的零個或多個字符組成的序列;n字符串中可以包含某些轉(zhuǎn)移字符。功能如下字符串中可以包含某些轉(zhuǎn)移字符。功能如下:在在C#中中,字符串分為兩類字符串分為兩類:規(guī)則字符串和逐字字符串規(guī)則字符串和逐字字符串。【格式格式】: string str=“Hebut”;【功能功能】: 定義一個名為定義一個名為“str”的規(guī)則字符串變量的規(guī)則字符串變量,并給該變量并給該

24、變量賦一個由賦一個由“字符串初值字符串初值”確定的初值。確定的初值?!菊f明說明】: 可以包含如下所示的轉(zhuǎn)義字符序列(以可以包含如下所示的轉(zhuǎn)義字符序列(以“/”開開頭)頭),除此之外的其他轉(zhuǎn)義字符均不能使用除此之外的其他轉(zhuǎn)義字符均不能使用。322021/3/26轉(zhuǎn)義字符轉(zhuǎn)義字符 含義含義轉(zhuǎn)義字符轉(zhuǎn)義字符 含義含義單引號單引號()nLF(換行換行)”雙引號雙引號(”)rCR(回車回車)反斜杠反斜杠tHT(橫向挑格橫向挑格,相當(dāng)于相當(dāng)于Tab鍵鍵)0空字符空字符u后面跟八進(jìn)制數(shù)后面跟八進(jìn)制數(shù)a警示符警示符U同同ub退格鍵退格鍵x表示后面跟十六進(jìn)制數(shù)表示后面跟十六進(jìn)制數(shù)fFF(換頁鍵換頁鍵) vVT(

25、縱向跳格縱向跳格)332021/3/262)逐字字符串)逐字字符串逐字字符串由逐字字符串由字符后跟雙引號括起來的零個字符后跟雙引號括起來的零個或多個字符組成。或多個字符組成。【格式格式】: string str=”Hebut”;【功能功能】:定義一個名為定義一個名為“str”的逐字字符串的逐字字符串變量變量,并給該變量附一個由并給該變量附一個由“Hebut”確定的確定的初值。初值?!菊f明說明】:逐字字符串只對字符串中的逐字字符串只對字符串中的雙引號雙引號轉(zhuǎn)義字符轉(zhuǎn)義字符作為轉(zhuǎn)義字符進(jìn)行解釋作為轉(zhuǎn)義字符進(jìn)行解釋,其他轉(zhuǎn)義其他轉(zhuǎn)義字符一律作為單個字符進(jìn)行處理字符一律作為單個字符進(jìn)行處理,用戶定義用

26、戶定義成什么樣成什么樣,結(jié)果就是什么樣。結(jié)果就是什么樣。 string.cs342021/3/26nusing System;nclass examplenn public static void Main()n n string str1 = 你是你是王三王三?; /“”是轉(zhuǎn)義字符是轉(zhuǎn)義字符n string str2 = 星期一星期一星期二星期二星期三星期三;/是轉(zhuǎn)義字符是轉(zhuǎn)義字符n string str3 = 你好你好!t王三。王三。;/t是轉(zhuǎn)義字符是轉(zhuǎn)義字符n string str4 = 你好你好t王三王三?;/t并不看成轉(zhuǎn)義字符并不看成轉(zhuǎn)義字符,而是看成而是看成兩個字符兩個字符n st

27、ring str5=星期一星期一星期二星期二星期三星期三;/也不是轉(zhuǎn)義字符也不是轉(zhuǎn)義字符,而是看成兩個而是看成兩個“”n Console.WriteLine(str1=0,str2=1,str3=2, str1, str2, str3);n Console.WriteLine(str4=0,str5=1, str4, str5);n n352021/3/26string類型的常見操作方法類型的常見操作方法char ch=str10;/訪問字符串中的元素string str2=“Hello”+”World”;/字符串的連接if(str1=str2) /字符串的比較362021/3/26n6、數(shù)組

28、、數(shù)組1)一維數(shù)組的定義、分配和使用)一維數(shù)組的定義、分配和使用n定義定義【格式格式】: 數(shù)據(jù)類型符數(shù)據(jù)類型符 數(shù)組名數(shù)組名=new 數(shù)據(jù)類型符數(shù)據(jù)類型符長度長度;【舉例舉例】: int a=new int 10;等價等價:int a;/定義數(shù)組定義數(shù)組 a=new int 10;/給數(shù)組分配存儲空間給數(shù)組分配存儲空間 數(shù)組分配好后數(shù)組分配好后,數(shù)組元素被初始化數(shù)組元素被初始化:簡單數(shù)據(jù)類簡單數(shù)據(jù)類型被初始化為型被初始化為0,邏輯型被初始化為邏輯型被初始化為false,引用引用類型初始化為類型初始化為null。372021/3/26與與C和和C+不同的是不同的是,C#中的數(shù)組的大小可以動中的數(shù)

29、組的大小可以動態(tài)確定態(tài)確定,如如:int AL=6;int a=new int ALn初始化初始化【格式格式】:數(shù)據(jù)類型符數(shù)據(jù)類型符 數(shù)組名數(shù)組名=初值列表初值列表;【舉例舉例】:Int x=1,2,3,4;也可以寫成也可以寫成:int x=new int 1,2,3,4;n數(shù)組元素的引用數(shù)組元素的引用 數(shù)組名數(shù)組名下標(biāo)下標(biāo)382021/3/262)多維數(shù)組的定義、分配和使用)多維數(shù)組的定義、分配和使用 方形二維數(shù)組方形二維數(shù)組n定義與分配定義與分配 【格式格式】: 數(shù)據(jù)類型符數(shù)據(jù)類型符,數(shù)組名數(shù)組名=new 數(shù)據(jù)類型符數(shù)據(jù)類型符長度長度1,長度長度2; 【舉例舉例】: int , a=new

30、 int 3,4;等價于等價于:int ,a; a=new int 3,4;0 0 0 00 0 0 0 0 0 0 0a392021/3/26n賦初值賦初值【格式格式】:數(shù)據(jù)類型符數(shù)據(jù)類型符, 數(shù)組名數(shù)組名=初值列表初值列表1,初值列表初值列表2,初值列表初值列表n;【舉例舉例】:Int ,b=1,2,3,4,5,6,7,8,9,10,11,12;等價于等價于:int ,b=new int3,41,2,3,4,5,6,7,8,9,10,11,12;n元素引用元素引用數(shù)組名數(shù)組名下標(biāo)下標(biāo)1,下標(biāo)下標(biāo)2;1 2 3 45 6 7 89 10 11 12bInt i=b1,2 /i=7402021

31、/3/26參差數(shù)組參差數(shù)組與與C和和C+不同的是不同的是,在在C#中中,二維數(shù)組的每一二維數(shù)組的每一行的長度可以是不同的行的長度可以是不同的,每一行的元素個數(shù)每一行的元素個數(shù)均可以由用戶指定。每一行相當(dāng)于一個一均可以由用戶指定。每一行相當(dāng)于一個一維數(shù)組。維數(shù)組。參差數(shù)組參差數(shù)組的定義一般分為兩步的定義一般分為兩步,首先定義行數(shù)首先定義行數(shù)并分配行并分配行,然后定義每一行數(shù)組并分配空間。然后定義每一行數(shù)組并分配空間。412021/3/26n分配行分配行【格式格式】:數(shù)據(jù)類型符數(shù)據(jù)類型符 數(shù)組名數(shù)組名=new 數(shù)據(jù)類型符數(shù)據(jù)類型符行行數(shù)數(shù) ;【舉例舉例】: int b=new int 3 ;n各行

32、數(shù)組元素個數(shù)的分配各行數(shù)組元素個數(shù)的分配【格式格式】: 數(shù)組名數(shù)組名i=new 數(shù)據(jù)類型符數(shù)據(jù)類型符長度長度;【功能功能】:為參差數(shù)組的為參差數(shù)組的i行分配數(shù)組元素個數(shù)行分配數(shù)組元素個數(shù),元素個數(shù)由元素個數(shù)由“長度長度”指定。指定。422021/3/26【舉例】:Int b=new int 3 ;/定義具有定義具有3行的參差數(shù)組行的參差數(shù)組bb0=new int 2;/首行具有首行具有2個元素個元素b1=new int 3; /第二行具有第二行具有3個元素個元素b2=new int 4; /第三行具有第三行具有4個元素個元素n元素引用元素引用 數(shù)組名數(shù)組名下標(biāo)下標(biāo)1下標(biāo)下標(biāo)20 00 0 0

33、0 0 0 0b432021/3/262.4.3 數(shù)據(jù)類型轉(zhuǎn)換nC#中兩種類型的轉(zhuǎn)換:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。1)隱式類型轉(zhuǎn)換時,可以進(jìn)行隱式轉(zhuǎn)換,否則可能必須作顯示轉(zhuǎn)換。 Int ival=34; long lval=ival;442021/3/262)顯示轉(zhuǎn)換n使用使用目的類型轉(zhuǎn)換法目的類型轉(zhuǎn)換法轉(zhuǎn)換到目的類型的對象轉(zhuǎn)換到目的類型的對象:string str1=“123”;int int1=Int32.Parse(str1);n使用使用源類型轉(zhuǎn)換方法源類型轉(zhuǎn)換方法轉(zhuǎn)換到目的類型的對象轉(zhuǎn)換到目的類型的對象: int int1=123; string str1=int1.ToSt

34、ring();n使用強制類型轉(zhuǎn)換將源類型的對象轉(zhuǎn)換成為目的類型的對使用強制類型轉(zhuǎn)換將源類型的對象轉(zhuǎn)換成為目的類型的對象象: int int1=123;short sot1=(short)int1;n使用使用Convert類的方法作顯示轉(zhuǎn)換類的方法作顯示轉(zhuǎn)換 string str1=“123”;int int1=Convert.ToInt32(str1); int int1=123; string str1=Convert.ToString(int1); int int1=123;short sot1=Convert.ToInt16(int1);452021/3/262.5 常量和變量n變量的聲

35、明方法變量的聲明方法: 數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名, int a=50; float b,c,d; string s; object stu;462021/3/262.5 常量和變量n常量的聲明方法常量的聲明方法: const 數(shù)據(jù)類型數(shù)據(jù)類型 常量名常量名=常量值常量值; const int MAX=100;472021/3/262.6 運算符類別類別運算符運算符基本基本x.y f(x) ax x+ x new typeof checked unchecked一元一元+ - ! +x -x (T)x乘除法乘除法* / %加減法加減法+ -移位移位 (i2)關(guān)系和類型檢測關(guān)系和類型檢測 =

36、 is as相等相等= !=邏輯邏輯AND &邏輯邏輯OXR邏輯邏輯 OR|條件條件 AND&條件條件 OR|條件條件?:賦值賦值= *= /= %= += - = = &= = |=482021/3/262.7 控制語句n1、條件語句1)if語句語句 2)else-if 語句語句If(條件表達(dá)式)(條件表達(dá)式) if(條件表達(dá)式)(條件表達(dá)式) 語句語句1; 語句語句1;else else if(條件表達(dá)式條件表達(dá)式) 語句語句2; 語句語句2; else if (條件表達(dá)式條件表達(dá)式) 語句語句3; else 語句語句n;492021/3/26例2-1/statem

37、ents_if_else2.cs/else_ifusing System;public class IfTest public static void Main() Console.Write(Enter a character:); char c = (char)Console.Read( ); e2_1.cs502021/3/26if (Char.IsUpper(c) /指示指定的指示指定的 Unicode 字符是否屬于大寫字母類別字符是否屬于大寫字母類別 Console.WriteLine(The character is uppercase.); else if (Char.IsLow

38、er(c) Console.WriteLine(The character is lowercase.); else if (Char.IsDigit(c) Console.WriteLine(The character is a number.); else Console.WriteLine(The character is not alphanumeric.); 512021/3/263)條件運算符條件運算符 條件條件?語句語句1:語句語句2 AB?MAX=A:MAX=B等價于等價于: if(條件)(條件) 語句語句1; else 語句語句2;2.7 控制語句522021/3/262.7

39、 控制語句4)switch 語句語句switch(條件條件) case 常量表達(dá)式常量表達(dá)式1; 語句語句1; break; case 常量表達(dá)式常量表達(dá)式2; 語句語句2; break; default: 語句語句n; break;條件條件:為一個整型或字符串表達(dá)式。為一個整型或字符串表達(dá)式。語句語句:為控制傳遞個為控制傳遞個case或或default時執(zhí)行的嵌入語句。時執(zhí)行的嵌入語句。常量表達(dá)式常量表達(dá)式:為根據(jù)此表達(dá)式的值將為根據(jù)此表達(dá)式的值將控制傳遞給特定的控制傳遞給特定的case。例例2-1 e2_2.cs532021/3/26 Console.WriteLine(Coffee si

40、zes:1=Small 2=Medium 3=Large); Console.Write(Please enter your selection:); string s=Console.ReadLine(); int n=int.Parse(s);將字符串類型轉(zhuǎn)換成將字符串類型轉(zhuǎn)換成 int類型類型 int cost=0; 542021/3/26switch(n) case 1: cost+=25; break; case 2: cost+=25; goto case 1; case 3: cost+=50; goto case 1; default: Console.WriteLine(In

41、valid selection. Please select 1,2 or 3); break; if (cost!=0) Console.WriteLine(Please insert 0 cents.,cost); Console.WriteLine(Thank you for your business.);552021/3/262.7 控制語句n2 2、循環(huán)語句、循環(huán)語句1 1)for for 語句語句for for 語句的形式語句的形式: :for (for (初始化條件表達(dá)式初始化條件表達(dá)式 ; ; 表達(dá)式表達(dá)式11; ; 表達(dá)式表達(dá)式2)2)語句語句; ;“初始化條件表達(dá)式初始化條件表達(dá)式”: :為初始化循環(huán)計數(shù)器的表達(dá)為初始化循環(huán)計數(shù)器的表達(dá)式或賦值語句的逗號分隔列表。式或賦值語句的逗號分隔列表。“表達(dá)式表達(dá)式1 1”: :為一個表達(dá)式為一個表達(dá)式, ,可隱式轉(zhuǎn)換為可隱式轉(zhuǎn)換為boolbool或包或包含重載含重載truetrue和和falsefalse運算符的類型。此表達(dá)式用于運算符的類型。此表達(dá)式用于測試循環(huán)終止條件。測試循環(huán)終止條件。“表達(dá)式表達(dá)式2 2”: :為遞增或遞減

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論