




已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
.NET平臺和C#編程,信息工程系:羅明剛,第三章,C#基礎(chǔ)知識,3,回顧,VisualStudio.NET2003是用于創(chuàng)建、編寫、運(yùn)行和調(diào)試程序的集成開發(fā)環(huán)境用戶使用VS.NET中的“起始頁”可以自定義IDE。IDE還包含許多有用的鏈接,如最近的項(xiàng)目、下載和聯(lián)機(jī)新聞組等VS.NET中的程序組成項(xiàng)目和解決方案。項(xiàng)目是一組相關(guān)的文件,解決方案則是一組相關(guān)的項(xiàng)目VisualStudio.NET為用戶提供了用于瀏覽文件的各種窗口“動態(tài)幫助”窗口為用戶提供了與當(dāng)前光標(biāo)所在位置相關(guān)的文章,4,目標(biāo),在C#中定義變量和常量使用C#中的基本數(shù)據(jù)類型理解裝箱和拆箱的概念使用C#中的運(yùn)算符,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)定義和使用數(shù)組,了解結(jié)構(gòu)和枚舉,5,C#數(shù)據(jù)類型,6,變量2-1,語法:訪問修飾符數(shù)據(jù)類型變量名,Public,Private,Protected,int,string,float,糖,鹽,胡椒粉,鹽,胡椒粉,糖,int,float,string,2,5.4,“Test”,變量用于存儲特定數(shù)據(jù)類型的值,7,變量2-2,staticvoidMain(stringargs)/聲明布爾型、字符串型、整型、短整型和浮點(diǎn)型變量booltest=true;shortnum1=19;intnum2=14000;stringval=Jamie;floatnum3=14.5f;/顯示變量值Console.WriteLine(布爾值=+test);Console.WriteLine(短整型值=+num1);Console.WriteLine(整型值=+num2);Console.WriteLine(字符串值=+val);Console.WriteLine(浮點(diǎn)值=+num3);,變量中存儲的值取決于該變量的類型,8,常量2-1,語法:const數(shù)據(jù)類型常量名=常量值;,Public,Private,Protected,常量用于在整個(gè)程序中將數(shù)據(jù)保持同一個(gè)值,9,常量2-2,staticvoidMain(stringargs)/PI常量PIconstfloat_pi=3.14F;/由地球引力引起的加速度常量,單位為cm/s*sconstfloat_gravity=980;/鐘擺的長度intlength=40;/鐘擺的周期doubleperiod=0;/鐘擺周期的計(jì)算公式period=2*_pi*Math.Sqrt(length/_gravity);Console.WriteLine(鐘擺的周期為0秒,period);,聲明常量,在表達(dá)式中使用常量,const關(guān)鍵字用于聲明常量,10,C#的基本數(shù)據(jù)類型3-1,C#中的數(shù)據(jù)類型分為兩個(gè)基本類別值類型表示實(shí)際數(shù)據(jù)只是將值存放在內(nèi)存中值類型都存儲在堆棧中int、char、結(jié)構(gòu)引用類型表示指向數(shù)據(jù)的指針或引用包含內(nèi)存堆中對象的地址為null,則表示未引用任何對象類、接口、數(shù)組、字符串,11,C#的基本數(shù)據(jù)類型3-2,staticvoidMain(stringargs)/聲明一個(gè)值類型的整型數(shù)據(jù)類型intval=100;Console.WriteLine(該變量的初始值為0,val);Test(val);/由于該數(shù)據(jù)類型屬于值類型,所以將恢復(fù)其初始值Console.WriteLine(該變量的值此時(shí)為0,val);staticvoidTest(intgetVal)inttemp=10;getVal=temp*20;,將val的初始值傳遞給Test()方法,被傳遞的val在Test()方法內(nèi)被改變,不反映已經(jīng)改變的val值,而保留原始值,12,C#的基本數(shù)據(jù)類型3-3,staticvoidMain(stringargs)DataTypeTestobjTest=newDataTypeTest();objTest.Val=100;/傳遞屬于引用類型的對象Test(objTest);/由于該數(shù)據(jù)類型屬于引用類型,所以會考慮新處理的值Console.WriteLine(變量的值為0,objTest.Val);staticvoidTest(DataTypeTestdataTest)inttemp=10;dataTest.Val=temp*20;,將DataTypeTest的引用傳遞給Test(),被傳遞的val在Test()中改變,不反映已經(jīng)改變的val值,而保留原始值,classDataTypeTestpublicintVal;,13,裝箱和拆箱2-1,裝箱是將值類型轉(zhuǎn)換為引用類型拆箱是將引用類型轉(zhuǎn)換為值類型利用裝箱和拆箱功能,可通過允許值類型的任何值與Object類型的值相互轉(zhuǎn)換,將值類型與引用類型鏈接起來,14,裝箱和拆箱2-2,intval=100;objectobj=val;Console.WriteLine(“對象的值=0,obj);,intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine(num:0,num);,值類型,引用類型,拆箱,裝箱,值類型,引用類型,值類型,被裝過箱的對象才能被拆箱,15,運(yùn)算符和表達(dá)式9-1,運(yùn)算符和表達(dá)式,Result,=,number,*,100,變量,變量,常量,操作數(shù),表達(dá)式,操作數(shù)和運(yùn)算符的組合,運(yùn)算符,16,運(yùn)算符和表達(dá)式9-2,17,運(yùn)算符和表達(dá)式9-3,18,問題,下面的運(yùn)算結(jié)果是什么?1、27%5=2、11=,2,-12,為什么?,19,運(yùn)算符和表達(dá)式9-4,20,運(yùn)算符和表達(dá)式9-5,21,運(yùn)算符和表達(dá)式9-6,賦值運(yùn)算符(=),變量=表達(dá)式;例如:身高=177.5;體重=78;性別=“m”;,22,運(yùn)算符和表達(dá)式9-7,一元運(yùn)算符(+/-),Variable+;相當(dāng)于Variable=Variable+1;Variable-;相當(dāng)于Variable=Variable-1;,23,運(yùn)算符和表達(dá)式9-8,24,運(yùn)算符和表達(dá)式9-9,C#運(yùn)算符的優(yōu)先級,25,前置和后置自加/自減運(yùn)算符,26,問題,計(jì)算結(jié)果:1、inti=0;boolresult=falseresult=(+i)+i=2?true:false;result=,true,27,算術(shù)運(yùn)算符,staticvoidMain(stringargs)/x2的系數(shù)intcoefficient1=2;/x的系數(shù)intcoefficient2=-7;/二次方程的常數(shù)值intconstant=3;/存放表達(dá)式b2-4ac的值doubleexpression=0;doublex1=0;doublex2=0;Console.WriteLine(二次方程為:0x2+1x+2,coefficient1,coefficient2,constant);expression=Math.Sqrt(coefficient2*coefficient2-(4*coefficient1*constant);x1=(-coefficient2)+expression)/(2*coefficient1);x2=(-coefficient2)-expression)/(2*coefficient1);Console.Write(x=0:F2,x1);Console.Write(或);Console.WriteLine(x=0:F2,x2);,將值賦給變量,在表達(dá)式中使用的算術(shù)運(yùn)算符,28,選擇結(jié)構(gòu)3-1,語法:if()else,選擇結(jié)構(gòu)用于根據(jù)表達(dá)式的值執(zhí)行語句,ifelse,29,選擇結(jié)構(gòu)3-2,語法:switch(選擇變量)case值1:break;case值2:break;case值3:break;.default:,switchcase,30,switchcase的其他特性,選擇結(jié)構(gòu)3-3,各個(gè)case標(biāo)簽不必連續(xù),也不必按特定順序排列default標(biāo)簽可位于switchcase結(jié)構(gòu)中的任意位置default標(biāo)簽不是必選的,但使用default標(biāo)簽是一個(gè)良好的編程習(xí)慣每兩個(gè)case標(biāo)簽之間的語句數(shù)不限,31,循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)用于對一組命令執(zhí)行一定的次數(shù)或反復(fù)執(zhí)行一組命令,直到指定的條件為真。循環(huán)結(jié)構(gòu)的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán),32,while循環(huán)2-1,停車!,車上有幾個(gè)座位?,檢查!,是!,否!,while(seat=25),33,while循環(huán)反復(fù)執(zhí)行指定的語句,直到指定的條件為真語法:while(條件)/語句break語句可用于退出循環(huán)continue語句可用于跳過當(dāng)前循環(huán)并開始下一循環(huán),while循環(huán)2-2,34,dowhile循環(huán)2-1,停車!,車上有幾個(gè)座位?,檢查!,是!,否!,while(seat=25),do,35,dowhile循環(huán)2-2,dowhile循環(huán)與while循環(huán)類似,二者區(qū)別在于dowhile循環(huán)中即使條件為假時(shí)也至少執(zhí)行一次該循環(huán)體中的語句。語法:do/語句while(條件),36,for循環(huán),for循環(huán)要求只有在對特定條件進(jìn)行判斷后才允許執(zhí)行循環(huán)這種循環(huán)用于將某個(gè)語句或語句塊重復(fù)執(zhí)行預(yù)定次數(shù)的情形語法:for(初始值;條件;增/減)/語句,37,foreach循環(huán),計(jì)算總分,計(jì)算分?jǐn)?shù),對班上的每一個(gè)學(xué)生,教室,38,foreach循環(huán)2-1,foreach循環(huán)用于遍歷整個(gè)集合或數(shù)組語法:foreach(數(shù)據(jù)類型元素(變量)in集合或者數(shù)組)/語句,39,foreach循環(huán),staticvoidMain(stringargs)/存放字母的個(gè)數(shù)intcountLetters=0;/存放數(shù)字的個(gè)數(shù)intcountDigits=0;/存放標(biāo)點(diǎn)符號的個(gè)數(shù)intcountPunctuations=0;/用戶提供的輸入stringinput;Console.WriteLine(請輸入一個(gè)字符串);input=Console.ReadLine();/聲明foreach循環(huán)以遍歷輸入的字符串中的每個(gè)字符。foreach(charchrininput)/檢查字母if(char.IsLetter(chr)countLetters+;/檢查數(shù)字if(char.IsDigit(chr)countDigits+;/檢查標(biāo)點(diǎn)符號if(char.IsPunctuation(chr)countPunctuations+;Console.WriteLine(“字母的個(gè)數(shù)為:0,countLetters);Console.WriteLine(“數(shù)字的個(gè)數(shù)為:0,countDigits);Console.WriteLine(“標(biāo)點(diǎn)符號的個(gè)數(shù)為:0,countPunctuations);,為所有計(jì)數(shù)器設(shè)置初始值,接受輸入,對輸入的每一個(gè)字符都進(jìn)行循環(huán),使用了所有輸入的字符之后,循環(huán)自動終止,40,數(shù)組3-1,數(shù)組是同一數(shù)據(jù)類型的一組值數(shù)組屬于引用類型,因此存儲在堆內(nèi)存中數(shù)組元素初始化或給數(shù)組元素賦值都可以在聲明數(shù)組時(shí)或在程序的后面階段中進(jìn)行語法:數(shù)據(jù)類型元素個(gè)數(shù)數(shù)組名稱;int6arrayHere;,41,數(shù)組3-2,學(xué)生分?jǐn)?shù)的整數(shù)數(shù)組,職員姓名的字符串?dāng)?shù)組,室溫的浮點(diǎn)數(shù)組,數(shù)組位置,42,數(shù)組3-3,staticvoidMain(stringargs)intcount;Console.WriteLine(請輸入您要登記的學(xué)生人數(shù));count=int.Parse(Console.ReadLine();/聲明一個(gè)存放姓名的字符串?dāng)?shù)組,其長度等于提供的學(xué)生人數(shù)stringnames=newstringcount;/用一個(gè)for循環(huán)來接受姓名for(inti=0;icount;i+)Console.WriteLine(“請輸入學(xué)生0的姓名,i+1);namesi=Console.ReadLine();Console.WriteLine(已登記的學(xué)生如下:);/用foreach循環(huán)顯示姓名foreach(stringdispinnames)Console.WriteLine(0,disp);,數(shù)組聲明,初始化數(shù)組元素的循環(huán),顯示輸出的循環(huán),43,structstructExpublicintstructDataMember;publicvoidstructMethod1()/structMethod1實(shí)現(xiàn),自定義數(shù)據(jù)類型可以在其內(nèi)部定義方法無法實(shí)現(xiàn)繼承屬于值類型主要結(jié)構(gòu):,structstudentpublicintstud_id;publicstringstud_name;publicfloatstud_marks;publicvoidshow_details()/顯示學(xué)生詳細(xì)信息,結(jié)構(gòu),數(shù)據(jù)成員,方法,所有與Student關(guān)聯(lián)的詳細(xì)信息都可以作為一個(gè)整體進(jìn)行存儲和訪問,44,枚舉,publicclassHolidaypublicenumWeekDaysMonday,Tuesday,Wednesday,Thursday,FridaypublicvoidGetWeekDays(StringEmpName,WeekDaysDayOff)/處理工作日staticvoidMain()HolidaymyHoliday=newHoliday();myHoliday.GetWeekDays(Richie,Holiday.WeekDays.Wednesday);,枚舉(Enum,Enumerator的縮寫)是一組已命名的數(shù)值常量用于定義具有一組特定值的數(shù)據(jù)類型枚舉以enum關(guān)鍵字聲明,Wednesday=2,45,枚舉(續(xù)),C#中的枚舉包含與值關(guān)聯(lián)的數(shù)字默認(rèn)情況下,將0值賦給枚舉的第一個(gè)元素,然后對每個(gè)后續(xù)的枚舉元素按1遞增在初始化過程中可重寫默認(rèn)值,publicenumW
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年尾礦綜合利用技術(shù)突破與生態(tài)修復(fù)模式探索報(bào)告
- 2025年制造業(yè)智能化生產(chǎn)線生產(chǎn)數(shù)據(jù)安全研究報(bào)告
- 內(nèi)蒙古興安盟2025屆七下英語期末調(diào)研模擬試題含答案
- 江蘇省淮安市清江浦區(qū)2025年英語八年級第二學(xué)期期末聯(lián)考試題含答案
- 閱讀教育實(shí)施成果與策略優(yōu)化
- 家庭教育促進(jìn)法解讀(小學(xué)生版)
- 公正主題班會課課件
- 2024版經(jīng)導(dǎo)管主動脈瓣置換術(shù)臨床路徑專家共識解讀
- 2020年內(nèi)蒙古自治區(qū)消防應(yīng)急燈具產(chǎn)品質(zhì)量監(jiān)督抽查方案
- 八年級家長會課件教學(xué)
- 2025年高考全國一卷寫作范文4篇
- 堅(jiān)持嚴(yán)格陣地管理制度
- T/BECC 002-2024智算中心技術(shù)要求和評估方法
- 2025年廣西公需科目答案03
- 2025屆江蘇省徐州市名校七下數(shù)學(xué)期末達(dá)標(biāo)檢測試題含解析
- 2025年山東夏季高中學(xué)業(yè)水平合格考模擬生物試卷(含答案)
- 大連海事大學(xué)育鯤輪電機(jī)員培訓(xùn)課件詳解
- GB/T 45577-2025數(shù)據(jù)安全技術(shù)數(shù)據(jù)安全風(fēng)險(xiǎn)評估方法
- AI與VR在麻醉教學(xué)中的應(yīng)用及個(gè)性化學(xué)習(xí)路徑探討
- IgG4腎病的診斷和治療
- 中國啤酒籃行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告2025-2028版
評論
0/150
提交評論