版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C#語法基礎(chǔ)語法基礎(chǔ)本章知識點本章知識點nC#語言的特點 nC#語言的數(shù)據(jù)類型 n條件與循環(huán)結(jié)構(gòu) nC#語言面向?qū)ο蟮奶匦?n常用系統(tǒng)類 C#語言的特點(了解)nC#語言是微軟公司為.NET平臺精心設(shè)計的程序設(shè)計語言n7000多種類型n依靠命名空間(Namespace)將多個提供相似功能的類組織在相關(guān)的單元中,以分層的命名空間結(jié)構(gòu)來組織 n常用命名空間nsystemnSystem.datanSystem.IOnSystem.ThreadingnSystem.WebnSystem.DrawingC#語言的數(shù)據(jù)類型n值類型和引用類型C#語言的數(shù)據(jù)類型值類型(了解)類 型FCL類型描 述默 認 值s
2、byteSystem.SByte有符號8位整數(shù)0byteSystem.Byte無符號8位整數(shù)0shortSystem.Int16有符號16位整數(shù)0ushortSystem.UInt16無符號16位整數(shù)0intSystem.Int32有符號32位整數(shù)0uintSystem.UInt32無符號32位整數(shù)0longSystem.Int64有符號64位整數(shù)0LulongSystem.UInt64無符號64位整數(shù)0charSystem.Char16位Unicode字符0floatSystem.Single32位單精度浮點數(shù)0.0FdoubleSystem.Double64位雙精度浮點數(shù)0.0DboolS
3、ystem.Booleantrue或false布爾值falsedecimalSystem.Decimal128位高精度浮點數(shù)0.0MC#語言的數(shù)據(jù)類型引用類型訪問限定修飾符描 述public可以被所有類及其方法訪問private僅可以被所定義的類中的方法訪問protected僅可以被所定義的類及其派生類中的方法訪問internal僅可以被所定義的同一項目中的方法訪問protected internal僅可以被所定義的類、派生類及同一項目中的方法訪問n引用類型的訪問限定修飾符(了解)n引用類型的預定義特性(了解)預定義特性描 述abstract不能被實例化,可以用做其他類型的基類型;如果派生類不
4、是抽象的,則可以創(chuàng)建它的實例sealed不能用做基類型new子類不會重寫基類中的方法,應(yīng)用于虛方法C#語言的數(shù)據(jù)類型引用類型(了解)n類n類是對一系列具有相同性質(zhì)的對象的抽象,是對對象共同特征的描述,是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象的集合。 n接口n委托C#語言的數(shù)據(jù)類型引用類型n字符串nObjectnSystem.Object是.NET框架中所有類型的根類型。常量和變量n常量常量n常量的命名規(guī)則如下:n可以使用字母、數(shù)字、下劃線等字符;n不可以使用空格、斜杠、逗號、句號等特殊字符;n首字母必須是英文字母;n長度不能超過255個字符;n不能使用C#中的關(guān)鍵字,如using,int,voi
5、d等。 n變量變量 n變量名的第一個字符必須是字母、下劃線或;n如果第一個字符是,則第二個字符不能是數(shù)字;n其余的字符可以是字母、下劃線或數(shù)字。數(shù)組(皆由system.Array類派生而來,具有array的屬性和方法)n一維數(shù)組一維數(shù)組 n一維數(shù)組的聲明需要指明數(shù)組元素的類型和數(shù)組的名稱。例如,聲明一個整數(shù)數(shù)組的代碼如下:nint Array; n數(shù)組必須在初始化之后才可以使用,通過關(guān)鍵字new來對數(shù)組進行初始化并指定數(shù)組長度。例如:nint Array=new int3;nArray0=2;nArray1=3;nArray2=4;或nint Array=new int32,3,4;nint
6、Array=new int 2,3,4; 數(shù)組n二維數(shù)組和多維數(shù)組二維數(shù)組和多維數(shù)組 n二維數(shù)組的聲明需要指明數(shù)組元素的類型和數(shù)組的名稱。例如 :nint, Array; n二維數(shù)組的初始化類似于一維數(shù)組,例如 :nint, Array=new int2,31,2,3,4,5,6 ;或nint, Array=new int,1,2,3,4,5,6 ;n多維數(shù)組的數(shù)組元素本身也是數(shù)組,又可以分為規(guī)則多維數(shù)組和不規(guī)則多維數(shù)組,如:nint, Array=new int2,3,4; 例例23數(shù)組nArrayList nArrayList是一種特殊的數(shù)組,它提供的一些功能超過了標準的數(shù)組,通過添加和清
7、除元素可以動態(tài)地改變其大小。nArrayList與System.Array的區(qū)別有: nArray可以定義多維數(shù)組,ArrayList只能定義一維數(shù)組;nArray可以定義自己的下限,ArrayList的下限始終為0;nArray的元素通常是特定類型的,ArrayList的元素都是object類型的,因此需要進行裝箱和拆箱的操作,內(nèi)存分配的代價很高;nArray的元素數(shù)目是固定的,ArrayList的元素數(shù)目可以自動擴展。例例2-4運算符nC#的運算符可以分為一元運算符、二元運算符和三元運算符。的運算符可以分為一元運算符、二元運算符和三元運算符。類 型運 算 符算數(shù)+ - * / %賦值= +
8、= -= *= /= % &= != = =關(guān)系= != =邏輯& | ! & | true false字符串連接+遞增、遞減+ -成員訪問.轉(zhuǎn)換索引 類型轉(zhuǎn)換( )三元運算符?:委托連接和刪除+ =對象創(chuàng)建new類型信息is sizeof typeof溢出例外控制checked unchecked間接尋址* - &條件語句條件語句n當在邏輯上需要根據(jù)條件進行判斷時,使用條件語句。條件語句以邏輯判斷為基礎(chǔ),可以根據(jù)條件是否滿足或表達式的值來控制程序的執(zhí)行。n在C#中,存在兩種執(zhí)行分支判斷的結(jié)構(gòu)。一種是if語句,用于判斷特定條件是否滿足;另一種是switch語句,
9、用于比較表達式和多個不同的值。服務(wù)器條件語句條件語句ifelsenC#中的ifelse語句的語法結(jié)構(gòu)與C,C+和Java中的是一致的。 例2-5語法格式為: if(條件)執(zhí)行語句;或if(條件)執(zhí)行語句1;else執(zhí)行語句2;條件語句條件語句switchcasen要實現(xiàn)多重分支判斷,一般采用switchcase語句。switchcase語句可以根據(jù)條件從一組不同的分支中選擇一個來執(zhí)行。例例2-6switch(條件)case 常數(shù)表達式1:執(zhí)行語句;break;case 常數(shù)表達式2:執(zhí)行語句;break;case 常數(shù)表達式3:執(zhí)行語句;break;default:默認的處理語句;break;
10、 循環(huán)語句循環(huán)語句n循環(huán)語句可以實現(xiàn)對一組執(zhí)行語句的重復運行,它對于簡化程序、組織算法具有重要意義 。n在C#中,提供了4種不同的循環(huán)語句:for循環(huán)、while循環(huán)、dowhile循環(huán)和foreach循環(huán)。循環(huán)語句循環(huán)語句for循環(huán)循環(huán)nC#中的for循環(huán)與C+和Java中的語法是相同的,在循環(huán)次數(shù)確定的情況下,推薦使用for循環(huán) 。 例2-7語法格式為:for(初始變量;循環(huán)條件;計數(shù)器)循環(huán)語句; 循環(huán)語句循環(huán)語句while循環(huán)循環(huán)n與for循環(huán)相同,while循環(huán)也是有條件地將循環(huán)語句執(zhí)行若干遍,但while循環(huán)不需要確定循環(huán)次數(shù)。 例2-8語法格式為:while(循環(huán)條件)循環(huán)語句;
11、 循環(huán)語句循環(huán)語句dowhile循環(huán)循環(huán)n與while循環(huán)的不同之處在于,dowhile循環(huán)先執(zhí)行循環(huán)語句,然后對循環(huán)條件進行判斷,所以至少會執(zhí)行一次循環(huán)語句。例2-9語法格式為:do循環(huán)語句;while(循環(huán)條件)循環(huán)語句循環(huán)語句foreach循環(huán)循環(huán)nforeach循環(huán)主要用于操作數(shù)組或集合內(nèi)的每一個元素。foreach循環(huán)可以在支持IEnumerable接口的容器類中遍歷每一項 。例2-10語法格式為:foreach(類型 變量名 in 集合) 循環(huán)語句; string s = A, B, C, D, E ; foreach (string i in s) Console.Write(i
12、 + ;); 面向?qū)ο螅私猓┟嫦驅(qū)ο螅私猓╈o態(tài)成員靜態(tài)成員n有時需要一種方法在所屬的類還沒有創(chuàng)建實例的時候就能夠使用,或者需要一個成員變量的值不需要跟某個對象實例相關(guān)聯(lián),那么這時就可以使用靜態(tài)方法或靜態(tài)成員變量。在C#中,用關(guān)鍵字static來表示靜態(tài)成員。 public class Toolspublic static void Log(string error) 面向?qū)ο竺嫦驅(qū)ο髮傩院吞匦詫傩院吞匦詎屬性(Property)n屬性和字段是有區(qū)別的,因為對屬性的訪問是受限制的,只能通過get和set訪問器方法來訪問屬性。n屬性的存儲和讀取是由get和set訪問器方法定義的??梢栽趃et訪
13、問器方法中編寫代碼來決定如何讀取一個屬性值,在set訪問器方法中編寫代碼來決定如何存儲一個屬性值。n通過省略get或set訪問器方法,可以使一個屬性只讀或只寫。 n例2-11(略)屬性和特性(了解)屬性和特性(了解)n特性(Attribute略)n.NET框架提供了特性,通過特性可以擴充C#語言的能力。Attribute是一種聲明標記,可以用它把與編程元素的行為相關(guān)的信息傳遞給CLR。n特性可以看做一種程序能夠存儲和使用的代碼注釋。在大多數(shù)情況下,可以編寫檢索某一特性值的代碼,也可以編寫在運行時進行行為改變的代碼。n特性可以應(yīng)用到不同的編程元素中。 n在應(yīng)用特性的編程元素前的方括號“ ”中,可
14、以指定特性名和特性的值。n還可以對任一個元素應(yīng)用多個特性。 繼承與多態(tài)(了解)繼承與多態(tài)(了解)n繼承n任何類都可以從另一個類繼承,被繼承的類稱為父類,也稱為基類。在C#中,派生類只能從一個基類中繼承,但可以通過繼承多個接口來實現(xiàn)類似于多繼承的功能。 n例212略繼承與多態(tài)(了解)繼承與多態(tài)(了解)n多態(tài)n多態(tài)表現(xiàn)為派生類在繼承基類之后,它從基類繼承而來的成員可以表示與基類相應(yīng)成員不同的含義。 n例213、214(略)常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換nSystem.Convert類的靜態(tài)方法類的靜態(tài)方法 方 法說 明ToInt32(Value)轉(zhuǎn)化為32位整數(shù)ToInt64(Value)轉(zhuǎn)
15、化為64位整數(shù)ToSingle(Value)轉(zhuǎn)化為單精度浮點數(shù)ToDouble(Value)轉(zhuǎn)化為雙精度浮點數(shù)ToDecimal(Value)轉(zhuǎn)化為128位高精度浮點數(shù)ToDateTime(Value)轉(zhuǎn)化為日期ToString(Value)轉(zhuǎn)化為字符串ToBoolean(Value)轉(zhuǎn)化為布爾類型常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換n例如,將字符串型轉(zhuǎn)換為整型,或者將字符串型轉(zhuǎn)換為日期型,程序代碼為:string s1=“123”;int a=Convert.ToInt32(s1);string s2=10/31/2005;datetime b=Convert.ToDateTime(s2);
16、 nSystem.Int32,System.Double和System.Single又都具有靜態(tài)方法Parse,也可以用來進行相應(yīng)的類型轉(zhuǎn)換。例如:string s3=123.456;double c=double.Parse(s3);或double c=Convert.ToDouble(s3); 常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換常用系統(tǒng)類數(shù)據(jù)轉(zhuǎn)換n而ToString方法也是比較特殊的。前面的根類型Object類具有ToString方法,因此各種類型也都繼承了此方法。例如:int i=123; string d=Convert.ToString(i);或 string d=i.ToString();或 st
17、ring d=123.ToString(); 都是正確的。 常用系統(tǒng)類常用系統(tǒng)類(了解(了解)字符串操作)字符串操作nSystem. String類的靜態(tài)屬性和方法類的靜態(tài)屬性和方法 例如:int i=String.Compare(Hello,hello);string s1=Aa,Bb,Cc;string s2=String.Join(;,s1);靜態(tài)屬性和方法說 明Empty靜態(tài)屬性,表示空字符串。true表示空字符串,false表示不是空字符串Compare(string1,string2,true/false)比較兩個字符串,如果相等,則結(jié)果為0。第三個參數(shù)可以省略,true表示區(qū)分大
18、小寫,false表示不區(qū)分,默認為trueJoin(分隔符,數(shù)組)將字符串數(shù)組連接成一個字符串,每一個數(shù)組變量之間用第一個參數(shù)作為分隔符隔開常用系統(tǒng)類字符串操作常用系統(tǒng)類字符串操作nSystem. String類的實例屬性和方法(了解)類的實例屬性和方法(了解) 實例屬性和方法說 明Length返回字符串的長度SubString(start,length)從字符串的第start個字符開始取得length長度的字符串。若length參數(shù)省略,則截取到結(jié)尾IndexOf(string)返回string在字符串中第一次出現(xiàn)的位置Replace(string1,string2)將字符串中的子字符串st
19、ring1替換為string2Split(分隔符)將字符串根據(jù)分隔符拆分成一個數(shù)組。如果省略,則使用空格作為分隔符ToLower()將字符串里所有大寫字母轉(zhuǎn)化為小寫字母ToUpper()將字符串里所有小寫字母轉(zhuǎn)化為大寫字母Trim(Char數(shù)組)如果省略參數(shù),則將字符串前后的空格、制表符、換行符等刪除。如果使用Char數(shù)組,則將字符串前后發(fā)現(xiàn)的數(shù)組的字符全部刪除StartsWith(string)如果指定字符串以string開頭,則返回true,否則返回falseEndsWith(string)如果指定字符串以string結(jié)尾,則返回true,否則返回falseLastIndexOf(stri
20、ng)返回string在指定字符串最后一次出現(xiàn)的位置IndexOfAny(string)返回數(shù)組中任一個字符在指定字符串中第一次出現(xiàn)的位置LastIndexOfAny(string)返回數(shù)組中任一個字符在指定字符串中最后一次出現(xiàn)的位置常用系統(tǒng)類字符串操作常用系統(tǒng)類字符串操作例如:string s=HelloWorld!;int i1=s.Length; string wor=s.SubString(5,3); int i2=s.IndexOf(o);s.Replace(World,.NET);常用系統(tǒng)類日期和時間操作常用系統(tǒng)類日期和時間操作 nSystem. DateTime類的靜態(tài)屬性和方法
21、類的靜態(tài)屬性和方法 例如:在控制臺中輸出現(xiàn)在的時間和今天的日期,程序代碼為:Console.WriteLine(“現(xiàn)在是:”+DateTime.Now);/輸出當前時間Console.WriteLine(今天是:+DateTime.Today);/輸出當前日期靜態(tài)屬性和方法說 明Now取得系統(tǒng)當前的日期和時間Today取得系統(tǒng)當前的日期Compare(DateTime1,DateTime2)比較兩個日期,如果相等,則返回0;如果第一個大,則返回-1;反之,則返回1常用系統(tǒng)類日期和時間操作常用系統(tǒng)類日期和時間操作 nSystem. DateTime類的實例屬性和方法類的實例屬性和方法 實例屬性和
22、方法說 明Year取得給定DateTime值的年份Month取得給定DateTime值的月份Day取得給定DateTime值的當月日期Hour取得給定DateTime值是第幾小時Minute取得給定DateTime值是第幾分Second取得給定DateTime值是第幾秒DayOfWeek取得給定DateTime值是星期幾DayOfYear取得給定DateTime值是一年中的第幾天Date取得給定DateTime值的日期信息TimeOfDay取得給定DateTime值的時間信息常用系統(tǒng)類日期和時間操作常用系統(tǒng)類日期和時間操作AddYears(int)取得給定DateTime值加上int年AddM
23、onths(int)取得給定DateTime值加上int月AddDays(int)取得給定DateTime值加上int天AddHours(int)取得給定DateTime值加上int小時AddMinutes(int)取得給定DateTime值加上int分AddSeconds(int)取得給定DateTime值加上int秒ToLongDateString()將給定的DateTime值轉(zhuǎn)換為長日期格式的字符串ToShortDateString()將給定的DateTime值轉(zhuǎn)換為短日期格式的字符串ToLongTimeString()將給定的DateTime值轉(zhuǎn)換為長時間格式的字符串ToShortTimeString()將給定的DateTime值轉(zhuǎn)換為短時間格式的字符串Add(時間段)為給定DateTime值加上一個時間段Subtract(時間段)為給定DateTime值減去一個時間段常用系統(tǒng)類日期和時間操作常用系統(tǒng)類日期和時間操作DateTime s=DateTime.Now;Console.WriteLine(今年是:+s.Year);Console.WriteLine(今天是:+s.Day+號);Console.WriteLine(今天是星期
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年河南工業(yè)和信息化職業(yè)學院高職單招職業(yè)適應(yīng)性測試參考題庫有答案解析
- 2026年廣州鐵路職業(yè)技術(shù)學院單招職業(yè)技能筆試備考題庫帶答案解析
- 2026年貴陽幼兒師范高等??茖W校單招綜合素質(zhì)考試模擬試題帶答案解析
- 財經(jīng)應(yīng)用文規(guī)章制度課件
- 財稅顧問課件模板
- 2026年河南女子職業(yè)學院單招綜合素質(zhì)考試參考題庫帶答案解析
- 2026年常德職業(yè)技術(shù)學院單招綜合素質(zhì)筆試參考題庫帶答案解析
- 財政預算執(zhí)行審計課件
- 財政的職能教學課件
- 2026年湖南藝術(shù)職業(yè)學院高職單招職業(yè)適應(yīng)性測試備考試題有答案解析
- 2025-2026學年人教版九年級上冊歷史期末試卷(含答案和解析)
- 《小學語文六年級上冊第三單元復習》課件
- 小區(qū)配電室用電安全培訓課件
- 杭州余杭水務(wù)有限公司2025年度公開招聘備考題庫附答案詳解
- 鹿邑縣2025年事業(yè)單位引進高層次人才備考題庫及答案詳解(新)
- 2025云南昆明巫家壩城市發(fā)展建設(shè)有限公司社會招聘14人筆試歷年難易錯考點試卷帶答案解析
- 2025年大學(直播電商實訓)管理實操試題及答案
- 醫(yī)院重癥醫(yī)學科主任談重癥醫(yī)學治療
- 云南省2025年普通高中學業(yè)水平合格性考試地理試題
- 基礎(chǔ)土方回填施工工藝方案
- 2025年蘇州工業(yè)園區(qū)領(lǐng)軍創(chuàng)業(yè)投資有限公司招聘備考題庫及一套答案詳解
評論
0/150
提交評論