版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(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知識回顧.NET基礎(chǔ)知識;開發(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)識符的定義、關(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í)行語句的最后都必須用分號(;)結(jié)束。C#語言是嚴(yán)格區(qū)分大小寫的。在編寫C#代碼時(shí),為了便于閱讀,通常會使用一種良好的格式進(jìn)行排版??偨Y(jié):“;”、“大小寫”、“格式”C#中的注釋C#中的注釋在編寫程序時(shí),為了使代碼易于閱讀,通常會在實(shí)現(xiàn)功能的同時(shí)為代碼加一些注釋。注釋是對程序中某個(gè)功能或者某行代碼的解釋說明,在編譯程序時(shí)編譯器不會編譯這些注釋信息。intc=10;//定義一個(gè)整型變量注釋類型單行注釋:單行注釋通常用于對程序中的某一行代碼進(jìn)行解釋,用符號“//”表示,“//”后面為被注釋的內(nèi)容??偨Y(jié):注釋使用”//”C#中的注釋C#中的注釋多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號“/*”開頭,以符號“*/”結(jié)尾。/*intc=1 0;intx=5;*////<summary>///在集合中添加元素///</summary>staticvoidAdd(){}多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號“/*”開頭,以符號“*/”結(jié)尾??偨Y(jié):注釋使用”/*......*/”C#中的標(biāo)識符C#中的標(biāo)識符在編程過程中,經(jīng)常需要在程序中定義一些符號來標(biāo)記一些名稱,如類名、方法名、參數(shù)名、變量名等,這些符號被稱為標(biāo)識符。標(biāo)識符可以由任意順序的大小寫字母、數(shù)字、下劃線(_)和@符號組成,但標(biāo)識符不能以數(shù)字開頭,且不能是C#中的關(guān)鍵字。//合法的標(biāo)識符usernameusername123user_name_userName//不合法的標(biāo)識符123usernameclass98.3HelloWorld以數(shù)字開頭關(guān)鍵字以數(shù)字開頭包含空格必須要嚴(yán)格遵守上面列出的規(guī)范,否則程序在編譯時(shí)會報(bào)錯(cuò)C#中的標(biāo)識符標(biāo)識符規(guī)范為了增強(qiáng)代碼的可讀性,建議初學(xué)者在定義標(biāo)識符時(shí)還應(yīng)該遵循以下規(guī)范:類名、方法名和屬性名中的每個(gè)單詞的首字母要大寫。例如Age。這種命名方式被稱為大駝峰命名法或帕斯卡(Pascal)命名法字段名、變量名的首字母要小寫,之后的每個(gè)單詞的首字母均為大寫。例如:age、userName。這種命名方式被稱為小駝峰命名法。。常量名中的所有字母都大寫,單詞之間用下劃線連接。例如:DAY_OF_MONTH。在程序中,應(yīng)該盡量使用有意義的英文單詞來定義標(biāo)識符,使得程序便于閱讀。例如使用userName表示用戶名,password表示密碼。C#中的關(guān)鍵字C#中的關(guān)鍵字關(guān)鍵字是編程語言中事先定義好并賦予了特殊含義的單詞,也稱作保留字。和其他語言一樣,C#中保留了許多關(guān)鍵字。注意:1、所有的關(guān)鍵字都是小寫的。
2、程序中的標(biāo)識符不能以關(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ī)會默認(rèn)為double雙精度浮點(diǎn)數(shù)。2e3f3.6d0f3.84d5.022e+23f字符常量:用于表示一個(gè)字符,一個(gè)字符常量要用一對英文半角格式的單引號('')引起來,他可以是英文字母、數(shù)字、標(biāo)點(diǎn)符號以及由轉(zhuǎn)義序列來表示的特殊字符?!產(chǎn)’‘1’‘&''\r''\u0000'空白字符C#中的常量C#中的常量字符串常量:用于表示一串連續(xù)的字符,一個(gè)字符串常量要用一對英文半角格式的雙引號(“”)引起來。"HelloWorld""123""Welcome\nXXX"""布爾常量:布爾常量即布爾型的兩個(gè)值true和false,該常量用于區(qū)分一個(gè)事物的真與假。null常量:null常量只有一個(gè)值null,表示對象的引用為空。02C#中的變量變量的定義變量的定義程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識符來標(biāo)識。這些內(nèi)存單元我們稱之為變量,定義的標(biāo)識符就是變量名,內(nèi)存單元中存儲的數(shù)據(jù)就是變量的值。intx=0,y;y=x+3;變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型C#是一門強(qiáng)類型的編程語言,他對變量的數(shù)據(jù)類型有嚴(yán)格的限定。在定義變量時(shí)必須聲明變量的類型,在為變量賦值時(shí)必須賦予和變量同一種類型的值,否則程序會報(bào)錯(cuò)。變量的數(shù)據(jù)類型值類型引用類型變量的數(shù)據(jù)類型整數(shù)類型變量整數(shù)類型變量:用來存儲整數(shù)數(shù)值,即沒有小數(shù)部分的值。整數(shù)類型分類:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)四種類型所占存儲空間的大小以及取值范圍:類型名占用空間取值范圍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ù)類型變量:用來存儲小數(shù)數(shù)值。浮點(diǎn)數(shù)類型分類:單精度浮點(diǎn)數(shù)(float)、雙精度浮點(diǎn)數(shù)(double),double型所表示的浮點(diǎn)數(shù)比float型更精確。兩種浮點(diǎn)數(shù)所占存儲空間的大小以及取值范圍:類型名占用空間取值范圍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ù)會被默認(rèn)為double類型的值,因此在為一個(gè)float類型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面一定要加上字母“F”(或者小寫“f”);而為double類型的變量賦值時(shí),可以在所賦值的后面加上字符“D”(或小寫“d”),也可以不加。變量的數(shù)據(jù)類型字符類型變量字符類型變量:用于存儲一個(gè)單一字符,在C#中用char表示。占用空間:C#中每個(gè)char類型的字符變量都會占用2個(gè)字節(jié)。符號:在給char類型的變量賦值時(shí),需要用一對英文半角格式的單引號(‘’)把字符括起來,如‘a(chǎn)‘。charc='a';//為一個(gè)char類型的變量賦值字符'a'變量的數(shù)據(jù)類型布爾類型變量布爾類型變量:布爾類型變量用來存儲布爾值,在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)換分類:自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。自動類型轉(zhuǎn)換:自動類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進(jìn)行聲明。自動類型轉(zhuǎn)換滿足的條件:兩種數(shù)據(jù)類型彼此兼容。目標(biāo)類型的取值范圍大于源類型的取值范圍。變量的類型轉(zhuǎn)換自動類型轉(zhuǎn)換自動類型轉(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í),自動類型轉(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è)作用范圍稱為變量的作用域。程序中,變量一定會被定義在某一對大括號中,該大括號所包含的代碼區(qū)域便是這個(gè)變量的作用域。一對大括號就是一個(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的作用域在紅色大括號內(nèi)y的作用域y的作用域外訪問變量外y,會出現(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)算的符號特點(diǎn):將常量、變量或表達(dá)式的值賦給某一個(gè)變量特點(diǎn):對兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值特點(diǎn):邏輯運(yùn)算符用于對布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型特點(diǎn):專門針對數(shù)字0和1進(jìn)行操作的算術(shù)運(yùn)算符算術(shù)運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果+正號+33-負(fù)號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)算的符號,這是最簡單、最常用的運(yùn)算符號。算術(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é)果會是一個(gè)小數(shù)。在進(jìn)行取模(%)運(yùn)算時(shí),運(yùn)算結(jié)果的正負(fù)取決于被模數(shù)(%左邊的數(shù))的符號,與模數(shù)(%右邊的數(shù))的符號無關(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#中可以通過一條賦值語句對多個(gè)變量進(jìn)行賦值算術(shù)運(yùn)算符除了“=”,其他的都是特殊的賦值運(yùn)算符,以“+=”為例,x+=3就相當(dāng)于x=x+3,首先會進(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)算符:用于對兩個(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)算符:用于對布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型。邏輯運(yùn)算符及其用法:邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符運(yùn)算過程中的細(xì)節(jié):
邏輯運(yùn)算符可以針對結(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á)式都會進(jìn)行運(yùn)算。如果使用“&&”進(jìn)行運(yùn)算,當(dāng)左邊為false時(shí),右邊的表達(dá)式不會進(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á)式不會進(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)算符:是針對二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號,他是專門針對數(shù)字0和1進(jìn)行操作的。位運(yùn)算符
及其用法:運(yùn)算符的優(yōu)先級運(yùn)算符的優(yōu)先級優(yōu)先級運(yùn)算符1.[]()2++--~!(數(shù)據(jù)類型)3*/%4+-5<<>>>>>6<><=>=7==!=在對一些比較復(fù)雜的表達(dá)式進(jìn)行運(yùn)算時(shí),要明確表達(dá)式中所有運(yùn)算符參與運(yùn)算的先后順序,我們把這種順序稱作運(yùn)算符的優(yōu)先級。運(yùn)算符的優(yōu)先級:優(yōu)先級運(yùn)算符8&9++--~!10&11|12&&13?:(三元運(yùn)算符)14=*=/=%=+=-=<<=>>=>>>=&=^=|=04選擇結(jié)構(gòu)語句思考題C#中的條件語句有哪些,特點(diǎn)是什么?If條件語句if條件語句選擇語句:需要對一些條件作出判斷,從而決定執(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大括號中的代碼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,判斷條件不成立。因此會執(zhí)行else后面{}中的語句if…else條件語句If…elseif…else條件語句If…elseif…else條件語句if…elseif…else語句:用于對多個(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("該成績的等級為優(yōu)");}elseif(grade>=70){Console.WriteLine("該成績的等級為良");}elseif(grade>=60){Console.WriteLine("該成績的等級為中");}else{Console.WriteLine("該成績的等級為差");}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條件語句也是一種很常用的選擇語句,他針對某個(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中的語句如果沒找到任何匹配的值,就會執(zhí)行default后的語句Switch條件語句switch條件語句staticvoidMain(string[]args){intweek=5;switch(week){case1:…….case5:Console.WriteLine(“星期五");break;……}Console.ReadKey();}表達(dá)式的值為5表達(dá)式5匹配到的目標(biāo)值在控制臺輸出“星期五”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í)行大括號內(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í)行大括號中的代碼,而do…while循環(huán)語句先要執(zhí)行一次大括號內(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)體,通過序號來具體分析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的值會在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)中首先需要對外層循環(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)識的語句執(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返回值;}可選,修飾符可以省略,可以用于對訪問權(quán)限進(jìn)行限定,如private,也可使用靜態(tài)修飾符static描述方法返回值的數(shù)據(jù)類型方法名使用變量的命名規(guī)則中的帕斯卡命名規(guī)范用于結(jié)束方法以及返回方法指定類型的值被return語句返回的值,該值會返回給調(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的絕對值={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的絕對值求-2的3次方求0°的正弦值07數(shù)組數(shù)組的定義數(shù)組的定義數(shù)組中的元素會被自動賦予一個(gè)默認(rèn)值,根據(jù)元素類型的不同,默認(rèn)初始化的值也是不同的。數(shù)組中元素的默認(rèn)初始化值:數(shù)據(jù)類型默認(rèn)初始化值byte、short、int、long0float、double0.0char一個(gè)空字符,即’\u0000’boolfalse引用類型null,表示變量不引用任何對象數(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ù)組對象通過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];//定義可以存儲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ù)組的定義動態(tài)初始化:在定義數(shù)組時(shí)只指定數(shù)組的長度,由系統(tǒ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ù)對越來越少的元素進(jìn)行兩兩比較,直到?jīng)]有任何一對元素需要比較為止。數(shù)組的常見操作冒泡排序//定義對數(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í),直接對數(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源儲能系統(tǒng)承包安裝合同4篇
- 2024美容美發(fā)產(chǎn)品購銷簡單合同范本
- 2025年度深層水文地質(zhì)勘探打井勞務(wù)服務(wù)合同4篇
- 2024版智能家居設(shè)備租賃合同
- 2024私人房屋買賣合同范本53299
- 2024銷售無標(biāo)簽油煙機(jī)合同范本
- 2024版金融信息服務(wù)框架合同
- 2024運(yùn)營總監(jiān)企業(yè)創(chuàng)新機(jī)制與激勵(lì)機(jī)制合同3篇
- 2025年度停車場照明設(shè)施改造承包合同4篇
- 2021-2026年中國飲料瓶智能回收機(jī)市場調(diào)查研究及行業(yè)投資潛力預(yù)測報(bào)告
- 拆遷評估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測胃殘余量
- 上海市松江區(qū)市級名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測試題含解析
- 綜合實(shí)踐活動教案三上
- 《新能源汽車電氣設(shè)備構(gòu)造與維修》項(xiàng)目三 新能源汽車照明與信號系統(tǒng)檢修
- 2024年新課標(biāo)《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》測試題(附含答案)
- 醫(yī)院培訓(xùn)課件:《靜脈中等長度導(dǎo)管臨床應(yīng)用專家共識》
- 趣味知識問答100道
- 中國國際大學(xué)生創(chuàng)新大賽與“挑戰(zhàn)杯”大學(xué)生創(chuàng)業(yè)計(jì)劃競賽(第十一章)大學(xué)生創(chuàng)新創(chuàng)業(yè)教程
- 鋼管豎向承載力表
- 2024年新北師大版八年級上冊物理全冊教學(xué)課件(新版教材)
評論
0/150
提交評論