版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.1系統(tǒng)技術(shù)棧介紹——C#編程基礎(chǔ)C#中的變量C#中的運(yùn)算符選擇結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句C#基本語法方法06數(shù)組07程序調(diào)試08知識(shí)回顧.NET基礎(chǔ)知識(shí);開發(fā)環(huán)境搭建;第一個(gè)C#程序;C#運(yùn)行原理。學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí):重點(diǎn)理解和掌握C#的變量、選擇結(jié)構(gòu)語句和循環(huán)結(jié)構(gòu)語句。掌握C#的語法格式、運(yùn)算符和方法。了解數(shù)組和程序調(diào)試。01C#基本語法思考題C#有什么語法格式?C#代碼的基本格式C#代碼的基本格式每一種編程語言都有一套自己的語法規(guī)范,C#語言也不例外,同樣需要遵從一定的語法規(guī)范,如代碼的書寫、標(biāo)識(shí)符的定義、關(guān)鍵字的應(yīng)用等。定義類的格式[修飾符]class類名{程序代碼}C#代碼的基本格式注意事項(xiàng)在編寫C#代碼時(shí),除了要遵從定義類的語法格式外,還需要特別注意以下幾點(diǎn),具體如下:C#中的程序代碼可分為結(jié)構(gòu)定義語句和功能執(zhí)行語句,其中,結(jié)構(gòu)定義語句用于聲明一個(gè)類或方法,功能執(zhí)行語句用于實(shí)現(xiàn)具體的功能。每條功能執(zhí)行語句的最后都必須用分號(hào)(;)結(jié)束。C#語言是嚴(yán)格區(qū)分大小寫的。在編寫C#代碼時(shí),為了便于閱讀,通常會(huì)使用一種良好的格式進(jìn)行排版??偨Y(jié):“;”、“大小寫”、“格式”C#中的注釋C#中的注釋在編寫程序時(shí),為了使代碼易于閱讀,通常會(huì)在實(shí)現(xiàn)功能的同時(shí)為代碼加一些注釋。注釋是對(duì)程序中某個(gè)功能或者某行代碼的解釋說明,在編譯程序時(shí)編譯器不會(huì)編譯這些注釋信息。intc=10;//定義一個(gè)整型變量注釋類型單行注釋:單行注釋通常用于對(duì)程序中的某一行代碼進(jìn)行解釋,用符號(hào)“//”表示,“//”后面為被注釋的內(nèi)容??偨Y(jié):注釋使用”//”C#中的注釋C#中的注釋多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾。/*intc=1 0;intx=5;*////<summary>///在集合中添加元素///</summary>staticvoidAdd(){}多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾??偨Y(jié):注釋使用”/*......*/”C#中的標(biāo)識(shí)符C#中的標(biāo)識(shí)符在編程過程中,經(jīng)常需要在程序中定義一些符號(hào)來標(biāo)記一些名稱,如類名、方法名、參數(shù)名、變量名等,這些符號(hào)被稱為標(biāo)識(shí)符。標(biāo)識(shí)符可以由任意順序的大小寫字母、數(shù)字、下劃線(_)和@符號(hào)組成,但標(biāo)識(shí)符不能以數(shù)字開頭,且不能是C#中的關(guān)鍵字。//合法的標(biāo)識(shí)符usernameusername123user_name_userName//不合法的標(biāo)識(shí)符123usernameclass98.3HelloWorld以數(shù)字開頭關(guān)鍵字以數(shù)字開頭包含空格必須要嚴(yán)格遵守上面列出的規(guī)范,否則程序在編譯時(shí)會(huì)報(bào)錯(cuò)C#中的標(biāo)識(shí)符標(biāo)識(shí)符規(guī)范為了增強(qiáng)代碼的可讀性,建議初學(xué)者在定義標(biāo)識(shí)符時(shí)還應(yīng)該遵循以下規(guī)范:類名、方法名和屬性名中的每個(gè)單詞的首字母要大寫。例如Age。這種命名方式被稱為大駝峰命名法或帕斯卡(Pascal)命名法字段名、變量名的首字母要小寫,之后的每個(gè)單詞的首字母均為大寫。例如:age、userName。這種命名方式被稱為小駝峰命名法。。常量名中的所有字母都大寫,單詞之間用下劃線連接。例如:DAY_OF_MONTH。在程序中,應(yīng)該盡量使用有意義的英文單詞來定義標(biāo)識(shí)符,使得程序便于閱讀。例如使用userName表示用戶名,password表示密碼。C#中的關(guān)鍵字C#中的關(guān)鍵字關(guān)鍵字是編程語言中事先定義好并賦予了特殊含義的單詞,也稱作保留字。和其他語言一樣,C#中保留了許多關(guān)鍵字。注意:1、所有的關(guān)鍵字都是小寫的。
2、程序中的標(biāo)識(shí)符不能以關(guān)鍵字命名。C#中的常量C#中的常量常量就是在程序中固定不變的值,是不能改變的數(shù)據(jù)。例如數(shù)字1、字符'a'、浮點(diǎn)數(shù)3.2等。常量類型整型常量:整型常量是整數(shù)類型的數(shù)據(jù),有二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制4種表示形式。二進(jìn)制:由數(shù)字0和1組成的數(shù)字序列。如01000000、10000001。八進(jìn)制:以0開頭并且其后由0~7之間(包括0和7)的整數(shù)組成的數(shù)字序列,如:0342。十進(jìn)制:數(shù)字0~9之間(包括0和9)的整數(shù)組成的數(shù)字序列。如:198。十六進(jìn)制:以0x或者0X開頭并且其后由0~9、A~F(包括0和9、A和F)組成的數(shù)字序列,如0x25AF。C#中的常量C#中的常量浮點(diǎn)數(shù)常量:就是在數(shù)學(xué)中用到的小數(shù)。浮點(diǎn)數(shù)常量的類型如下所示:float單精度浮點(diǎn)數(shù):后面以F或f結(jié)尾。double雙精度浮點(diǎn)數(shù):后面以以D或d結(jié)尾。當(dāng)在使用浮點(diǎn)數(shù)時(shí)也可以在結(jié)尾處不加任何的后綴,此時(shí)虛擬機(jī)會(huì)默認(rèn)為double雙精度浮點(diǎn)數(shù)。2e3f3.6d0f3.84d5.022e+23f字符常量:用于表示一個(gè)字符,一個(gè)字符常量要用一對(duì)英文半角格式的單引號(hào)('')引起來,他可以是英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)以及由轉(zhuǎn)義序列來表示的特殊字符。‘a(chǎn)’‘1’‘&''\r''\u0000'空白字符C#中的常量C#中的常量字符串常量:用于表示一串連續(xù)的字符,一個(gè)字符串常量要用一對(duì)英文半角格式的雙引號(hào)(“”)引起來。"HelloWorld""123""Welcome\nXXX"""布爾常量:布爾常量即布爾型的兩個(gè)值true和false,該常量用于區(qū)分一個(gè)事物的真與假。null常量:null常量只有一個(gè)值null,表示對(duì)象的引用為空。02C#中的變量變量的定義變量的定義程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來標(biāo)識(shí)。這些內(nèi)存單元我們稱之為變量,定義的標(biāo)識(shí)符就是變量名,內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)就是變量的值。intx=0,y;y=x+3;變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型C#是一門強(qiáng)類型的編程語言,他對(duì)變量的數(shù)據(jù)類型有嚴(yán)格的限定。在定義變量時(shí)必須聲明變量的類型,在為變量賦值時(shí)必須賦予和變量同一種類型的值,否則程序會(huì)報(bào)錯(cuò)。變量的數(shù)據(jù)類型值類型引用類型變量的數(shù)據(jù)類型整數(shù)類型變量整數(shù)類型變量:用來存儲(chǔ)整數(shù)數(shù)值,即沒有小數(shù)部分的值。整數(shù)類型分類:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)四種類型所占存儲(chǔ)空間的大小以及取值范圍:類型名占用空間取值范圍byte8位(1個(gè)字節(jié))-27~27-1short16位(2個(gè)字節(jié))-215~215-1int32位(4個(gè)字節(jié))-231~231-1long64位(8個(gè)字節(jié))-263~263-1占用的內(nèi)存大小變量的數(shù)據(jù)類型浮點(diǎn)數(shù)類型變量浮點(diǎn)數(shù)類型變量:用來存儲(chǔ)小數(shù)數(shù)值。浮點(diǎn)數(shù)類型分類:單精度浮點(diǎn)數(shù)(float)、雙精度浮點(diǎn)數(shù)(double),double型所表示的浮點(diǎn)數(shù)比float型更精確。兩種浮點(diǎn)數(shù)所占存儲(chǔ)空間的大小以及取值范圍:類型名占用空間取值范圍float32位(4個(gè)字節(jié))1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double64位(8個(gè)字節(jié))4.9E-324~1.7E+308,-4.9E-324~-1.7E+308注意:在C#中,一個(gè)小數(shù)會(huì)被默認(rèn)為double類型的值,因此在為一個(gè)float類型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面一定要加上字母“F”(或者小寫“f”);而為double類型的變量賦值時(shí),可以在所賦值的后面加上字符“D”(或小寫“d”),也可以不加。變量的數(shù)據(jù)類型字符類型變量字符類型變量:用于存儲(chǔ)一個(gè)單一字符,在C#中用char表示。占用空間:C#中每個(gè)char類型的字符變量都會(huì)占用2個(gè)字節(jié)。符號(hào):在給char類型的變量賦值時(shí),需要用一對(duì)英文半角格式的單引號(hào)(‘’)把字符括起來,如‘a(chǎn)‘。charc='a';//為一個(gè)char類型的變量賦值字符'a'變量的數(shù)據(jù)類型布爾類型變量布爾類型變量:布爾類型變量用來存儲(chǔ)布爾值,在C#中用bool表示,該類型的變量只有兩個(gè)值,即true和false。boolflag=false; //聲明一個(gè)bool類型的變量,初始值為falseflag=true; //改變flag變量的值為true變量的類型轉(zhuǎn)換變量的類型轉(zhuǎn)換在程序中,當(dāng)把一種數(shù)據(jù)類型的值賦給另一種數(shù)據(jù)類型的變量時(shí),需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。類型轉(zhuǎn)換分類:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。自動(dòng)類型轉(zhuǎn)換:自動(dòng)類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進(jìn)行聲明。自動(dòng)類型轉(zhuǎn)換滿足的條件:兩種數(shù)據(jù)類型彼此兼容。目標(biāo)類型的取值范圍大于源類型的取值范圍。變量的類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換的三種條件:整數(shù)類型之間可以實(shí)現(xiàn)轉(zhuǎn)換。整數(shù)類型轉(zhuǎn)換為float類型。其他類型轉(zhuǎn)換為double類型。
byteb=3;intx=b;//程序把byte類型的變量b轉(zhuǎn)換成了int類型,無需特殊聲明變量的類型轉(zhuǎn)換變量的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換:也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進(jìn)行顯式地聲明。強(qiáng)制類型轉(zhuǎn)換滿足的條件:當(dāng)兩種類型彼此不兼容,或者目標(biāo)類型取值范圍小于源類型時(shí),自動(dòng)類型轉(zhuǎn)換無法進(jìn)行,這時(shí)就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。變量的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換usingSystem;namespaceProgram02{classProgram{staticvoidMain(string[]args){bytea;//定義byte類型的變量aintb=298;//定義int類型的變量ba=(byte)b;Console.WriteLine("b="+b);Console.WriteLine("a="+a);Console.ReadKey();}}}將int類型的變量b強(qiáng)制轉(zhuǎn)換成byte類型,并復(fù)制給a變量的作用域變量的作用域變量需要在他的作用范圍內(nèi)才可以被使用,這個(gè)作用范圍稱為變量的作用域。程序中,變量一定會(huì)被定義在某一對(duì)大括號(hào)中,該大括號(hào)所包含的代碼區(qū)域便是這個(gè)變量的作用域。一對(duì)大括號(hào)就是一個(gè)作用域,里作用域可以調(diào)用外作用域資源,外作用域不可調(diào)用里作用域資源。變量的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換classProgram{staticvoidMain(string[]args){intx=12;//定義了變量x{inty=96;//定義了變量yConsole.WriteLine("xis"+x);//訪問變量xConsole.WriteLine("yis"+y);//訪問變量y}y=x;//訪問變量x,為變量y賦值Console.WriteLine("xis"+x);//訪問變量xConsole.ReadKey();
}}x的作用域在紅色大括號(hào)內(nèi)y的作用域y的作用域外訪問變量外y,會(huì)出現(xiàn)編譯錯(cuò)誤的提示將該行刪除,再運(yùn)行程序03C#的運(yùn)算符C#中的運(yùn)算符運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符位運(yùn)算符特點(diǎn):處理四則運(yùn)算的符號(hào)特點(diǎn):將常量、變量或表達(dá)式的值賦給某一個(gè)變量特點(diǎn):對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值特點(diǎn):邏輯運(yùn)算符用于對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型特點(diǎn):專門針對(duì)數(shù)字0和1進(jìn)行操作的算術(shù)運(yùn)算符算術(shù)運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果+正號(hào)+33-負(fù)號(hào)b=4;-b;-4+、-、*、/加、減、乘、除省略省略%取模(求余數(shù))7%52++自增(前)a=2;b=++a;a=3;b=3;++自增(后)a=2;b=a++;a=3;b=2;--自減(前)a=2;b=--a;a=1;b=1;--自減(后)a=2;b=a--;a=1;b=2;算術(shù)運(yùn)算符:用來處理四則運(yùn)算的符號(hào),這是最簡單、最常用的運(yùn)算符號(hào)。算術(shù)運(yùn)算符及其用法:算術(shù)運(yùn)算符算術(shù)運(yùn)算符在進(jìn)行自增(++)和自減(--)的運(yùn)算時(shí),如果運(yùn)算符(++或--)放在操作數(shù)的前面則是先進(jìn)行自增或自減運(yùn)算,再進(jìn)行其他運(yùn)算。反之,如果運(yùn)算符放在操作數(shù)的后面則是先進(jìn)行其他運(yùn)算再進(jìn)行自增或自減運(yùn)算。intnum1=1;intnum2=2;intres=num1+num2++;Console.WriteLine("num2="+num2);Console.WriteLine("res="+res);運(yùn)算符++寫在了變量num2的后面,屬于先運(yùn)算再自增,因此運(yùn)行結(jié)果為:num2=3、res=3算術(shù)運(yùn)算符算術(shù)運(yùn)算符在進(jìn)行除法運(yùn)算時(shí),當(dāng)除數(shù)和被除數(shù)都為整數(shù)時(shí),得到的結(jié)果也是一個(gè)整數(shù)。如果除法運(yùn)算有小數(shù)參與,得到的結(jié)果會(huì)是一個(gè)小數(shù)。在進(jìn)行取模(%)運(yùn)算時(shí),運(yùn)算結(jié)果的正負(fù)取決于被模數(shù)(%左邊的數(shù))的符號(hào),與模數(shù)(%右邊的數(shù))的符號(hào)無關(guān)。如:(-5)%3=-2,而5%(-3)=2。3500/1000*1000先執(zhí)行除法運(yùn)算3500/1000,得到結(jié)果為3,再乘以1000,因此運(yùn)行結(jié)果為3000賦值運(yùn)算符賦值運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果=賦值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=b;a=5;b=2;-=減等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;賦值運(yùn)算符:將常量、變量或表達(dá)式的值賦給某一個(gè)變量。賦值運(yùn)算符及其用法:賦值運(yùn)算符賦值運(yùn)算符在賦值過程中,運(yùn)算順序從右往左,將右邊表達(dá)式的結(jié)果賦值給左邊的變量。注意事項(xiàng):在C#中可以通過一條賦值語句對(duì)多個(gè)變量進(jìn)行賦值算術(shù)運(yùn)算符除了“=”,其他的都是特殊的賦值運(yùn)算符,以“+=”為例,x+=3就相當(dāng)于x=x+3,首先會(huì)進(jìn)行加法運(yùn)算x+3,再將運(yùn)算結(jié)果賦值給變量x。-=、*=、/=、%=賦值運(yùn)算符都可依此類推。intx,y,z;//定義int類型變量x,y,zx=y=z=5;//同時(shí)為x,y,z三個(gè)變量賦值比較運(yùn)算符比較運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果==相等于4==3false!=不等于4!=3true<小于4<3false>大于4>3true<=小于等于4<=3false>=大于等于4>=3true比較運(yùn)算符:用于對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值,即true或false。比較運(yùn)算符及其用法:邏輯運(yùn)算符邏輯運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果&與true&truetrue|或false|truetrue^異或true^truefalse!非!falsetrue&&短路與true&&falsefalse||短路或true||falsetrue邏輯運(yùn)算符:用于對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型。邏輯運(yùn)算符及其用法:邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符運(yùn)算過程中的細(xì)節(jié):
邏輯運(yùn)算符可以針對(duì)結(jié)果為布爾值的表達(dá)式進(jìn)行運(yùn)算。運(yùn)算符“&”和“&&”都表示與操作,當(dāng)且僅當(dāng)運(yùn)算符兩邊的操作數(shù)都為true時(shí),其結(jié)果才為true,否則結(jié)果為false。使用“&”進(jìn)行運(yùn)算時(shí),不論左邊為true或者false,右邊的表達(dá)式都會(huì)進(jìn)行運(yùn)算。如果使用“&&”進(jìn)行運(yùn)算,當(dāng)左邊為false時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算,因此“&&”被稱作短路與。運(yùn)算符“|”和“||”都表示或操作,當(dāng)運(yùn)算符兩邊的操作數(shù)任何一邊的值為true時(shí),其結(jié)果為true,當(dāng)兩邊的值都為false時(shí),其結(jié)果才為false。同與操作類似,“||”表示短路或,當(dāng)運(yùn)算符“||”的左邊為true時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算。運(yùn)算符“^”表示異或操作,當(dāng)運(yùn)算符兩邊的布爾值相同時(shí)(都為true或都為false),其結(jié)果為false。當(dāng)兩邊布爾值不相同時(shí),其結(jié)果為true。000位運(yùn)算符000位運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果&按位與0&10|按位或0|11~取反~01^按位異或0^11<<左移00000010<<200001000>>右移11100010>>211111000位運(yùn)算符:是針對(duì)二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號(hào),他是專門針對(duì)數(shù)字0和1進(jìn)行操作的。位運(yùn)算符
及其用法:運(yùn)算符的優(yōu)先級(jí)運(yùn)算符的優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符1.[]()2++--~!(數(shù)據(jù)類型)3*/%4+-5<<>>>>>6<><=>=7==!=在對(duì)一些比較復(fù)雜的表達(dá)式進(jìn)行運(yùn)算時(shí),要明確表達(dá)式中所有運(yùn)算符參與運(yùn)算的先后順序,我們把這種順序稱作運(yùn)算符的優(yōu)先級(jí)。運(yùn)算符的優(yōu)先級(jí):優(yōu)先級(jí)運(yùn)算符8&9++--~!10&11|12&&13?:(三元運(yùn)算符)14=*=/=%=+=-=<<=>>=>>>=&=^=|=04選擇結(jié)構(gòu)語句思考題C#中的條件語句有哪些,特點(diǎn)是什么?If條件語句if條件語句選擇語句:需要對(duì)一些條件作出判斷,從而決定執(zhí)行哪一段代碼。選擇語句分為if條件語句和switch條件語句。if條件語句的語法格式分為3種:if語句:if語句是指如果滿足某種條件,就進(jìn)行某種處理。if(條件語句){
代碼塊}當(dāng)條件語句為true時(shí),執(zhí)行代碼塊,否則不執(zhí)行if語句的語法格式:if語句的執(zhí)行流程:條件語句if條件語句namespaceProgram06{classProgram{staticvoidMain(string[]args){//聲明變量x作為判斷依據(jù)intx=5;//如果x的值小于10則執(zhí)行if大括號(hào)中的代碼if(x<10){x++;}Console.WriteLine("x="+x);Console.ReadKey();}}}5<10,因此條件成立,執(zhí)行x++If…else條件語句if…else條件語句if…else語句:是指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理。
if(判斷條件){
執(zhí)行語句1 ……}else{
執(zhí)行語句2 ……}當(dāng)判斷條件為true時(shí),執(zhí)行“執(zhí)行語句1”,否則,執(zhí)行“執(zhí)行語句2”if…else語句的語法格式:if條件語句的執(zhí)行流程:If…else條件語句namespaceProgram07{classProgram{staticvoidMain(string[]args){intnum=19;if(num%2==0){//判斷條件成立,num被2整除Console.WriteLine("num是一個(gè)偶數(shù)");}else{Console.WriteLine("num是一個(gè)奇數(shù)");}Console.ReadKey();}}}19模以2的結(jié)果為1,判斷條件不成立。因此會(huì)執(zhí)行else后面{}中的語句if…else條件語句If…elseif…else條件語句If…elseif…else條件語句if…elseif…else語句:用于對(duì)多個(gè)條件進(jìn)行判斷,進(jìn)行多種不同的處理。
if(判斷條件1){
執(zhí)行語句1}elseif(判斷條件2){
執(zhí)行語句2}...elseif(判斷條件n){
執(zhí)行語句n}else{
執(zhí)行語句n+1}當(dāng)判斷條件1為true時(shí),執(zhí)行“執(zhí)行語句1”,否則,判斷“判斷條件2”是否為true,否則,判斷“判斷條件3”是否為true,依次類推if…elseif…else語句的語法格式:if條件語句的執(zhí)行流程:If…elseif…else條件語句staticvoidMain(string[]args){intgrade=75;//定義學(xué)生成績if(grade>=80){Console.WriteLine("該成績的等級(jí)為優(yōu)");}elseif(grade>=70){Console.WriteLine("該成績的等級(jí)為良");}elseif(grade>=60){Console.WriteLine("該成績的等級(jí)為中");}else{Console.WriteLine("該成績的等級(jí)為差");}Console.ReadKey();}成績大于等于80執(zhí)行成績大于等于70小于80時(shí)執(zhí)行成績大于等于60小于70時(shí)執(zhí)行小于60時(shí)執(zhí)行If…elseif…else條件語句三元運(yùn)算符多學(xué)一招——三元運(yùn)算符三元運(yùn)算符的作用和if-else語句類似。語法格式如下:
判斷條件?表達(dá)式1:表達(dá)式2intx=0;inty=1;intmax;if(x>y){max=x;}else{max=y;}獲取最大值if..else語句:獲取最大值三元云算符:intx=0;inty=1;intmax;max=x>y?x:y;Switch條件語句switch條件語句switch條件語句也是一種很常用的選擇語句,他針對(duì)某個(gè)表達(dá)式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。switch語句的具體格式:switch(表達(dá)式){
case目標(biāo)值1:
執(zhí)行語句1
break;........case目標(biāo)值n:
執(zhí)行語句n
break;default:
執(zhí)行語句n+1 break;}表達(dá)式的值與case語句中的目標(biāo)值匹配如果與表達(dá)式的值匹配,則執(zhí)行“執(zhí)行語句n”跳出switch語句,不再執(zhí)行switch中的語句如果沒找到任何匹配的值,就會(huì)執(zhí)行default后的語句Switch條件語句switch條件語句staticvoidMain(string[]args){intweek=5;switch(week){case1:…….case5:Console.WriteLine(“星期五");break;……}Console.ReadKey();}表達(dá)式的值為5表達(dá)式5匹配到的目標(biāo)值在控制臺(tái)輸出“星期五”05循環(huán)結(jié)構(gòu)語句思考題C#中的循環(huán)語句有哪些,特點(diǎn)是什么?While循環(huán)語句while循環(huán)語句循環(huán)語句:在C#中有一種可以重復(fù)執(zhí)行同一代碼塊的語句。循環(huán)語句分為while循環(huán)語句、do…while循環(huán)語句和for循環(huán)語句。while循環(huán)語句:反復(fù)地根據(jù)條件判斷來決定是否執(zhí)行大括號(hào)內(nèi)的執(zhí)行語句。while(循環(huán)條件){執(zhí)行語句………}條件成立,則執(zhí)行“執(zhí)行語句”,反復(fù)的判斷循環(huán)條件,直到不滿足條件時(shí),結(jié)束while循環(huán)while的語法結(jié)構(gòu):while執(zhí)行流程:While循環(huán)語句while循環(huán)語句usingSystem;namespaceProgram11{classProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1while(x<=4){//循環(huán)條件Console.WriteLine("x="+x);//條件成立,打印x的值x++;}Console.ReadKey();}}}1小于4,執(zhí)行循環(huán)體x進(jìn)行自增x等于2,小于4,執(zhí)行循環(huán)體x進(jìn)行自增x等于3,小于4,執(zhí)行循環(huán)體x進(jìn)行自增x等于4,執(zhí)行循環(huán)體x進(jìn)行自增x等于5,小于4,條件不成立,結(jié)束while循環(huán)Do…while循環(huán)語句do…while循環(huán)語句do…while循環(huán)語句和while循環(huán)語句功能類似,二者的不同之處在于,while語句需要先判斷循環(huán)條件,然后根據(jù)循環(huán)條件的結(jié)果來決定是否執(zhí)行大括號(hào)中的代碼,而do…while循環(huán)語句先要執(zhí)行一次大括號(hào)內(nèi)的代碼再判斷循環(huán)條件。do{執(zhí)行語句………}while(循環(huán)條件);do…while的語法結(jié)構(gòu):while執(zhí)行流程:循環(huán)體無論循環(huán)條件是否成立,循環(huán)體都執(zhí)行一次Do…while循環(huán)語句do…while循環(huán)語句usingSystem;namespaceProgram12{classProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1do{Console.WriteLine("x="+x);//打印x的值x++;//將x的值自增}while(x<=4);//循環(huán)條件Console.ReadKey();}}}首先執(zhí)行循環(huán)體,x進(jìn)行自增然后判斷循環(huán)條件是否成立,x為2,條件成立,再次執(zhí)行循環(huán)體For循環(huán)語句for循環(huán)語句for循環(huán):通常用于循環(huán)次數(shù)已知的情況。for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){
執(zhí)行語句
………}for循環(huán)的語法結(jié)構(gòu):循環(huán)體分別用①表示初始化表達(dá)式、②表示循環(huán)條件、③表示操作表達(dá)式、④表示循環(huán)體,通過序號(hào)來具體分析for循環(huán)的執(zhí)行流程。For循環(huán)語句for循環(huán)語句for(①;②;③){ ④}第一步,執(zhí)行①第二步,執(zhí)行②,如果判斷結(jié)果為true,執(zhí)行第三步,如果判斷結(jié)果為false,執(zhí)行第五步第三步,執(zhí)行④第四步,執(zhí)行③,然后繼續(xù)執(zhí)行第二步第五步,退出循環(huán)For循環(huán)語句for循環(huán)語句usingSystem;namespaceProgram13{classProgram{staticvoidMain(string[]args){intsum=0;//定義變量sum,用于記住累加的和for(inti=1;i<=4;i++){//i的值會(huì)在1~4之間變化sum+=i;//實(shí)現(xiàn)sum與i的累加}Console.WriteLine("sum="+sum);//打印累加的和Console.ReadKey();}}}i=1,并且i小于4,條件成立,執(zhí)行循環(huán)體首先執(zhí)行i++,i=2,i小于4,執(zhí)行循環(huán)體然后再次執(zhí)行i++,i=3,i小于4,執(zhí)行循環(huán)體,按照這樣的步驟執(zhí)行代碼,直到i大于4,結(jié)束循環(huán)跳轉(zhuǎn)語句跳轉(zhuǎn)語句跳轉(zhuǎn)語句:用于實(shí)現(xiàn)循環(huán)執(zhí)行過程中程序流程的跳轉(zhuǎn)。包括break語句、goto語句和continue語句。break語句使用在switch條件語句和循環(huán)語句。switch條件語句:終止某個(gè)case并跳出switch結(jié)構(gòu)。循環(huán)語句:跳出當(dāng)前循環(huán)語句,執(zhí)行后面的代碼。當(dāng)break語句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán)時(shí),他只能跳出內(nèi)層循環(huán)goto語句:當(dāng)在嵌套循環(huán)中首先需要對(duì)外層循環(huán)添加標(biāo)記,然后使用goto語句跳出外層循環(huán)。continue語句:終止本次循環(huán),并執(zhí)行下一次循環(huán)。跳轉(zhuǎn)語句跳轉(zhuǎn)語句——breakclassProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1while(x<=4){//循環(huán)條件Console.WriteLine("x="+x);//條件成立,打印x的值if(x==3){break;}x++;//x進(jìn)行自增}Console.ReadKey();}}當(dāng)x==3時(shí),執(zhí)行break語句,跳出while循環(huán),結(jié)束循環(huán)跳轉(zhuǎn)語句跳轉(zhuǎn)語句——gotostaticvoidMain(string[]args){inti,j;//定義兩個(gè)循環(huán)變量for(i=1;i<=9;i++){//外層循環(huán)for(j=1;j<=i;j++){//內(nèi)層循環(huán)if(i>4){//判斷i的值是否大于4gotoend;}Console.Write("*");//輸出*}Console.WriteLine();//換行}end:Console.ReadKey();}跳轉(zhuǎn)到end標(biāo)識(shí)的語句執(zhí)行該語句跳轉(zhuǎn)語句跳轉(zhuǎn)語句——continueclassProgram{staticvoidMain(string[]args){intsum=0;//定義變量sum,用于記住和for(inti=1;i<=100;i++){if(i%2==0){//如果i是一個(gè)偶數(shù),執(zhí)行if語句中的代碼continue;}sum+=i;//實(shí)現(xiàn)sum和i的累加}Console.WriteLine("sum="+sum);Console.ReadKey();}}結(jié)束本次循環(huán),即不執(zhí)行sum+=i;語句,直接進(jìn)入下次循環(huán)中循環(huán)嵌套循環(huán)嵌套循環(huán)嵌套:在一個(gè)循環(huán)中嵌套一個(gè)循環(huán)。最常見的嵌套循環(huán)為for循環(huán)中嵌套for循環(huán)。for循環(huán)中嵌套for循環(huán)的語法格式:for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){………for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){執(zhí)行語句
………}………}外層循環(huán)內(nèi)層循環(huán)循環(huán)嵌套循環(huán)嵌套namespaceProgram17{classProgram{staticvoidMain(string[]args){inti,j;//定義兩個(gè)循環(huán)變量for(i=1;i<=9;i++){//外層循環(huán)for(j=1;j<=i;j++){//內(nèi)層循環(huán)Console.Write("*");//打印*}Console.WriteLine();//換行}Console.ReadKey();}}}外層循環(huán)控制行數(shù)內(nèi)層循環(huán)控制在一行中打印*的個(gè)數(shù)06方法什么是方法什么是方法在程序中,將可以完成一定特定功能的代碼段提出來用一個(gè)方法來表示。例如一個(gè)段求兩個(gè)數(shù)之和代碼,我們可以用以Add()方法來表示,需要求和時(shí),只需調(diào)用Add()方法即可。方法的語法格式:[修飾符]返回值類型方法名([[參數(shù)類型參數(shù)名1],[參數(shù)類型參數(shù)名2],……]){
方法體 return返回值;}可選,修飾符可以省略,可以用于對(duì)訪問權(quán)限進(jìn)行限定,如private,也可使用靜態(tài)修飾符static描述方法返回值的數(shù)據(jù)類型方法名使用變量的命名規(guī)則中的帕斯卡命名規(guī)范用于結(jié)束方法以及返回方法指定類型的值被return語句返回的值,該值會(huì)返回給調(diào)用者用于限定調(diào)用方法時(shí)傳入?yún)?shù)的數(shù)據(jù)類型用于接收調(diào)用方法時(shí)傳入的數(shù)據(jù)什么是方法什么是方法classProgram{staticvoidMain(string[]args){……intproduct=Multiply(3,5);Console.WriteLine("num1*num2="+product);Console.ReadKey();}……//定義兩個(gè)數(shù)相乘的方法publicstaticintMultiply(intnum1,intnum2){intsum=num1*num2;returnsum;}}在Main()中調(diào)用Multiply()方法方法的重載方法的重載C#中允許在一個(gè)程序中定義多個(gè)同名方法,但是參數(shù)的類型或個(gè)數(shù)必須不同,這種方式被稱作方法的重載。重載的條件:方法名相同。參數(shù)個(gè)數(shù)或參數(shù)類型不相同。需要注意的是:方法的重載與返回值類型無關(guān)。方法的重載方法的重載//下面的方法實(shí)現(xiàn)了兩個(gè)整數(shù)相加publicstaticintAdd(intx,inty){returnx+y;}//下面的方法實(shí)現(xiàn)了三個(gè)整數(shù)相加publicstaticintAdd(intx,inty,intz){returnx+y+z;}//下面的方法實(shí)現(xiàn)了兩個(gè)小數(shù)相加publicstaticdoubleAdd(doublex,doubley){returnx+y;}Add()方法中有兩個(gè)int型的參數(shù),返回值為int型Add()方法中有三個(gè)int型的參數(shù),返回值為int型Add()方法中有三個(gè)double型的參數(shù),返回值為double型方法的重載多學(xué)一招——快速判斷方法重載快速判斷方法重載:將方法名前面的修飾符、返回類型以及方法體去掉。將方法參數(shù)列表中的參數(shù)名去掉。將兩個(gè)方法做比較,首先名稱不相同一定不是重載方法,其次如果名稱相同,其他部分不相同的構(gòu)成重載,相同的則不是重載的方法。
publicstaticintFunc(intnum){…} //方法1publicstaticboolFunc(intnum1,intnum2){…} //方法2publicstaticstringFunc(strings1,strings2){…} //方法3publicstaticstringFunc(strings2,strings1){…} //方法4 Func(intnum) //方法1 Func(intnum1,intnum2) //方法2 Func(strings1,strings2) //方法3 Func(strings2,strings1) //方法4
Func(int) //方法1 Func(int,int) //方法2 Func(string,string) //方法3 Func(string,string) //方法4
方法的重載方法的重載namespaceProgram19{classProgram{staticvoidMain(string[]args){Console.WriteLine("-2的絕對(duì)值={0}",Math.Abs(-2));
Console.WriteLine("-2的3次方={0}",Math.Pow(-2,3));
Console.WriteLine("sin(0°)={0}",Math.Sin(0));
Console.WriteLine("cos(0°)={0}",Math.Cos(0));
Console.ReadKey();}}}求0°的余弦值求-2的絕對(duì)值求-2的3次方求0°的正弦值07數(shù)組數(shù)組的定義數(shù)組的定義數(shù)組中的元素會(huì)被自動(dòng)賦予一個(gè)默認(rèn)值,根據(jù)元素類型的不同,默認(rèn)初始化的值也是不同的。數(shù)組中元素的默認(rèn)初始化值:數(shù)據(jù)類型默認(rèn)初始化值byte、short、int、long0float、double0.0char一個(gè)空字符,即’\u0000’boolfalse引用類型null,表示變量不引用任何對(duì)象數(shù)組的定義數(shù)組的定義為了更好地理解數(shù)組的這種定義方式,我們將定義和賦值分開來定義:int[]x; //聲明一個(gè)int[]類型的變量xx=newint[100]; //創(chuàng)建一個(gè)長度為100的數(shù)組
數(shù)組定義的內(nèi)存狀態(tài):聲明變量x的內(nèi)存狀態(tài):創(chuàng)建數(shù)組時(shí)的內(nèi)存狀態(tài):數(shù)組的定義數(shù)組的定義usingSystem;namespaceProgram22{classProgram{staticvoidMain(string[]args){int[]arr; arr=newint[3];Console.WriteLine("arr[0]="+arr[0]); //訪問數(shù)組中的第一個(gè)元素Console.WriteLine("arr[1]="+arr[1]); //訪問數(shù)組中的第二個(gè)元素Console.WriteLine("arr[2]="+arr[2]); //訪問數(shù)組中的第三個(gè)元素Console.WriteLine("數(shù)組的長度是:"+arr.Length);//打印數(shù)組長度Console.ReadKey();}}}聲明int型數(shù)組變量arr創(chuàng)建數(shù)組對(duì)象通過Length屬性獲取數(shù)組的長度數(shù)組的定義數(shù)組的定義數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個(gè)數(shù)據(jù)被稱作元素。在數(shù)組中可以存放任意類型的元素,但同一個(gè)數(shù)組里存放的元素類型必須一致。數(shù)組類型:一維數(shù)組和多維數(shù)組。數(shù)組的定義:int[]數(shù)組名=newint[數(shù)組的長度];
int[]數(shù)組名=newint[100];
定義一個(gè)長度為100的int型數(shù)組數(shù)組的定義數(shù)組的定義classProgram{staticvoidMain(string[]args){int[]arr=newint[4];//定義可以存儲(chǔ)4個(gè)整數(shù)的數(shù)組arr[0]=1;//為第1個(gè)元素賦值1arr[1]=2;//為第2個(gè)元素賦值2//下面的代碼是打印數(shù)組中每個(gè)元素的值Console.WriteLine("arr[0]="+arr[0]);Console.WriteLine("arr[1]="+arr[1]);Console.WriteLine("arr[2]="+arr[2]);Console.WriteLine("arr[3]="+arr[3]);Console.ReadKey();}}獲取數(shù)組中的值,數(shù)組中第3、4角標(biāo)中的值沒有賦予數(shù)組的定義數(shù)組的定義動(dòng)態(tài)初始化:在定義數(shù)組時(shí)只指定數(shù)組的長度,由系統(tǒng)自動(dòng)為元素賦初值的方式。靜態(tài)初始化:定義數(shù)組的同時(shí)就為數(shù)組的每個(gè)元素賦值。數(shù)組的靜態(tài)初始化有兩種方式:上述的兩種方式都可以實(shí)現(xiàn)數(shù)組的靜態(tài)初始化,但是為了簡便,建議采用第二種方式。1、類型[]數(shù)組名=new類型[]{元素,元素,……};2、類型[]數(shù)組名={元素,元素,元素,……};
數(shù)組的常見操作遍歷數(shù)組數(shù)組的遍歷:依次訪問數(shù)組中的每個(gè)元素。namespaceProgram27{classProgram{staticvoidMain(string[]args){int[]arr={1,2,3,4,5};//定義數(shù)組//使用for循環(huán)遍歷數(shù)組的元素for(inti=0;i<arr.Length;i++){Console.WriteLine(arr[i]);//通過索引訪問元素}Console.ReadKey();}}}數(shù)組的常見操作數(shù)組最值在操作數(shù)組時(shí),經(jīng)常需要獲取數(shù)組中元素的最值。staticintGetMax(int[]arr){intmax=arr[0];//下面通過一個(gè)for循環(huán)遍歷數(shù)組中的元素for(intx=1;x<arr.Length;x++){if(arr[x]>max){//比較arr[x]的值是否大于maxmax=arr[x];//條件成立,將arr[x]的值賦給max}}returnmax;}數(shù)組的常見操作冒泡排序冒泡排序:不斷地比較數(shù)組中相鄰的兩個(gè)元素,較小者向上浮,較大者往下沉,整個(gè)過程和水中氣泡上升的原理相似。。冒泡排序的過程:第一步,從第一個(gè)元素開始,將相鄰的兩個(gè)元素依次進(jìn)行比較,直到最后兩個(gè)元素完成比較。如果前一個(gè)元素比后一個(gè)元素大,則交換他們的位置。整個(gè)過程完成后,數(shù)組中最后一個(gè)元素自然就是最大值,這樣也就完成了第一輪比較。第二步,除了最后一個(gè)元素,將剩余的元素繼續(xù)進(jìn)行兩兩比較,過程與第一步相似,這樣就可以將數(shù)組中第二大的數(shù)放在倒數(shù)第二個(gè)位置。第三步,以此類推,持續(xù)對(duì)越來越少的元素進(jìn)行兩兩比較,直到?jīng)]有任何一對(duì)元素需要比較為止。數(shù)組的常見操作冒泡排序//定義對(duì)數(shù)組排序的方法publicstaticvoidBubbleSort(int[]arr){for(inti=0;i<arr.Length-1;i++){for(intj=0;j<arr.Length-i-1;j++){if(arr[j]>arr[j+1]){//比較相鄰元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}Console.Write(“第”+(i+1)+“輪排序后:”);}}外層循環(huán),用來控制進(jìn)行多少輪比較內(nèi)層循環(huán),控制每輪比較的次數(shù)比較相鄰元素,如果前者小于后者,就交換兩個(gè)元素的位置數(shù)組的常見操作冒泡排序冒泡排序具體執(zhí)行過程:多維數(shù)組多維數(shù)組多維數(shù)組:在數(shù)組中嵌套數(shù)組。在程序中比較常見的就是二維數(shù)組。二維數(shù)組語法格式如下:在定義數(shù)組時(shí),直接對(duì)數(shù)組中的元素進(jìn)行初始化的兩種方式:int[,]arr=newint[3,4]; 1、int[,]arr=newint[3,4]{{1,2,3,4},{1,2,3,4},{1,2,3,4}};2、int[,]arr={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
二維數(shù)組的定義數(shù)組的定義staticvoidMain(string[]args){//定義二維數(shù)組arr并賦值int[,]arr=newint[3,4]{{1,2,3,4},{2,3,3,4},{3,4,3,4}};intsum=0;//定義變量記錄總銷售額for(inti=0;i<arr.GetLength(0);i++){//遍歷數(shù)組元素intgroupSum=0;//定義變量記錄小組銷售總額//遍歷小組內(nèi)每個(gè)人的銷售額for(intj=0;j<arr.GetLength(1);j++){groupSum=groupSum+arr[i,j];}sum=sum+groupSum;//累加小組銷售額 ……}}獲取i行j列的元素08程序調(diào)試設(shè)置斷點(diǎn)設(shè)置斷點(diǎn)在程序的調(diào)試過程中,需要對(duì)程序中某些數(shù)據(jù)的變化情況進(jìn)行觀察,才能分析出程序出錯(cuò)的原因,這時(shí)就需要為程序設(shè)置斷點(diǎn)。斷點(diǎn)可以讓正在運(yùn)行的程序在需要的地方中斷,當(dāng)再次運(yùn)行程序時(shí),程序會(huì)在斷點(diǎn)處暫停,方便觀察程序中的數(shù)據(jù)。添加斷點(diǎn)的三種方式:左擊代碼左邊的灰色區(qū)域即可,斷點(diǎn)插入成功后左側(cè)會(huì)有彩色圓點(diǎn)出現(xiàn),并且插入斷點(diǎn)后的代碼會(huì)高亮顯示。在某行代碼處右擊鼠標(biāo),在彈出的快捷菜單中,選擇“斷點(diǎn)”選項(xiàng),然后選擇“插入斷點(diǎn)”即可。使用快捷鍵“F9”設(shè)置斷點(diǎn)。刪除斷點(diǎn)刪除斷點(diǎn)刪除斷點(diǎn):左擊代碼左側(cè)已插入的彩色圓點(diǎn),即可刪除斷點(diǎn)。在斷點(diǎn)上右擊選擇【刪除斷點(diǎn)】選項(xiàng)。刪除所有斷點(diǎn),快捷組合鍵“Ctrl+Shift+F9”。啟動(dòng)調(diào)試會(huì)話、檢查變量與表達(dá)式啟動(dòng)調(diào)試會(huì)話、檢查變量與表達(dá)式啟動(dòng)調(diào)試會(huì)話:通過單擊“調(diào)試”菜單中的“開始調(diào)試”按鈕(或按下F5鍵),啟動(dòng)調(diào)試會(huì)話。在調(diào)試會(huì)話中,程序?qū)⒃跀帱c(diǎn)處中斷執(zhí)行。檢查變量與表達(dá)式:當(dāng)程序在斷點(diǎn)處中斷時(shí),可以使用“自動(dòng)窗口”、“局部窗口”、“監(jiān)視窗口”等工具來檢查變量的值、執(zhí)行表達(dá)式等。這些窗口可以幫助您理解程序的執(zhí)行狀態(tài)和數(shù)據(jù)。單步調(diào)試單步調(diào)試單步調(diào)試:當(dāng)程序出現(xiàn)Bug時(shí),通常采用的是一步一步跟蹤程序執(zhí)行的流程,根據(jù)變量的值,找到錯(cuò)誤的原因的方法。單步調(diào)試分為逐語句(快捷鍵F11)和逐過程(快捷建F10)。逐語句調(diào)試會(huì)進(jìn)入方法內(nèi)部調(diào)試,單步執(zhí)行方法體中的每一行代碼,逐過程調(diào)試不會(huì)進(jìn)入方法體內(nèi)部,而是把方法當(dāng)做一行代碼來執(zhí)行。開啟單步調(diào)試:在代碼中設(shè)置斷點(diǎn)后,在工具欄中選擇Debug模式,并單擊按鈕,開啟程序調(diào)試功能。單步調(diào)試單步調(diào)試單步調(diào)試的界面:單步調(diào)試單步調(diào)試調(diào)試按鈕:調(diào)試按鈕的作用:全部中斷:該按鈕可以將正在執(zhí)行的程序全部中斷,快捷建Ctrl+Alt+Break。停止調(diào)試:該按鈕用于停止調(diào)試程序,快捷建Shift+F5。重新啟動(dòng):該按鈕用于重新啟動(dòng)程序調(diào)試,快捷鍵Ctrl+Shift+F5。顯示下一條語句:該按鈕用于顯示下一條執(zhí)行的語句,快捷鍵Alt+數(shù)字鍵*。逐語句:該按鈕可以讓程序按照逐語句進(jìn)行調(diào)試,快捷鍵F11。逐過程:該按鈕可以讓程序按照逐過程進(jìn)行調(diào)試,快捷鍵F10。跳出:該按鈕用于跳出正在執(zhí)行的程序,快捷鍵Shift+F11。單步調(diào)試單步調(diào)試當(dāng)使用逐語句和逐過程按鈕進(jìn)行單步調(diào)試,調(diào)試信息會(huì)顯示在自動(dòng)窗口、局部變量和監(jiān)視的窗口,具體信息如下:自動(dòng)窗口:自動(dòng)根據(jù)當(dāng)前選中對(duì)象顯示其調(diào)試信息。局部變量窗口:只顯示當(dāng)前幀的局部變量信息。監(jiān)視1窗口:檢索用戶自己添加的變量信息。觀察變量觀察變量觀察變量值的方法:使用自動(dòng)窗口查看變量的值。使用局部變量窗口查看變量的值使用鼠標(biāo)懸停的辦法監(jiān)視變量的值使用監(jiān)視1窗口查看變量的值使用即時(shí)窗口查看變量的值條件斷點(diǎn)條件斷點(diǎn)條件斷點(diǎn)可以快速定位到需要調(diào)試的循環(huán)次數(shù)。使用條件斷點(diǎn)調(diào)試程序的步驟如下所示:首先為需要中斷的代碼添加斷點(diǎn),然后右擊斷點(diǎn),在彈出框中單擊【條件(C)】按鈕。勾選條件選項(xiàng),將條件表達(dá)式的值設(shè)置為true,設(shè)置中斷表達(dá)式設(shè)置為,此時(shí)設(shè)置斷點(diǎn)完畢,啟動(dòng)調(diào)試,練習(xí)?本章練習(xí)請(qǐng)簡要說明&&與&的區(qū)別。請(qǐng)說明while循環(huán)與for循環(huán)的異同。?預(yù)習(xí)練習(xí)簡述面向?qū)ο蟮母拍?。本章小?jié)本章主要介紹了學(xué)習(xí)C#語言所需的基礎(chǔ)知識(shí),包括:介紹了C#語言的基本語法、常量、變量的定義;介紹了常見運(yùn)算符的使用;介紹了條件選擇語句和循環(huán)結(jié)構(gòu)語句的概念和使用;介紹了方法和數(shù)組的使用;介紹了程序調(diào)試。通過本章的學(xué)習(xí),能夠掌握C#語言的基本語法、變量和運(yùn)算符、流程控制語句、方法、數(shù)組和程序調(diào)試的使用。1.1.6面向?qū)ο蠡A(chǔ)深圳市信息職業(yè)技術(shù)學(xué)院面向?qū)ο蟮母拍?1目
錄類與對(duì)象02訪問修飾符03構(gòu)造函數(shù)04this關(guān)鍵字0506070809垃圾回收static關(guān)鍵字嵌套類匿名類對(duì)象初始化0710知識(shí)回顧C(jī)#基本語法C#中的變量C#中的運(yùn)算符選擇結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句方法數(shù)組程序調(diào)試學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí)可以:重點(diǎn)學(xué)習(xí)類的定義及對(duì)象重點(diǎn)學(xué)習(xí)構(gòu)造方法重點(diǎn)學(xué)習(xí)this和static關(guān)鍵字掌握面向?qū)ο蟮母拍钫莆赵L問修飾符掌握垃圾回收了解嵌套類了解匿名類了解對(duì)象初始化器01面向?qū)ο蟮母拍钏伎碱}面向?qū)ο笥心男┨卣鳎棵嫦驅(qū)ο蟮母拍蠲嫦驅(qū)ο蟮母拍蠲嫦驅(qū)ο螅∣bject-OrientedProgramming,簡稱OOP)是一種編程范式,它以對(duì)象作為程序的基本單元,通過對(duì)象之間的交互來實(shí)現(xiàn)程序的邏輯和功能。面向?qū)ο笏枷胗腥筇卣鳎悍庋b性、繼承性和多態(tài)性。封裝性:面向?qū)ο蟮暮诵乃枷耄麑?duì)象的特征和行為封裝起來,不需要讓外界知道具體實(shí)現(xiàn)細(xì)節(jié),這就是封裝思想。繼承性主要描述的是類與類之間的關(guān)系,通過繼承,可以在無需重新編寫原有類的情況下,對(duì)原有類的功能進(jìn)行擴(kuò)展。多態(tài)性指的是同一操作用于不同的對(duì)象,會(huì)產(chǎn)生不同的執(zhí)行結(jié)果。02類與對(duì)象思考題類的成員有哪些?怎么訪問類的成員?類與對(duì)象類與對(duì)象類是對(duì)某一類事物的抽象描述。對(duì)象用于表示現(xiàn)實(shí)中該類事物的個(gè)體。類與對(duì)象之間的關(guān)系:類對(duì)象類與對(duì)象-類的定義類的定義在面向?qū)ο蟮乃枷胫凶詈诵牡木褪菍?duì)象,為了在程序中創(chuàng)建對(duì)象,首先需要定義一個(gè)類。類是對(duì)象的抽象,他用于描述一組對(duì)象的共同特征和行為。類中可以定義字段和方法,其中字段用于描述對(duì)象的特征,方法用于描述對(duì)象的行為。定義類時(shí)需要使用到“class”關(guān)鍵字聲明。類與對(duì)象-類的定義類的定義
usingSystem;namespaceProgrom01{publicclassPerson{//定義Person類,public為訪問修飾符publicintage;//定義int類型的字段agepublicvoidSpeak(){//定義Speak()方法Console.WriteLine("大家好,我今年"+age+"歲!");}}}class關(guān)鍵字聲明Person類類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用創(chuàng)建對(duì)象:通過new關(guān)鍵字來實(shí)現(xiàn)。創(chuàng)建對(duì)象的格式:類名對(duì)象名稱=new類名();變量p和對(duì)象之間的引用關(guān)系Personp=newPerson();創(chuàng)建Person對(duì)象Person類型的變量P創(chuàng)建Person對(duì)象類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用namespaceProgrom01{classProgram{staticvoidMain(string[]args){Personp1=newPerson();//創(chuàng)建第一個(gè)Person對(duì)象Personp2=newPerson();//創(chuàng)建第二個(gè)Person對(duì)象p1.age=18;//為age字段賦值p1.Speak();//調(diào)用對(duì)象的方法p2.Speak();Console.ReadKey();}}}調(diào)用對(duì)象中的成員類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用p1和p2變量引用的對(duì)象在內(nèi)存中的狀態(tài)。類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用在實(shí)例化對(duì)象時(shí),程序會(huì)自動(dòng)為類中的字段進(jìn)行初始化默認(rèn)值,針對(duì)不同類型的字段,會(huì)賦予不同的初始值。不同類型字段的默認(rèn)初始值字段類型初始值byte0short0int0long0LDemical0.0M字段類型初始值double0.0Dchar'\0'booleanfalse引用數(shù)據(jù)類型null類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用classProgram{staticvoidMain(string[]args){Personp2=newPerson();//創(chuàng)建p2對(duì)象p2.Say();//調(diào)用Say()方法p2=null;p2.Say();Console.ReadKey();}}publicclassPerson{publicvoidSay(){//創(chuàng)建Say()方法,輸出一句話Console.WriteLine("Welcometoitcast!");}P2為null,不能引用Person類中的Say()方法,程序會(huì)拋出異常將p2對(duì)象設(shè)置為null,表示該p2變量不指向任何一個(gè)對(duì)象類與對(duì)象-對(duì)象的創(chuàng)建與使用對(duì)象的創(chuàng)建與使用對(duì)象成為垃圾的過程。類與對(duì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025保姆用工合同參考
- 2025砼泵車租賃合同m
- 2025年專利代合同(2篇)
- 2025年個(gè)人商品房租賃合同經(jīng)典版(2篇)
- 二零二五年度男方出軌離婚財(cái)產(chǎn)分割合同協(xié)議
- 旅行社和銷售人員的合同4篇
- 2025年度項(xiàng)目合作終止解聘合同證明
- 新媒體宣傳培訓(xùn)輔導(dǎo)合同(2篇)
- 戰(zhàn)友聚會(huì)發(fā)言稿合集15篇
- 成人禮學(xué)生發(fā)言稿(范文15篇)
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計(jì)
- VDA6.3過程審核報(bào)告
- 2024年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 骨科手術(shù)中常被忽略的操作課件
- 2024年全國各地中考試題分類匯編:作文題目
- 《糖拌西紅柿 》 教案()
- 彈性力學(xué)數(shù)值方法:解析法:彈性力學(xué)中的變分原理
- 河南省鄧州市2023-2024學(xué)年八年級(jí)上學(xué)期期末語文試題
- 網(wǎng)絡(luò)輿情應(yīng)對(duì)處置培訓(xùn)課件
- 物流服務(wù)項(xiàng)目的投標(biāo)書
評(píng)論
0/150
提交評(píng)論