版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C#程序設(shè)計(jì)1ppt課件C#程序設(shè)計(jì)1ppt課件
課程安排課時(shí):36=18課堂教學(xué)+18項(xiàng)目實(shí)戰(zhàn)學(xué)分:2.5考核方式:平時(shí)成績30%期末考試70%2ppt課件課程安排課時(shí):36=18課堂教學(xué)+18項(xiàng)目實(shí)精品資料精品資料你怎么稱呼老師?如果老師最后沒有總結(jié)一節(jié)課的重點(diǎn)的難點(diǎn),你是否會(huì)認(rèn)為老師的教學(xué)方法需要改進(jìn)?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風(fēng)雨狂,只怕先生罵我笨,沒有學(xué)問無顏見爹娘……”“太陽當(dāng)空照,花兒對我笑,小鳥說早早早……”C#程序設(shè)計(jì)課件精品資料精品資料你怎么稱呼老師?如果老師最后沒有總結(jié)一節(jié)課的重點(diǎn)的難點(diǎn),你是否會(huì)認(rèn)為老師的教學(xué)方法需要改進(jìn)?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風(fēng)雨狂,只怕先生罵我笨,沒有學(xué)問無顏見爹娘……”“太陽當(dāng)空照,花兒對我笑,小鳥說早早早……”C#程序設(shè)計(jì)課件
教材ISBN:9787302287513ISBN:97871210889407ppt課件教材ISBN:9787302287513ISB
課程內(nèi)容三大模塊1.C#基礎(chǔ)知識(shí)2.C#核心技術(shù)3.C#項(xiàng)目實(shí)戰(zhàn)8ppt課件課程內(nèi)容三大模塊1.C#基礎(chǔ)知識(shí)8ppt課件
0.基礎(chǔ)知識(shí)
硬件
(鍵盤、屏幕、硬盤、內(nèi)存、中央處理器……),摩爾定律軟件
(各種運(yùn)行程序,如操作系統(tǒng),財(cái)務(wù)軟件,文字處理軟件……)操作系統(tǒng)類別(Windows,Linux,Unix,安卓,IOS……)9ppt課件0.基礎(chǔ)知識(shí)9ppt課件
0.基礎(chǔ)知識(shí)
程序設(shè)計(jì)語言
機(jī)器語言:
130004277414005934191200274027
匯編語言:LoadBasePAYAddOverPAYStoreGrossPAY高級(jí)語言:
GrossPay=BasePay+OverPay10ppt課件0.基礎(chǔ)知識(shí)10ppt課件
0.基礎(chǔ)知識(shí)
程序設(shè)計(jì)語言VisualBasic(Basic+GUI)CC++Java(1991)
兩個(gè)體系:J2EE和.NETFortranCobolPascal11ppt課件0.基礎(chǔ)知識(shí)11ppt課件
0.基礎(chǔ)知識(shí)
互聯(lián)網(wǎng)技術(shù)TCP:TransmissionControlProtocolIP:InternetProtocolHTML:HyperTextMarkupLanguageHTTP:HyperTextTransferProtocolXML:eXtensibleMarkupLanguageSOAP:SimpleObjectAccessProtocol12ppt課件0.基礎(chǔ)知識(shí)12ppt課件
1.C#語言及其特點(diǎn)
C#是微軟公司設(shè)計(jì)的一種編程語言,是從C、C++、Java派生來的一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言,并且能夠與.NET框架完美結(jié)合.C#近幾年的發(fā)展走勢如圖所示,它的突出特點(diǎn)如下:語法簡潔。徹底的面向?qū)ο笤O(shè)計(jì)。與Web緊密結(jié)合。強(qiáng)大的安全性機(jī)制。兼容性。靈活的版本處理技術(shù)。完善的錯(cuò)誤、異常處理機(jī)制。13ppt課件1.C#語言及其特點(diǎn)C#是微軟公司設(shè)計(jì)的一種編
1.C#與.NET框架C#是事件驅(qū)動(dòng)的可視化編程語言
.NET框架是微軟公司推出的一個(gè)全新的編程平臺(tái),目前的版本是4.0。C#是專門為與微軟公司的.NET
Framework一起使用而設(shè)計(jì)的(.NETFramework是一個(gè)功能非常豐富的平臺(tái),可開發(fā)、部署和執(zhí)行分布式應(yīng)用程序)。.NET框架:可移植到多種設(shè)備C#就其本身而言只是一種語言,盡管它是用于生成面向.NET環(huán)境的代碼,但它本身不是.NET的一部分。.NET支持的一些特性,C#并不支持。而C#語言支持的另一些特性,.NET卻不支持(例如運(yùn)算符重載)。在安裝VisualStudio2010的同時(shí),.NETFramework4.0也被安裝到本地計(jì)算機(jī)中。14ppt課件1.C#與.NET框架C#是事件驅(qū)動(dòng)的可視化編程語言14
1.C#與.NET框架.NET特點(diǎn)
方便互聯(lián)網(wǎng)上的軟件開發(fā)
可以實(shí)現(xiàn)不同語言之間的交互ASP.NET支持網(wǎng)站建設(shè)
包含一個(gè)類庫
提高了安全和其他編程性能公共語言運(yùn)行平臺(tái)CLR(CommonLanguageRuntime)
所有程序先編譯成MicrosoftIntermediateLanguage(MSIL)
當(dāng)應(yīng)用程序執(zhí)行時(shí),實(shí)時(shí)編譯器(Just-in-timeCompiler)將翻譯MSIL成機(jī)器語言15ppt課件1.C#與.NET框架.NET特點(diǎn)15ppt課件
1.VisualStudio2010開發(fā)C#應(yīng)用程序的工具很多,VisualStudio2010是其中最合適的工具。安裝VisualStudio2010的必備條件:軟硬件描述處理器600MHz處理器,建議使用1GHz處理器RAM192MB,建議使用256MB內(nèi)存可用硬盤空間如果不安裝MSDN,系統(tǒng)驅(qū)動(dòng)器上需要1GB的可用空間,安裝驅(qū)動(dòng)器上需要2GB的可用空間;如果安裝MSDN,則系統(tǒng)驅(qū)動(dòng)器上需要1GB的可用空間,完整安裝MSDN的安裝驅(qū)動(dòng)器上需要3.8GB的可用空間,默認(rèn)安裝MSDN的安裝驅(qū)動(dòng)器上需要2.8GB的可用空間16ppt課件1.VisualStudio2010開發(fā)C#應(yīng)用程序的
1.VisualStudio2010的安裝在安裝文件中雙擊setup.exe可執(zhí)行文件,應(yīng)用程序會(huì)自動(dòng)跳轉(zhuǎn)到如圖下圖所示的“VisualStudio2010安裝程序”界面。17ppt課件1.VisualStudio2010的安裝在安裝文件中
1.VisualStudio2010創(chuàng)建項(xiàng)目
啟動(dòng)VisualStudio2010開發(fā)環(huán)境之后,可以通過兩種方法創(chuàng)建項(xiàng)目:一種是選擇“文件”/“新建項(xiàng)目”命令;另一種是通過“起始頁”/“創(chuàng)建項(xiàng)目”,如圖所示。18ppt課件1.VisualStudio2010創(chuàng)建項(xiàng)目
1.VisualStudio2010工具欄為了操作更方便、快捷,菜單項(xiàng)中常用的命令按功能分組分別放入相應(yīng)的工具欄中。通過工具欄可以迅速地訪問常用的菜單命令。常用的工具欄有標(biāo)準(zhǔn)工具欄和調(diào)試工具欄,下面分別介紹。19ppt課件1.VisualStudio2010工具欄為了操作更
1.VisualStudio2010工具箱面板
工具箱是VisualStudio2010的重要工具,每一個(gè)開發(fā)人員都必須對這個(gè)工具非常熟悉。工具箱提供了進(jìn)行Windows窗體應(yīng)用程序開發(fā)所必需的控件。通過工具箱,開發(fā)人員可以方便地進(jìn)行可視化的窗體設(shè)計(jì),簡化了程序設(shè)計(jì)的工作量,提高了工作效率。根據(jù)控件功能的不同,將工具箱劃分為10個(gè)欄目,如圖所示。20ppt課件1.VisualStudio2010工具箱面板
1.VisualStudio2010可視化編程21ppt課件1.VisualStudio2010可視化編程21pp
1.VisualStudio2010屬性面板“屬性”面板采用了兩種方式管理屬性和方法,分別為按分類方式和按字母順序方式。讀者可以根據(jù)自己的習(xí)慣采用不同的方式。面板的下方還有簡單的幫助,方便開發(fā)人員對控件的屬性進(jìn)行操作和修改,“屬性”面板的左側(cè)是屬性名稱,相對應(yīng)的右側(cè)是屬性值。22ppt課件1.VisualStudio2010屬性面板
1.VisualStudio2010錯(cuò)誤列表面板
“錯(cuò)誤列表”面板為代碼中的錯(cuò)誤提供了即時(shí)的提示和可能的解決方法。例如,當(dāng)某句代碼結(jié)束時(shí)忘記了輸入分號(hào)時(shí),錯(cuò)誤列表中會(huì)顯示如下圖所示的錯(cuò)誤。錯(cuò)誤列表就好像是一個(gè)錯(cuò)誤提示器,它可以將程序中的錯(cuò)誤代碼及時(shí)地顯示給編輯者,并通過提示信息找到相應(yīng)的錯(cuò)誤代。23ppt課件1.VisualStudio2010錯(cuò)誤列表面板
1.VisualStudio2010輸出面板“輸出”面板用于提示項(xiàng)目的生成情況,在實(shí)際編程操作中,開發(fā)人員會(huì)無數(shù)次地看到這個(gè)面板,其外觀如圖下所示。“輸出”面板相當(dāng)于一個(gè)記事器,它將程序運(yùn)行的整個(gè)過程序以數(shù)據(jù)的形式進(jìn)行顯示,這樣可以讓開發(fā)者清楚地看到程序各部分的加載與操作過程。24ppt課件1.VisualStudio2010輸出面板
1.VisualStudio2010幫助系統(tǒng)VisualStudio2010中提供了一個(gè)廣泛的幫助工具,稱為HelpLibrary管理器。在HelpLibrary管理器中,用戶可以查看任何C#語句、類、屬性、方法、編程概念及一些編程的示例。幫助工具包括用于VisualStudioIDE、.NETFramework、C#、J#、C++等的參考資料,用戶可以根據(jù)需要進(jìn)行篩選,使其只顯示某方面(C#)的相關(guān)信息。HelpLibrary管理器類似于VisualStudio前期版本中附帶的MSDN幫助,都是為了給開發(fā)人員提供一定的幫助。25ppt課件1.VisualStudio2010幫助系統(tǒng)Visu
1.VisualStudio2010幫助使用
選擇“開始”/“所有程序”/“VisualStudio2010”/“VisualStudio2010文檔”選項(xiàng),即可進(jìn)入HelpLibrary主界面;或者在工具欄中選擇“幫助”/“查看幫助”,也可以進(jìn)入HelpLibrary主界面,如圖所示。。26ppt課件1.VisualStudio2010幫助使用
2.C#第一個(gè)程序
在大多數(shù)書籍中,編寫的第一個(gè)小程序通常是“HelloWorld!”,我們也同樣使用VisualStudio2010和C#語言來編寫這個(gè)程序,程序在控制臺(tái)上顯示字符串“Hello,World!”。27ppt課件2.C#第一個(gè)程序在大多數(shù)書籍中,編寫的第一
2.C#注釋
編譯器編譯程序時(shí)不執(zhí)行注釋的代碼或文字,其主要功能是對某行或某段代碼進(jìn)行說明,方便對代碼的理解與維護(hù)。(1)行注釋
publicstaticvoidMain(string[]args) //程序的Main方法{Console.WriteLine("HelloWorld!"); //輸出“HelloWorld!”}(2)塊注釋
/*程序的Main方法中可以輸出“HelloWorld!”字符串
public
staticvoidMain(string[]args) //Main方法{Console.WriteLine(“HelloWorld!”);//輸出“HelloWorld!”}
*/28ppt課件2.C#注釋編譯器編譯程序時(shí)不執(zhí)行注釋的代碼或文
2.C#命名空間C#程序是利用命名空間組織起來的。命名空間既用做程序的“內(nèi)部”組織系統(tǒng),也用做向“外部”公開的組織系統(tǒng)(即一種向其他程序公開自己擁有的程序元素的方法)。如果要調(diào)用某個(gè)命名空間中的類或者方法,首先需要使用using指令引入命名空間,using指令將命名空間名所標(biāo)識(shí)的命名空間內(nèi)的類型成員導(dǎo)入當(dāng)前編譯單元中,從而可以直接使用每個(gè)被導(dǎo)入的類型的標(biāo)識(shí)符,而不必加上它們的完全限定名。C#中的各命名空間就好像是一個(gè)存儲(chǔ)了不同類型的倉庫,而using指令就好比是一把鑰匙,命名空間的名稱就好比倉庫的名稱,可以通過鑰匙打開指定名稱的倉庫,從而在倉庫中獲取所需的物品。using指令的基本形式為:using命名空間名;29ppt課件2.C#命名空間C#程序是利用命名空間組織起
2.C#類使用任何新的類之前都必須聲明它,一個(gè)類一旦被聲明,就可以當(dāng)做一種新的類型來使用,在C#中通過使用class關(guān)鍵字來聲明類,聲明形式如下。[類修飾符]class[類名][基類或接口]{ [類體]}例如,聲明一個(gè)最簡單的類:classMyClass{}30ppt課件2.C#類使用任何新的類之前都必須聲明它,一
2.C#Main函數(shù)
Main方法是程序的入口點(diǎn),C#程序中必須包含一個(gè)Main方法,在該方法中可以創(chuàng)建對象和調(diào)用其他方法,一個(gè)C#程序中只能有一個(gè)Main方法,并且在C#中所有的Main方法都必須是靜態(tài)的??梢允褂靡韵?個(gè)修飾符修飾Main方法:public
static
void
31ppt課件2.C#Main函數(shù)Main方法是程序的入口
2.標(biāo)識(shí)符和關(guān)鍵字
標(biāo)識(shí)符是指在程序中用來表示事物的單詞,例如,System命名空間中的類Console,以及Console類的方法WriteLine都是標(biāo)識(shí)符,標(biāo)識(shí)符的命名有3個(gè)基本規(guī)則,分別介紹如下。標(biāo)識(shí)符只能由數(shù)字、字母和下劃線組成。
標(biāo)識(shí)符必須以字母或者下劃線開頭標(biāo)識(shí)符不能是關(guān)鍵字
所謂的關(guān)鍵字是指在C#語言中具有特殊意義的單詞,它們被C#設(shè)定為保留字,不能隨意使用。例如,在“HelloWorld!”程序中的class、static和void都是關(guān)鍵字。32ppt課件2.標(biāo)識(shí)符和關(guān)鍵字標(biāo)識(shí)符是指在程序中用來表
2.C#語句
語句是構(gòu)造所有C#程序的基本單位。語句可以聲明局部變量或常數(shù)、調(diào)用方法、創(chuàng)建對象或?qū)⒅蒂x給變量、屬性或字段,語句通常以分號(hào)終止,如下面的代碼:
Console.WriteLine("HelloWorld!");33ppt課件2.C#語句語句是構(gòu)造所有C#程序的基本單位
2.書寫規(guī)則(1)盡量使用接口,然后使用類實(shí)現(xiàn)接口,以提高程序的靈活性。(2)一行不要超過80個(gè)字符。(3)盡量不要手工更改計(jì)算機(jī)生成的代碼,若必須更改,一定要改成和計(jì)算機(jī)生成的代碼風(fēng)格一樣。(4)關(guān)鍵的語句(包括聲明關(guān)鍵的變量)必須要寫注釋。(5)建議局部變量在最接近使用它的地方聲明。(6)不要使用goto系列語句,除非是用在跳出深層循環(huán)時(shí)。(7)避免寫超過5個(gè)參數(shù)的方法。如果要傳遞多個(gè)參數(shù),則使用結(jié)構(gòu)。(8)避免書寫代碼量過大的try-catch模塊。(9)避免在同一個(gè)文件中放置多個(gè)類。(10)生成和構(gòu)建一個(gè)長的字符串時(shí),一定要使用StringBuilder類型,而不用string類型。(11)switch語句一定要有default語句來處理意外情況。(12)對于if語句,應(yīng)該使用一對“{}”把語句塊包含起來。(13)盡量不使用this關(guān)鍵字引用。34ppt課件2.書寫規(guī)則(1)盡量使用接口,然后使用類實(shí)現(xiàn)接口,以提高
2.命名規(guī)范命名規(guī)范在編寫代碼中起到很重要的作用,雖然不遵循命名規(guī)范,程序也可以運(yùn)行,但是使用命名規(guī)范可以很直觀地了解代碼所代表的含義。(1)用Pascal規(guī)則來命名方法和類型。(2)用Camel規(guī)則來命名局部變量和方法的參數(shù)
(3)接口的名稱加前綴“I”。(4)所有的成員變量前加前綴“_”。(5)方法的命名,一般將其命名為動(dòng)賓短語。(6)所有的成員變量聲明在類的頂端,用一個(gè)換行把它和方法分開。
(7)用有意義的名字命名空間namespace,如公司名、產(chǎn)品名。
(8)使用某個(gè)控件的值時(shí),盡量命名局部變量。35ppt課件2.命名規(guī)范命名規(guī)范在編寫代碼中起到很重要的作
3.變量變量本身被用來存儲(chǔ)特定類型的數(shù)據(jù),可以根據(jù)需要隨時(shí)改變變量中所存儲(chǔ)的數(shù)據(jù)值。變量具有名稱、類型和值。變量名是變量在程序源代碼中的標(biāo)識(shí)。變量類型確定它所代表的內(nèi)存的大小和類型,變量值是指它所代表的內(nèi)存塊中的數(shù)據(jù)。在程序的執(zhí)行過程中,變量的值可以發(fā)生變化。使用變量之前必須先聲明變量,即指定變量的類型和名稱。36ppt課件3.變量變量本身被用來存儲(chǔ)特定類型的數(shù)據(jù),可
3.值類型值類型變量直接存儲(chǔ)其數(shù)據(jù)值,主要包含整數(shù)類型、浮點(diǎn)類型以及布爾類型等。值類型變量在堆棧中進(jìn)行分配,因此效率很高,使用值類型主要目的是為了提高性能,主要分為以下3種值類型。(1)整數(shù)類型(2)浮點(diǎn)類型(3)布爾類型37ppt課件3.值類型值類型變量直接存儲(chǔ)其數(shù)據(jù)值,主要包
3.引用類型
引用類型是構(gòu)建C#應(yīng)用程序的主要對象類型數(shù)據(jù)。在應(yīng)用程序執(zhí)行的過程中,預(yù)先定義的對象類型以new創(chuàng)建對象實(shí)例,并且存儲(chǔ)在堆棧中。堆棧是一種由系統(tǒng)彈性配置的內(nèi)存空間,沒有特定大小及存活時(shí)間,因此可以被彈性地運(yùn)用于對象的訪問。引用類型具有如下特征。必須在托管堆中為引用類型變量分配內(nèi)存。必須使用new關(guān)鍵字來創(chuàng)建引用類型變量。在托管堆中分配的每個(gè)對象都有與之相關(guān)聯(lián)的附加成員,這些成員必須被初始化。引用類型變量是由垃圾回收機(jī)制來管理的。多個(gè)引用類型變量可以引用同一對象,這種情形下,對一個(gè)變量的操作會(huì)影響另一個(gè)變量所引用的同一對象。引用類型被賦值前的值都是null。38ppt課件3.引用類型引用類型是構(gòu)建C#應(yīng)用程序的主要
3.值類型與引用類型區(qū)別從概念上看,值類型直接存儲(chǔ)其值,而引用類型存儲(chǔ)對其值的引用;從內(nèi)存空間上看,值類型是在棧中操作,而引用類型則在堆中分配存儲(chǔ)單元。但值類型在棧上分配內(nèi)存,而引用類型在托管堆上分配內(nèi)存,卻只是一種籠統(tǒng)的說法。下面對其進(jìn)行詳細(xì)描述。(1)對于值類型的實(shí)例,如果作為方法中的局部變量,則被創(chuàng)建在線程棧上。(2)引用類型的實(shí)例創(chuàng)建在托管堆上。39ppt課件3.值類型與引用類型區(qū)別從概念上看,值類型直
3.枚舉類型枚舉類型是一種獨(dú)特的值類型,它用于聲明一組具有相同性質(zhì)的常量,使用枚舉可以增加程序的可讀性和可維護(hù)性。在C#中使用關(guān)鍵字enum類聲明枚舉,其形式如下。enum枚舉名{list1=value1,list2=value2,list3=value3,…listN=valueN,}40ppt課件3.枚舉類型枚舉類型是一種獨(dú)特的值類型,它用
3.類型轉(zhuǎn)換類型轉(zhuǎn)換就是將一種類型轉(zhuǎn)換成另一種類型。轉(zhuǎn)換可以是隱式轉(zhuǎn)換或者顯式轉(zhuǎn)換。(1)隱式轉(zhuǎn)換(2)顯示轉(zhuǎn)換(3)拆箱和裝箱41ppt課件3.類型轉(zhuǎn)換類型轉(zhuǎn)換就是將一種類型轉(zhuǎn)換成另一
3.變量聲明
(1)在C#中,聲明一個(gè)變量是由一個(gè)類型和跟在后面的一個(gè)或多個(gè)變量名組成,多個(gè)變量之間用逗號(hào)分開,聲明變量以分號(hào)結(jié)束。intLS; //聲明一個(gè)整型變量stringStr1,Str2,Str3; //同時(shí)聲明3個(gè)字符型變量
(2)聲明變量時(shí),還可以初始化變量,即在每個(gè)變量名后面加上給變量賦初始值的指令。
inta=927; //初始化整型變stringx="用一生下載你",y="蕓燁湘楓",z="一生所愛"; //初始化字符型變量x、y和z42ppt課件3.變量聲明(1)在C#中,聲明一個(gè)變量是由一
3.變量作用域變量的作用域就是可以訪問該變量的代碼區(qū)域。一般情況下,可以通過以下規(guī)則確定變量的作用域。只要字段所屬的類在某個(gè)作用域內(nèi),其字段也在該作用域內(nèi)。局部變量存在于表示聲明該變量的塊語句或方法結(jié)束的封閉花括號(hào)之前的作用域內(nèi)。在for、while或類似語句中聲明的局部變量存在于該循環(huán)體內(nèi)。43ppt課件3.變量作用域變量的作用域就是可以訪問該變量
3.變量賦值(1)在C#中,使用賦值運(yùn)算符“=”(等號(hào))來給變量賦值,將等號(hào)右邊的值賦給左邊的變量。intsum; //聲明一個(gè)變量sum=2008; //使用賦值運(yùn)算符“=”給變量賦值(2)在給變量賦值時(shí),等號(hào)右邊也可以是一個(gè)已經(jīng)被賦值的變量。
intsum,num; //聲明兩個(gè)變量sum=927; //給變量sum賦值為927
num=sum; //將變量sum賦值給變量num44ppt課件3.變量賦值(1)在C#中,使用賦值運(yùn)算符“=
3.常量常量就是其值固定不變的量,而且常量的值在編譯時(shí)就已經(jīng)確定了。常量的類型只能為下列類型之一:sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string等。使用關(guān)鍵字const來創(chuàng)建常量,并且在創(chuàng)建常量時(shí)必須設(shè)置它的初始值。常量就相當(dāng)于每個(gè)公民的身份證號(hào),一旦設(shè)置就不允許修改。聲明一個(gè)正確的常量,同時(shí)再聲明一個(gè)錯(cuò)誤的常量,以便讀者對比參考,代碼如下。
constdoublePI=3.1415926; //正確的聲明方法constintMyInt; //錯(cuò)誤:定義常量時(shí)沒有初始化45ppt課件3.常量常量就是其值固定不變的量,而且常量的值
4.C#表達(dá)式表達(dá)式是由運(yùn)算符和操作數(shù)組成的。運(yùn)算符設(shè)置對操作數(shù)進(jìn)行什么樣的運(yùn)算。例如,+、-、*和/都是運(yùn)算符,操作數(shù)包括文本、常量、變量和表達(dá)式等。例如:inti=927; //聲明一個(gè)int類型的變量i并初始化為927i=i*i+112; //改變變量i的值intj=2012; //聲明一個(gè)int類型的變量j并初始化為2012j=j/2; //改變變量j的值46ppt課件4.C#表達(dá)式表達(dá)式是由運(yùn)算符和操作數(shù)組成的
4.算術(shù)運(yùn)算符
+、-、*、/和%運(yùn)算符都稱為算術(shù)運(yùn)算符,分別用于進(jìn)行加、減、乘、除和模(求余數(shù))運(yùn)算。(1)加法運(yùn)算符(2)減法運(yùn)算符(3)乘法運(yùn)算符(4)除法運(yùn)算符(5)求余運(yùn)算符47ppt課件4.算術(shù)運(yùn)算符+、-、*、/和%運(yùn)算符都稱為算術(shù)
4.賦值運(yùn)算符賦值運(yùn)算符為變量、屬性、事件等元素賦新值。賦值運(yùn)算符主要有=、+=、-=、*=、/=、%=、&=、|=、^=、<<=和>>=運(yùn)算符。賦值運(yùn)算符的左操作數(shù)必須是變量、屬性訪問、索引器訪問或事件訪問類型的表達(dá)式,如果賦值運(yùn)算符兩邊的操作數(shù)的類型不一致,就需要首先進(jìn)行類型轉(zhuǎn)換,然后再賦值。48ppt課件4.賦值運(yùn)算符賦值運(yùn)算符為變量、屬性、事件等元
4.關(guān)系運(yùn)算符關(guān)系運(yùn)算符可以實(shí)現(xiàn)對兩個(gè)值的比較運(yùn)算,關(guān)系運(yùn)算符在完成兩個(gè)操作數(shù)的比較運(yùn)算之后會(huì)返回一個(gè)代表運(yùn)算結(jié)果的布爾值。關(guān)系運(yùn)算符說明==等于>大于<小于!=不等于>=大于等于<=小于等于49ppt課件4.關(guān)系運(yùn)算符關(guān)系運(yùn)算符可以實(shí)現(xiàn)對兩個(gè)值的比
4.邏輯運(yùn)算符
邏輯運(yùn)算符對兩個(gè)表達(dá)式執(zhí)行布爾邏輯運(yùn)算。C#中的邏輯運(yùn)算符大體可以分為按位邏輯運(yùn)算符和布爾邏輯運(yùn)算符public.
(1)按位“與”運(yùn)算符(2)按位“或”運(yùn)算符(3)按位“異或”運(yùn)算符(4)布爾“與”運(yùn)算符(5)布爾“或”運(yùn)算符(6)布爾“異或”運(yùn)算符50ppt課件4.邏輯運(yùn)算符邏輯運(yùn)算符對兩個(gè)表達(dá)式執(zhí)行布爾邏
4.位移運(yùn)算符
“<<”和“>>”運(yùn)算符用于執(zhí)行移位運(yùn)算,分別稱為左移位運(yùn)算符和右移位運(yùn)算符。對于X<<N或X>>N形式的運(yùn)算,含義是將X向左或向右移動(dòng)N位,得到的結(jié)果的類型與X相同。(1)左移位運(yùn)算符,使用左移位運(yùn)算符(<<)可以將數(shù)向左移位。其作用是所有的位都向左移動(dòng)指定的次數(shù)。高次位就會(huì)丟失,低位以零來填充。(2)右移位運(yùn)算符,右移位運(yùn)算符(>>)是把數(shù)向右移位。作用是所有的位都向右移動(dòng)指定的次數(shù)。51ppt課件4.位移運(yùn)算符“<<”和“>>”運(yùn)算符用于執(zhí)行
4.其他特殊運(yùn)算符
(1)is運(yùn)算符:is運(yùn)算符用于檢查變量是否為指定的類型(2)條件運(yùn)算符:條件運(yùn)算符(?)根據(jù)布爾型表達(dá)式的值返回兩個(gè)值中的一個(gè)。
(3)new運(yùn)算符:new運(yùn)算符用于創(chuàng)建一個(gè)新的類型實(shí)例
(4)typeof運(yùn)算符:typeof運(yùn)算符用于獲得系統(tǒng)原型對象的類型,也就是Type對象。Type類包含關(guān)于值類型和引用類型的信息。52ppt課件4.其他特殊運(yùn)算符(1)is運(yùn)算符:is運(yùn)算符
4.運(yùn)算符優(yōu)先級(jí)分類運(yùn)算符基本x.y、f(x)、a[x]、x++、x--、new、typeof、checked、unchecked一元+、-、!、~、++、--、(T)x、~乘除*、/、%加減+、-移位<<、>>比較<、>、<=、>=、is、as相等==、!=位與&位異或^位或|邏輯與&&邏輯或||條件?:53ppt課件4.運(yùn)算符優(yōu)先級(jí)分類運(yùn)算符基本x.y、
4.運(yùn)算符優(yōu)先級(jí)舉例:y=ax2+bx+c54ppt課件4.運(yùn)算符優(yōu)先級(jí)舉例:y=ax2+bx+c54
5.Char類概述
Char在C#中表示一個(gè)Unicode字符,正是這些Unicode字符構(gòu)成了字符串。Unicode字符是目前計(jì)算機(jī)中通用的字符編碼,它為針對不同語言中的每個(gè)字符設(shè)定了統(tǒng)一的二進(jìn)制編碼,用于滿足跨語言、跨平臺(tái)的文本轉(zhuǎn)換、處理的要求。Char的定義非常簡單,可以通過下面的代碼定義字符。
charch1='L';charch2='1';55ppt課件5.Char類概述Char在C#中表示一個(gè)U
5.Char類的使用
Char類為開發(fā)人員提供了許多的方法,可以通過這些方法靈活地操控字符。56ppt課件5.Char類的使用Char類為開發(fā)人員提供
5.String類概述
.NETFramework中表示字符串的關(guān)鍵字為string,它是String類的別名。string類型表示Unicode字符的字符串。StringBuilder
類類似于string類型,但是功能更強(qiáng)。雖然String類功能很強(qiáng),但是它也是不可改變的。這就是說一旦創(chuàng)建String對象,就不能夠修改。表面看來能夠修改字符串的所有方法實(shí)際上不能夠修改。它們實(shí)際上返回一個(gè)根據(jù)所調(diào)用的方法修改的新的String。當(dāng)需要大量的修改時(shí),可使用StringBuilder類。57ppt課件5.String類概述.NETFramewo
5.C#字符串常用方法(1)Compare方法
Intcompare(stringstrA,stringstrB)IntCompare(stringstrA,stringstrB,boolignorCase)(2)CompareTo方法
publicintCompareTo(stringstrB)(3)Equals方法
publicboolEquals(stringvalue)publicstaticboolEquals(stringa,stringb)(4)Substring方法publicstringSubstring(intstartIndex,intlength)(5)Split方法publicstring[]split(paramschar[]separator)(6)Insert方法publicstringInsert(intstartIndex,stringvalue);(7)PadLeft方法
publicstringPadLeft(inttotalWidth,charpaddingChar);(8)Remove方法
PublicStringRemove(intstartIndex);PublicStringRemove(intstartIndex,intcount);(9)Copy方法publicstaticstringCopy(stringstr)(10)CopyTo方法PublicvoidCopyTo(intsourceIndex,char[]destination,intdestinationIndex,intcount);(11)Replace方法publicstringReplace(charOChar,charNChar)
publicstringReplace(stringOValue,stringNValue)58ppt課件5.C#字符串常用方法(1)Compare方法(6)In
5.StringBuilder類的定義
StringBuilder類的常用的構(gòu)造方法如下:
publicStringBuilder(stringvalue,intcap)其中:value表示StringBuilder對象引用的字符串;cap表示設(shè)定StringBuilder對象的初始大小。例如:創(chuàng)建一個(gè)StringBuilder對象,其初始引用的字符串為“HelloWorld!”,代碼如下。StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");59ppt課件5.StringBuilder類的定義Str
5.StringBuilder類的使用
StringBuilder類存在于System.Text命名空間中,如果要?jiǎng)?chuàng)建StringBuilder對象,首先必須引用此命名空間。方法說明Remove從當(dāng)前StringBuilder對象中移除指定數(shù)量的字符Replace用另一個(gè)指定的字符來替換StringBuilder對象內(nèi)的字符Append將文本或字符串追加到指定對象的末尾AppendFormat自定義變量的格式并將這些值追加到StringBuilder對象的末尾Insert將字符串或?qū)ο筇砑拥疆?dāng)前StringBuilder對象中的指定位置60ppt課件5.StringBuilder類的使用Str
5.StringBuilder類與String類的區(qū)別通過前面的介紹相信讀者對String類和StringBuilder類都已了解。下面介紹它們各自的利弊。String對象是不可改變的,每次使用String類中的方法時(shí),都要在內(nèi)存中創(chuàng)建一個(gè)新的字符串對象,這就需要為該新對象分配新的空間。在需要對字符串執(zhí)行重復(fù)修改的情況下,與創(chuàng)建新的String對象相關(guān)的系統(tǒng)開銷可能會(huì)非常昂貴。如果要修改字符串而不創(chuàng)建新的對象,則可以使用StringBuilder類。例如,當(dāng)在一個(gè)循環(huán)中將許多字符串連接在一起時(shí),使用StringBuilder類可以提升性能。61ppt課件5.StringBuilder類與String類的區(qū)別
6.If語句
if(布爾表達(dá)式)
{ 【語句塊】
}
if(布爾表達(dá)式)
{ 【語句塊】
}else{
【語句塊】}62ppt課件6.If語句if(布爾表達(dá)式)62ppt課件
6.switch語句
switch語句是多分支選擇語句,它根據(jù)表達(dá)式的值來使程序從多個(gè)分支中選擇一個(gè)用于執(zhí)行的分支。switch語句的基本格式如下。switch(【表達(dá)式】){
case【常量表達(dá)式】:【語句塊】
break;
case【常量表達(dá)式】:【語句塊】
break;
…
case【常量表達(dá)式】:【語句塊】
default:【語句塊】
break;}63ppt課件6.switch語句switch語句是多分支選
6.While語句
while語句用于根據(jù)條件值執(zhí)行一條語句零次或多次,當(dāng)每次while語句中的代碼執(zhí)行完畢時(shí),將重新查看是否符合條件值,若符合則再次執(zhí)行相同的程序代碼,否則跳出while語句,執(zhí)行其他程序代碼。while語句的基本格式如。while(【布爾表達(dá)式】){ 【語句塊】}64ppt課件6.While語句while語句用于根據(jù)條件值
do…while語句與while語句相似,它的判斷條件在循環(huán)后。do…while循環(huán)會(huì)在計(jì)算條件表達(dá)式之前執(zhí)行一次,其基本形式如下。
do
{ 【語句塊】
}
while(【布爾表達(dá)式】)6.dowhile語句65ppt課件do…while語句與while語句相似,它
6.for語句
for語句用于計(jì)算一個(gè)初始化序列,然后當(dāng)某個(gè)條件為真時(shí),重復(fù)執(zhí)行嵌套語句并計(jì)算一個(gè)迭代表達(dá)式序列。如果為假,則終止循環(huán),退出for循環(huán)。for語句的基本形式如下。for(【初始化表達(dá)式】;【條件表達(dá)式】;【迭代表達(dá)式】){ 【語句塊】}66ppt課件6.for語句for語句用于計(jì)算一個(gè)初始
6.foreach語句
foreach語句用于枚舉一個(gè)集合的元素,并對該集合中的每個(gè)元素執(zhí)行一次嵌入語句。但是,foreach語句不應(yīng)用于更改集合內(nèi)容,以避免產(chǎn)生不可預(yù)知的錯(cuò)誤。foreach語句的基本形式如下。foreach(【類型】【迭代變量名】in【集合類型表達(dá)式】){ 【語句塊】}67ppt課件6.foreach語句foreach語句用于
6.C#跳轉(zhuǎn)語句
break語句
break語句只能應(yīng)用在switch、while、do…while、for或foreach語句中,break語句包含在這幾種語句中,否則會(huì)出現(xiàn)編譯錯(cuò)誤。當(dāng)多條switch、while、do…while、for或foreach語句互相嵌套時(shí),break語句只應(yīng)用于最里層的語句。continue語句
continue語句只能應(yīng)用于while、do…while、for或foreach語句中,用來忽略循環(huán)語句塊內(nèi)位于它后面的代碼而直接開始一次新的循環(huán)。goto語句goto語句用于將控制轉(zhuǎn)移到由標(biāo)簽標(biāo)記的語句。goto語句可以被應(yīng)用在switch語句中的case標(biāo)簽和default標(biāo)簽,以及標(biāo)記語句所聲明的標(biāo)簽。goto【標(biāo)簽】gotocase【參數(shù)表達(dá)式】gotodefaultreturn語句return語句用于退出類的方法,是控制返回方法的調(diào)用者。如果方法有返回類型,return語句必須返回這個(gè)類型的值;如果方法沒有返回類型,應(yīng)使用沒有表達(dá)式的return語句。68ppt課件6.C#跳轉(zhuǎn)語句break語句continue語句g
7.C#數(shù)組數(shù)組是包含若干相同類型的變量,這些變量都可以通過索引進(jìn)行訪問。數(shù)組中的變量稱為數(shù)組的元素,數(shù)組能夠容納元素的數(shù)量稱為數(shù)組的長度。數(shù)組中的每個(gè)元素都具有唯一的索引與其相對應(yīng),數(shù)組的索引從零開始。數(shù)組是通過指定數(shù)組的元素類型、數(shù)組的秩(維數(shù))及數(shù)組每個(gè)維度的上限和下限來定義的,即一個(gè)數(shù)組的定義需要包含以下幾個(gè)要素。元素類型。數(shù)組的維數(shù)每個(gè)維數(shù)的上下限。69ppt課件7.C#數(shù)組數(shù)組是包含若干相同類型的變量,
7.一維數(shù)組
一維數(shù)組即數(shù)組的維數(shù)為1,其聲明語法如下:
type[]arrayName;type:數(shù)組存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)類型。arrayName:數(shù)組名稱。需要存儲(chǔ)多個(gè)值時(shí),可以使用一維數(shù)組,而且可以通過使用foreach語句或數(shù)組的下標(biāo)將數(shù)組中的元素值讀出來。70ppt課件7.一維數(shù)組一維數(shù)組即數(shù)組的維數(shù)為1,其聲明
7.二維數(shù)組二維數(shù)組的聲明語法如下。
type[,]arrayName;其中:type表示數(shù)組存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)類型;arrayName表示數(shù)組名稱。例1:int[,]arr=newint[2,2];例2:int[,]arr=newint[2,2]{{1,2},{3,4}};例3:int[,]arr=newint[,]{{1,2},{3,4}};71ppt課件7.二維數(shù)組二維數(shù)組的聲明語法如下。71pp
7.數(shù)組操作(一)遍歷數(shù)組:使用foreach語句可以實(shí)現(xiàn)數(shù)組的遍歷功能,開發(fā)人員可以用foreach語句訪問數(shù)組中的每個(gè)元素而不需要確切地知道每個(gè)元素的索引號(hào)。例如:
int[]arr=newint[10]{10,20,30,40,50,60,70,80,90,100};//采用foreach語句對arr數(shù)組進(jìn)行遍歷foreach(intnumberinarr)Console.WriteLine(number);Console.ReadLine();數(shù)組元素增刪:添加/刪除數(shù)組元素就是在數(shù)組中的指定位置對數(shù)組元素進(jìn)行添加和刪除,添加數(shù)組元素一般是通過使用ArrayList類實(shí)現(xiàn),該類將在后面的小節(jié)中進(jìn)行詳細(xì)講解??梢岳脭?shù)組的索引號(hào)對數(shù)組元素進(jìn)行刪除操作,但這種方法不能夠真正地實(shí)現(xiàn)對數(shù)組元素的刪除,一般不推薦使用。
int[]arr=newint[]{1,3,5,7,9};
//刪除數(shù)組中的第二個(gè)元素
intn=1;
for(inti=n;i<arr.Length-n;i++)
arr[i]=arr[i+1];72ppt課件7.數(shù)組操作(一)遍歷數(shù)組:數(shù)組元素增刪:
7.數(shù)組操作(二)數(shù)組的排序:排序是編程中最常用的算法之一,排序的方法有很多種,可以用遍歷的方法對數(shù)組進(jìn)行排序,也可以用Array類的Sort方法和Reverse方法對數(shù)組進(jìn)行排序。(1)遍歷排序的方法:常用的包括冒泡法排序、直接插入法、選擇排序法(2)Array類的Sort和Reverse排序方法。數(shù)組合并與拆分:數(shù)組的合并與拆分在很多情況下都會(huì)被應(yīng)用,在對數(shù)組進(jìn)行合并或拆分時(shí),數(shù)組與數(shù)組之間的類型應(yīng)一致。(1)數(shù)組的合并:數(shù)組的合并實(shí)際上就是將多個(gè)一維數(shù)組合并成一個(gè)一維數(shù)組,或者將多個(gè)一維數(shù)組合并成一個(gè)二維數(shù)組或多維數(shù)組。(2)數(shù)組的拆分:數(shù)組的拆分實(shí)際上就是將一個(gè)一維數(shù)組拆分成多個(gè)一維數(shù)組,或是將多維數(shù)組拆分成多個(gè)一維數(shù)組或多個(gè)多維數(shù)組。73ppt課件7.數(shù)組操作(二)數(shù)組的排序:數(shù)組合并與拆分:
8.面向?qū)ο蟾攀鲈诿嫦驅(qū)ο笾?,算法與數(shù)據(jù)結(jié)構(gòu)被看做一個(gè)整體,稱為對象?,F(xiàn)實(shí)世界中任何類的對象都具有一定的屬性和操作,也總能用數(shù)據(jù)結(jié)構(gòu)與算法兩者合二為一來描述,所以可以用下面的等式來定義對象和程序。對象=(算法+數(shù)據(jù)結(jié)構(gòu)),程序=(對象+對象+……)。class水果類{ public顏色;//在水果類中定義顏色屬性}class蘋果類:水果類{//蘋果類中其他的屬性和方法
}重要概念:屬性、方法、繼承、消息、信息隱藏、封裝、重用、構(gòu)件74ppt課件8.面向?qū)ο蟾攀鲈诿嫦驅(qū)ο笾?,算法與數(shù)據(jù)結(jié)構(gòu)被
8.類的概念及聲明
類是對象概念在面向?qū)ο缶幊陶Z言中的反映,是相同對象的集合。類描述了一系列在概念上有相同含義的對象,并為這些對象統(tǒng)一定義了編程語言上的屬性和方法。C#中,類是使用class關(guān)鍵字來聲明的,語法如下。類修飾符class類名{}例如:publicclassCar{publicintnumber; //編號(hào)publicstringcolor; //顏色privatestringbrand; //廠家}75ppt課件8.類的概念及聲明類是對象概念在面向?qū)ο缶幊陶Z
8.構(gòu)造函數(shù)和析構(gòu)函數(shù)
構(gòu)造函數(shù)和析構(gòu)函數(shù)是類中比較特殊的兩種成員函數(shù),主要用來對對象進(jìn)行初始化和回收對象資源。一般來說,對象的生命周期從構(gòu)造函數(shù)開始,以析構(gòu)函數(shù)結(jié)束。如果一個(gè)類含有構(gòu)造函數(shù),在實(shí)例化該類的對象時(shí)就會(huì)調(diào)用,如果含有析構(gòu)函數(shù),則會(huì)在銷毀對象時(shí)調(diào)用。構(gòu)造函數(shù)的名字和類名相同,析構(gòu)函數(shù)和構(gòu)造函數(shù)的名字相同,但析構(gòu)函數(shù)要在名字前加一個(gè)波浪號(hào)(~)。當(dāng)退出含有該對象的成員時(shí),析構(gòu)函數(shù)將自動(dòng)釋放這個(gè)對象所占用的內(nèi)存空間。(1)構(gòu)造函數(shù):構(gòu)造函數(shù)是在創(chuàng)建給定類型的對象時(shí)執(zhí)行的類方法。構(gòu)造函數(shù)具有與類相同的名稱,它通常初始化新對象的數(shù)據(jù)成員。(2)析構(gòu)函數(shù):析構(gòu)函數(shù)是以類名加~來命名的。.NETFramework類庫有垃圾回收功能,當(dāng)某個(gè)類的實(shí)例被認(rèn)為是不再有效,并符合析構(gòu)條件時(shí),.NETFramework類庫的垃圾回收功能就會(huì)調(diào)用該類的析構(gòu)函數(shù)實(shí)現(xiàn)垃圾回收。76ppt課件8.構(gòu)造函數(shù)和析構(gòu)函數(shù)構(gòu)造函數(shù)和析構(gòu)函數(shù)是類中
8.對象的聲明和實(shí)例化
對象是具有數(shù)據(jù)、行為和標(biāo)識(shí)的編程結(jié)構(gòu),它是面向?qū)ο髴?yīng)用程序的一個(gè)組成部分,這個(gè)組成部分封裝了部分應(yīng)用程序,這部分程序可以是一個(gè)過程、一些數(shù)據(jù)或一些更抽象的實(shí)體。對象包含變量成員和方法類型,它所包含的變量組成了存儲(chǔ)在對象中的數(shù)據(jù),而其包含的方法可以訪問對象的變量。略為復(fù)雜的對象可能不包含任何數(shù)據(jù),而只包含方法,并使用方法表示一個(gè)過程。C#中的對象是把類實(shí)例化,這表示創(chuàng)建類的一個(gè)實(shí)例,“類的實(shí)例”和對象表示相同的含義,但需要注意的是,“類”和“對象”是完全不同的概念。77ppt課件8.對象的聲明和實(shí)例化對象是具有數(shù)據(jù)、行為和標(biāo)
8.類和對象的關(guān)系類是一種抽象的數(shù)據(jù)類型,但是其抽象的程度可能不同,而對象就是一個(gè)類的實(shí)例。類是具有相同或相似結(jié)構(gòu)、操作和約束規(guī)則的對象組成的集合,而對象是某一類的具體化實(shí)例,每一個(gè)類都是具有某些共同特征的對象的抽象。78ppt課件8.類和對象的關(guān)系類是一種抽象的數(shù)據(jù)類型,但是
8.類的封裝在面向?qū)ο缶幊讨校蠖鄶?shù)都是以類作為數(shù)據(jù)封裝的基本單位。類將數(shù)據(jù)和操作數(shù)據(jù)的方法結(jié)合成一個(gè)單位。設(shè)計(jì)類時(shí),不希望直接存取類中的數(shù)據(jù),而是希望通過方法來存取數(shù)據(jù),這樣就可以達(dá)到封裝數(shù)據(jù)的目的,方便以后的維護(hù)升級(jí),也可以在操作數(shù)據(jù)時(shí)多一層判斷。此外,封裝還可以解決數(shù)據(jù)存取的權(quán)限問題,可以使用封裝將數(shù)據(jù)隱藏起來,形成一個(gè)封閉的空間,然后可以設(shè)置哪些數(shù)據(jù)只能在這個(gè)空間中使用,哪些數(shù)據(jù)可以在空間外部使用。一個(gè)類中包含敏感數(shù)據(jù),有些人可以訪問,有些人不能訪問,如果不對這些數(shù)據(jù)的訪問加以限制,后果將會(huì)非常嚴(yán)重。所以在編寫程序時(shí),要對類的成員使用不同的訪問修飾符,從而定義它們的訪問級(jí)別。79ppt課件8.類的封裝在面向?qū)ο缶幊讨校蠖鄶?shù)都是以類作
8.類的繼承
繼承是面向?qū)ο缶幊套钪匾奶匦灾?。任何類都可以從另外一個(gè)類繼承,這就是說,這個(gè)類擁有它繼承的類的所有成員。在面向?qū)ο缶幊讨?,被繼承的類稱為父類或基類。C#中提供了類的繼承機(jī)制,但只支持單繼承,而不支持多重繼承,即在C#中一次只允許繼承一個(gè)類,不能同時(shí)繼承多個(gè)類。
利用類的繼承機(jī)制,用戶可以通過增加、修改或替換類中的方法對這個(gè)類進(jìn)行擴(kuò)充,以適應(yīng)不同的應(yīng)用要求。利用繼承,程序開發(fā)人員可以在已有類的基礎(chǔ)上構(gòu)造新類,這一性質(zhì)使類支持分類的概念。在日常生活中很多東西都很有條理,那是因?yàn)樗鼈冇兄芎玫膶哟畏诸?。如果不用層次分類,則需要對每個(gè)對象都定義其所有的性質(zhì)。使用繼承后,每個(gè)對象就可以只定義自己的特殊性質(zhì),每一層的對象只需定義本身的性質(zhì),其他性質(zhì)可以從上一層繼承下來。80ppt課件8.類的繼承繼承是面向?qū)ο缶幊套钪匾奶匦灾?/p>
8.類的多態(tài)多態(tài)使子類(派生類)的實(shí)例可以直接賦予基類的變量(這里不需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換),然后直接就可以通過這個(gè)變量調(diào)用子類(派生類)的方法。在派生于同一個(gè)類的不同對象上執(zhí)行任務(wù)時(shí),多態(tài)是一種極為有效的技巧,使用的代碼最少??梢园岩唤M對象放到一個(gè)數(shù)組中然后調(diào)用它們的方法,在這種情況下多態(tài)的作用就體現(xiàn)出來了,這些對象不必是相同類型的對象。當(dāng)然如果它們都繼承自某個(gè)類,可以把這些子類(派生類)都放到一個(gè)數(shù)組中。如果這些對象都有同名方法,就可以調(diào)用每個(gè)對象的同名方法。C#中,類的多態(tài)性是通過在子類(派生類)中重載基類的虛方法或函數(shù)成員來實(shí)現(xiàn)的。81ppt課件8.類的多態(tài)多態(tài)使子類(派生類)的實(shí)例可以直
8.屬性概述程序中調(diào)用屬性的語法格式如下。
對象名.屬性名注意事項(xiàng):(1)如果要在其他類中調(diào)用自定義屬性,必須將自定義屬性的訪問級(jí)別設(shè)置為public。(2)如果屬性為只讀屬性,不能在調(diào)用時(shí)為其賦值,否則產(chǎn)生異常。82ppt課件8.屬性概述程序中調(diào)用屬性的語法格式如下。82ppt課件
8.方法聲明:方法聲明可以包含一組特性和private、public、protected、internal4個(gè)訪問修飾符的任何一個(gè)有效組合,還可以包含new、static、virtual、override、sealed、abstract以及extern等修飾符。例如:publicvoidmethod(){Console.Write("方法聲明");}分類:
方法分為靜態(tài)方法和非靜態(tài)方法。若一個(gè)方法聲明中含有static修飾符,則稱該方法為靜態(tài)方法。若沒有static修飾符,則稱該方法為非靜態(tài)方法。
(1)靜態(tài)方法:靜態(tài)方法不對特定實(shí)例進(jìn)行操作,在靜態(tài)方法中引用this會(huì)導(dǎo)致編譯錯(cuò)誤。(2)非靜態(tài)方法:非靜態(tài)方法是對類的某個(gè)給定的實(shí)例進(jìn)行操作,而且可以用this來訪問該方法。重載:
方法重載是指調(diào)用同一方法名,但各方法中參數(shù)的數(shù)據(jù)類型、個(gè)數(shù)或順序不同(即參數(shù)簽名不同或參數(shù)列表不同)。只要類中有兩個(gè)以上的同名方法,但是使用的參數(shù)類型、個(gè)數(shù)或順序不同,調(diào)用時(shí),編譯器即可判斷在哪種情況下調(diào)用哪種方法。83ppt課件8.方法聲明:分類:重載:
8.Main方法
Main方法是程序的入口點(diǎn),程序?qū)⒃诖颂巹?chuàng)建對象和調(diào)用其他方法,一個(gè)C#程序中只能有一個(gè)入口點(diǎn),每新建一個(gè)項(xiàng)目,程序都會(huì)自動(dòng)生成一個(gè)Main方法,默認(rèn)的Main方法代碼如下。
staticvoidMain(string[]args){}Main方法是一個(gè)特別重要的方法,使用時(shí)需要注意以下幾點(diǎn)。(1)Main方法是程序的入口點(diǎn),程序控制在該方法中開始和結(jié)束。(2)該方法在類或結(jié)構(gòu)的內(nèi)部聲明。它必須為靜態(tài)方法,而且不應(yīng)該為公共方法。(3)它可以具有void或int返回類型。(4)聲明Main方法時(shí)既可以使用參數(shù),也可以不使用參數(shù)。(5)參數(shù)可以作為從零開始索引的命令行參數(shù)來讀取。84ppt課件8.Main方法Main方法是程序的入口點(diǎn),程序
8.結(jié)構(gòu)
結(jié)構(gòu)是一種值的類型,通常用來封裝一組相關(guān)的變量,結(jié)構(gòu)中可以包括構(gòu)造函數(shù)、常量、字段、方法、屬性、運(yùn)算符、事件和嵌套類型等,結(jié)構(gòu)修飾符使用
struct。publicstructRect //定義一個(gè)矩形結(jié)構(gòu)
{publicdoublewidth; //矩形的寬
publicdoubleheight; //矩形的高
publicdoubleArea() //矩形面積
{returnwidth*height;}}85ppt課件8.結(jié)構(gòu)結(jié)構(gòu)是一種值的類型,通常用來封裝一組相關(guān)的
9.C#接口
接口是一種用來定義程序的協(xié)議,它描述可屬于任何類或結(jié)構(gòu)的一組相關(guān)行為。接口可由方法、屬性、事件和索引器或這4種成員類型的任何組合構(gòu)成,但不能包含字段。
修飾符interface接口名稱:繼承的接口列表
{
接口內(nèi)容;
}
接口的實(shí)現(xiàn)通過類繼承來實(shí)現(xiàn),一個(gè)類雖然只能繼承一個(gè)基類,但可以繼承任意接口。聲明實(shí)現(xiàn)接口的類時(shí),需要在基類列表中包含類所實(shí)現(xiàn)的接口的名稱。86ppt課件9.C#接口接口是一種用來定義程序的協(xié)議,它
9.抽象類概述及聲明抽象類主要用來提供多個(gè)派生類可共享的基類的公共定義,它與非抽象類的主要區(qū)別如下。抽象類不能直接實(shí)例化。抽象類中可以包含抽象成員,但非抽象類中不可以。抽象類不能被密封。C#中聲明抽象類時(shí)需要使用abstract關(guān)鍵字,具體語法格式如下。訪問修飾符abstractclass類名:基類或接口{//類成員}例如:publicabstractclassmyClass{publicinti;publicvoidmethod(){}}87ppt課件9.抽象類概述及聲明抽象類主要用來提供多個(gè)派生
9.抽象方法概述及聲明
抽象方法就是在聲明方法時(shí),加上abstract關(guān)鍵字,聲明抽象方法時(shí)需要注意以下兩點(diǎn)。抽象方法必須聲明在抽象類中。聲明抽象方法時(shí),不能使用virtual、static和private修飾符。例子:publicabstractclassmyClass{publicabstractvoidmethod(); //抽象方法}88ppt課件9.抽象方法概述及聲明抽象方法就是在聲明方法時(shí)
9.密封類概述及聲明密封類可以用來限制擴(kuò)展性,如果密封了某個(gè)類,則其他類不能從該類繼承;如果密封了某個(gè)成員,則派生類不能重寫該成員的實(shí)現(xiàn)。C#中聲明密封類時(shí)需要使用sealed關(guān)鍵字,具體語法格式如下。訪問修飾符sealedclass類名:基類或接口{//類成員}publicsealedclassmyClass //聲明密封類{publicinti=0;publicvoidmethod(){Console.WriteLine("密封類");}}89ppt課件9.密封類概述及聲明密封類可以用來限制擴(kuò)展性,
9.密封方法概述及聲明publicclassmyClass1{publicvirtualvoidMethod(){Console.WriteLine("基類中的虛方法");}}publicsealedclassmyClass2:myClass1{publicsealedoverridevoidMethod() //密封并重寫基類中的虛方法Method{base.Method();Console.WriteLine("密封類中重寫后的方法");}}90ppt課件9.密封方法概述及聲明publicclassmyCla
10.異常處理概述異常處理是一種功能強(qiáng)大的機(jī)制,用于處理應(yīng)用程序可能產(chǎn)生的錯(cuò)誤或是其他可以中斷程序執(zhí)行的異常情況。異常處理可以捕捉程序執(zhí)行所發(fā)生的錯(cuò)誤,通過異常處理可以有效、快速地構(gòu)建各種用來處理程序異常情況的程序代碼。異常類說明System.ArithmeticException在算術(shù)運(yùn)算期間發(fā)生的異常System.ArrayTypeMismatchException當(dāng)存儲(chǔ)一個(gè)數(shù)組時(shí),如果由于被存儲(chǔ)的元素的實(shí)際類型與數(shù)組的實(shí)際類型不兼容而導(dǎo)致存儲(chǔ)失敗,就會(huì)引發(fā)此異常System.DivideByZeroException在試圖用零除整數(shù)值時(shí)引發(fā)System.IndexOutOfRangeException在試圖使用小于零或超出數(shù)組界限的下標(biāo)索引數(shù)組時(shí)引發(fā)System.InvalidCastException當(dāng)從基類型或接口到派生類型的顯示轉(zhuǎn)換在運(yùn)行時(shí)失敗,就會(huì)引發(fā)此異常System.NullReferenceException在需要使用引用對象的場合,如果使用null引用,就會(huì)引發(fā)此異常91ppt課件10.異常處理概述異常處理是一種功能強(qiáng)大的機(jī)制,
10.try…catch語句
try…catch語句允許在try后面的大括號(hào){}中放置可能發(fā)生異常情況的程序代碼,對這些程序代碼進(jìn)行監(jiān)控。在catch后面的大括號(hào){}中則放置處理錯(cuò)誤的程序代碼,以處理程序發(fā)生的異常。try…catch語句的基本格式如下。try{
被監(jiān)控的代碼}catch(異常類名異常變量名){
異常處理}92ppt課件10.try…catch語句try…catch語
10.throw語句throw語句用于主動(dòng)引發(fā)一個(gè)異常,使用throw語句可以在特定的情形下,自行拋出異常。throw語句的基本格式如下。throwExObjectExObject:所要拋出的異常對象,這個(gè)異常對象是派生自System.Exception類的類對象。93ppt課件10.throw語句throw語句用于主動(dòng)引發(fā)
10.try…catch…finally語句將finally語句與try…catch語句結(jié)合,形成try…catch…finally語句。finally語句同樣以區(qū)塊的方式存在,它被放在所有try…catch語句的最后面,程序執(zhí)行完畢,最后都會(huì)跳到finally語句區(qū)塊,執(zhí)行其中的代碼。try{
被監(jiān)控的代碼}catch(異常類名異常變量名){
異常處理}finally{
程序代碼}94ppt課件10.try…catch…finally語句
C#程序設(shè)計(jì)95ppt課件C#程序設(shè)計(jì)1ppt課件
課程安排課時(shí):36=18課堂教學(xué)+18項(xiàng)目實(shí)戰(zhàn)學(xué)分:2.5考核方式:平時(shí)成績30%期末考試70%96ppt課件課程安排課時(shí):36=18課堂教學(xué)+18項(xiàng)目實(shí)精品資料精品資料你怎么稱呼老師?如果老師最后沒有總結(jié)一節(jié)課的重點(diǎn)的難點(diǎn),你是否會(huì)認(rèn)為老師的教學(xué)方法需要改進(jìn)?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風(fēng)雨狂,只怕先生罵我笨,沒有學(xué)問無顏見爹娘……”“太陽當(dāng)空照,花兒對我笑,小鳥說早早早……”C#程序設(shè)計(jì)課件精品資料精品資料你怎么稱呼老師?如果老師最后沒有總結(jié)一節(jié)課的重點(diǎn)的難點(diǎn),你是否會(huì)認(rèn)為老師的教學(xué)方法需要改進(jìn)?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風(fēng)雨狂,只怕先生罵我笨,沒有學(xué)問無顏見爹娘……”“太陽當(dāng)空照,花兒對我笑,小鳥說早早早……”C#程序設(shè)計(jì)課件
教材ISBN:9787302287513ISBN:9787121088940101ppt課件教材ISBN:9787302287513ISB
課程內(nèi)容三大模塊1.C#基礎(chǔ)知識(shí)2.C#核心技術(shù)3.C#項(xiàng)目實(shí)戰(zhàn)102ppt課件課程內(nèi)容三大模塊1.C#基礎(chǔ)知識(shí)8ppt課件
0.基礎(chǔ)知識(shí)
硬件
(鍵盤、屏幕、硬盤、內(nèi)存、中央處理器……),摩爾定律軟件
(各種運(yùn)行程序,如操作系統(tǒng),財(cái)務(wù)軟件,文字處理軟件……)操作系統(tǒng)類別(Windows,Linux,Unix,安卓,IOS……)103ppt課件0.基礎(chǔ)知識(shí)9ppt課件
0.基礎(chǔ)知識(shí)
程序設(shè)計(jì)語言
機(jī)器語言:
130004277414005934191200274027
匯編語言:LoadBasePAYAddOverPAYStoreGrossPAY高級(jí)語言:
GrossPay=BasePay+OverPay104ppt課件0.基礎(chǔ)知識(shí)10ppt課件
0.基礎(chǔ)知識(shí)
程序設(shè)計(jì)語言VisualBasic(Basic+GUI)CC++Java(1991)
兩個(gè)體系:J2E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度北京零售業(yè)店長勞動(dòng)合同續(xù)簽與終止
- 海運(yùn)合同不可抗力條款應(yīng)用
- 電子商務(wù)運(yùn)營實(shí)務(wù)操作指南
- 合伙購車協(xié)議書
- 民營醫(yī)院勞動(dòng)合同書
- 酒店運(yùn)營管理入門指南
- 游戲開發(fā)與優(yōu)化指南
- 電子商務(wù)平臺(tái)用戶體驗(yàn)優(yōu)化與營銷推廣方案
- 勞務(wù)分包合同個(gè)人
- 勞動(dòng)合同安全管理制度
- 2025年有機(jī)肥行業(yè)發(fā)展趨勢分析報(bào)告
- 中央2025年中國文聯(lián)所屬單位招聘14人筆試歷年參考題庫附帶答案詳解
- 學(xué)生作文稿紙(A4打印)
- 2024美團(tuán)共享出行加盟合同
- 2024年人教版初中英語九年級(jí)全冊單元測評與答案
- 永州市2025屆高三高考第二次模擬考試(二模)語文試卷(含答案)
- 國學(xué)智慧與健康幸福人生(課件)
- 【渞法】學(xué)會(huì)自我保護(hù)教學(xué)設(shè)計(jì) 七年級(jí)道德與法治下冊(統(tǒng)編版2024)
- 2025-2030年中國融雪劑行業(yè)運(yùn)行動(dòng)態(tài)及發(fā)展前景預(yù)測報(bào)告
- DB31∕T 1043-2017 暴雨強(qiáng)度公式與設(shè)計(jì)雨型標(biāo)準(zhǔn)
- 多學(xué)科視域中的歷史動(dòng)物研究綜述
評論
0/150
提交評論