Visual C Sharp基礎(chǔ)(數(shù)據(jù)類型)課件_第1頁
Visual C Sharp基礎(chǔ)(數(shù)據(jù)類型)課件_第2頁
Visual C Sharp基礎(chǔ)(數(shù)據(jù)類型)課件_第3頁
Visual C Sharp基礎(chǔ)(數(shù)據(jù)類型)課件_第4頁
Visual C Sharp基礎(chǔ)(數(shù)據(jù)類型)課件_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 數(shù)據(jù)類型、運算符與常用方法數(shù)據(jù)類型數(shù)據(jù)是程序的必要組成部分,也是程序的處理對象。對應(yīng)用程序中的數(shù)據(jù)來說,每個數(shù)據(jù)都必須具有確定的數(shù)據(jù)類型,數(shù)據(jù)的類型決定了該數(shù)據(jù)能夠取值的范圍以及能夠參加的操作堆棧存儲單元iNumiNum = 100;iNum = iNum+10;0100110聲明并初始化變量 聲明 指定類型 指定變量名 以分號結(jié)束int numberOfVisitors;初始化變量 使用賦值運算符 (=) 指定值 以分號結(jié)束123123賦值 附加后綴1decimal deposit = 100M;string bear;string bear = Grizzly;命名變量關(guān)于變量命名的一般

2、建議 :變量名應(yīng)具有描述性質(zhì)在包含多個單詞的變量名中,從第二個單詞開始,每個單詞都采取首字母大寫的形式 變量名最好以小寫字母開頭 課堂討論13請谷歌()或愛詞霸()來幫忙。2我英文不好,如何給變量起合適的英文名?整數(shù)類型 整數(shù)類型在計算機中的取值范圍 描述位數(shù)數(shù)據(jù)類型取值范圍有符號整數(shù)8sbyte12812716short32 76832 76732int2 147 483 6482 147 483 64764long9 223 372 036 854 775 8089 223 372 036 854 775 807無符號整數(shù)8byte025516ushort065 53532uint04 2

3、94 967 29564ulong018 446 744 073 709 551 615浮點類型 浮點類型在計算機中的取值范圍 描述位數(shù)數(shù)據(jù)類型取值范圍單精度浮點型32float1.51045 到3.41038, 7位精度雙精度浮點型64double5.010324 1.710308,15位精度布爾類型 布爾類型表示現(xiàn)實中的“真”或“假”這兩個概念,主要用來進行邏輯判斷。在C#中,分別采用true和false這兩個值來表示“真”和“假”。描述位數(shù)數(shù)據(jù)類型取值范圍布爾類型8bool true或false字符類型字符類型采用國際上公認的Unicode標準字符集描述位數(shù)數(shù)據(jù)類型取值范圍字符類型16c

4、har在065 535范圍內(nèi)以雙字節(jié)編碼的任意符號char(字符型)字符數(shù)據(jù)類型在C#程序設(shè)計中,可以使用一條語句定義一個或者若干個字符型變量,例如:char myChar;/定義了一個字符型變量myCharchar myChar1, myChar2;/同時定義了兩個字符型變量 在C#程序設(shè)計中,同樣可以在定義字符型變量的同時對其進行初始化。對字符型變量的初始化值只能是單個的字符常量,若使用字符串數(shù)據(jù)初始化字符變量,編譯系統(tǒng)會指出不能將字符串轉(zhuǎn)換為字符的錯誤。 下面是一些不正確的字符型變量初始化示例:/A+1是整型數(shù)據(jù)常量,不能自動轉(zhuǎn)換為字符char myChar1 = A+1; /“a”是字

5、符串常量,不能轉(zhuǎn)換為字符char myChar2 = a;/在u后面十六進制數(shù)據(jù)不足4位char myChar3 = u041; 下面是一些正確的字符型變量初始化示例:char myChar1 = A;char myChar2 = x41;char myChar3 = u0041;String常用方法C# 中常用的字符串處理方法:Equals() :比較兩個字符串的值是否相等Join():連接字符串Split():分割字符串IndexOf():查找某個字符在字符串中的位置SubString():從字符串中截取子字符串ToLower():將字符串轉(zhuǎn)換成小寫形式Trim():去掉字符串兩邊的空格常

6、量 定義:常量就是其值固定不變的量聲明方法:const 數(shù)據(jù)類型 常量表達式;怎樣進行隱式類型轉(zhuǎn)換隱式轉(zhuǎn)換:自動類型轉(zhuǎn)換floatint規(guī)則:對于數(shù)值類型,A的取值范圍完全包含在B內(nèi)AB隱式數(shù)值轉(zhuǎn)換 隱式數(shù)值轉(zhuǎn)換包括以下幾種:從到sbyteshort、int、long、float、double 或 decimalbyteshort、ushort、int、uint、long、ulong、float、double 或 decimalshortint、long、float、double 或 decimalushortint、uint、long、ulong、float、double 或 decimal

7、intlong、float、double 或 decimaluintlong、ulong、float、double 或 decimallongfloat、double 或 decimalulongfloat、double 或 decimalcharushort、int、uint、long、ulong、float、double 或 decimalfloatdoublestatic void Main(string args) double score = 58.5; / 原始成績 int bonus = 2; / 加分 int sum; / 總分 sum = score + bonus; / 計

8、算總分 Console.WriteLine(sum); Console.ReadLine();怎樣進行顯式類型轉(zhuǎn)換static void Main(string args) double score = 58.5; int bonus = 2; int sum; sum = (int)score + bonus; Console.WriteLine(sum); Console.ReadLine();明確告訴編譯器轉(zhuǎn)換類型注意:double (58.5)-int (58),精度可能丟失!顯式轉(zhuǎn)換:強制類型轉(zhuǎn)換顯式數(shù)值轉(zhuǎn)換 顯式數(shù)值轉(zhuǎn)換是指當不存在相應(yīng)的隱式數(shù)值轉(zhuǎn)換時,從一種數(shù)值類型到另一種數(shù)值類

9、型的轉(zhuǎn)換。從到sbytebyte、ushort、uint、ulong或charbytesbyte或charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、short或charintsbyte、byte、short、ushort、uint、ulong或charuintsbyte、byte、short、ushort、int或charlongsbyte、byte、short、ushort、int、uint、ulong或charulongsbyte、byte、short、ushort、int、uint、long或charcharsbyte、

10、byte或shortfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimaldoublesbyte、byte、short、ushort、int、uint、long、ulong、char、float或decimaldecimalsbyte、byte、short、ushort、int、uint、long、ulong、char、float或double使用 Parse() 進行轉(zhuǎn)換字符串和數(shù)值型的互相轉(zhuǎn)換 intfloatdoublestringint.Parse( )float.Parse( )double.Parse( )ToSt

11、ring()必須是數(shù)字的有效表示形式!使用 Convert 類進行轉(zhuǎn)換使用 Convert :Convert.ToXxx(object value)Convert.ToInt32()Convert.ToSingle()Convert.ToString()double85.63string85.63int86float85.63演示示例7:不同類型的相互轉(zhuǎn)換小結(jié)類型轉(zhuǎn)換有幾種方式?string myString = Hello;int myInt = int.Parse(myString);double score = 59.3;int myInt = Convert.ToInt32 (scor

12、e);double score = 92.6;string myString = score.ToString( );錯誤!字符串不是有效的整數(shù)形式轉(zhuǎn)換成功!myString 為 92.6轉(zhuǎn)換成功,但精度丟失!myInt 為 59下面各種轉(zhuǎn)換的結(jié)果是什么?隨堂練習(xí)以下4個變量名中,合法的變量名是_。(1) &adw (2) Good bye (3) _list (4) jx隨堂練習(xí) 1. 下面聲明了一些數(shù)值類型的變量short s=10; int i=5; uint ui=50; long l=1000; double d=45.3;decimal m = 154;2. 試著分析下列哪些類型轉(zhuǎn)

13、換是正確的:s = ui; i = ui; s = l; l = s; m = d; d = m; l = d; m = i; C#程序結(jié)構(gòu) C#程序的組成要素 1. 關(guān)鍵字 在C#代碼中常常使用關(guān)鍵字,關(guān)鍵字也叫保留字,是對C#有特定意義的字符串。關(guān)鍵字在Visual Studio 環(huán)境的代碼視圖中默認以藍色顯示。例如,代碼中的using、namespace、class、static、void等,均為C#的關(guān)鍵字。 2. 命名空間命名空間既是Visual Studio 提供系統(tǒng)資源的分層組織方式,也是分層組織程序的方式。因此,命名空間有兩種,一種是系統(tǒng)命名空間,一種是用戶自定義命名空間(na

14、mespace)。系統(tǒng)命名空間使用using關(guān)鍵字導(dǎo)入,System是Visual Studio .NET中的最基本的命名空間,在創(chuàng)建項目時,Visual Studio 平臺都會自動生成導(dǎo)入該命名空間,并且放在程序代碼的起始處。System.Windows.Forms.MessageBox 3. 類和方法C#中,必須用類來組織程序的變量與方法。C#要求每個程序必須且只能有一個“Main”方法?!癕ain”方法必須放在某一個類中。“Main”方法是應(yīng)用程序的入口。4. 語句語句就是C#應(yīng)用程序中執(zhí)行操作的指令。C#中的語句必須用分號“;”結(jié)束??梢栽谝恍兄袝鴮懚鄺l語句,也可以將一條語句書寫在多行

15、上。 5. 大括號在C#中,括號“”和“”是一種范圍標志,是組織代碼的一種方式,用于標識應(yīng)用程序中邏輯上有緊密聯(lián)系的一段代碼的開始與結(jié)束。大括號可以嵌套,以表示應(yīng)用程序中的不同層次。 C#程序的格式 1. 縮進與空格縮進用于表示代碼的結(jié)構(gòu)層次,這在程序中不是必須的,但是縮進可以清晰地表示程序的結(jié)構(gòu)層次,在程序設(shè)計中應(yīng)該使用統(tǒng)一的縮進格式書寫代碼??崭裼袃煞N作用,一種是語法要求,必須遵守,一種是為使語句不至于太擁擠。例如:int ia = 3; 2. 字母大小寫C#中的字母可以大小寫混合,但是必須注意的是,C#把同一字母的大小寫當作兩個不同的字符對待,如,大寫“A”與小寫“a”對C#來說,是兩個

16、不同的字符。3. 注釋C#中的注釋基本有兩種,一是單行注釋,一是多行注釋。單行注釋以雙斜線“/ ”開始,不能換行。多行注釋以“/*”開始,以“*/”結(jié)束,可以換行。運算符和表達式運算符和表達式Result=number*10變量變量常量操作數(shù)表達式操作數(shù)和運算符的組合運算符運算符類型 運算符分為三類 :一元運算符: 只使用一個操作數(shù) 二元運算符: 使用兩個操作數(shù) 三元運算符: 使用三個操作數(shù) 表達式和運算符 2.3.1運算符就是表達式中的符號常見運算符增 / 減算術(shù)關(guān)系相等條件賦值示例 + -* / % + - = != & | ?: = *= /= %= += -= = &= = |= 運算

17、符的優(yōu)先級 2.3.2按照運算符的優(yōu)先級計算表達式可以使用圓括號控制運算的順序左結(jié)合和右結(jié)合 所有二元運算符都是左結(jié)合的 賦值運算符和條件運算符是右結(jié)合的(10 + 20) / 5 結(jié)果是 610 + (20 / 5) 結(jié)果是 1410 + 20 / 5結(jié)果是 14運算符的優(yōu)先級 運算符從高到低的優(yōu)先級順序: 運算符類型運 算 符初級運算符x.y, f(x), ax, x+, x-, new, typeof, checked, unchecked一元運算符!, , +, -, (T)x乘法、除法、取模運算符*, /, %增量運算符+ , -移位運算符關(guān)系運算符 , = , is, as等式運算

18、符= , !=邏輯“與”運算符& 邏輯“異或”運算符邏輯“或”運算符|條件“與”運算符&條件“或”運算符|條件運算符?:賦值運算符= , *= , /= , %= , += , -= , = , &= , = , |=運算符與表達式賦值運算符在C#語言中,賦值運算符“=”的作用是將一個數(shù)據(jù)或是一個表達式的值賦給一個變量,用賦值號“=”把一個變量和一個表達式連接起來的式子稱為賦值表達式。賦值表達式的一般形式如下:varible = expressionvarible(左值),只能是變量;expression(右值)賦值運算符右邊的數(shù)據(jù)對象一般是表達式(包括單個的常量、變量或方法(函數(shù))調(diào)用;當賦

19、值運算符兩邊的數(shù)據(jù)對象類型不一致時,賦值操作時要自動進行數(shù)據(jù)類型的轉(zhuǎn)換。在C#語言中,自動賦值轉(zhuǎn)換進行的條件是:賦值運算符兩端對象的數(shù)據(jù)類型兼容,并且左邊變量的取值范圍大于等于右邊表達式的取值范圍。 運算符和表達式賦值運算符 (=)變量 = 表達式;例如:身高 = 177.5;體重 = 78;性別 = “m”;運算符與表達式算術(shù)運算符C#語言中提供的算術(shù)運算符分成兩類:單目運算符 正號運算符“+”和負號運算符“-”。雙目運算符 雙目運算符共有五個:加號“+”、減號“-”、乘號“*”、除號“/”和求模運算符“%”。算術(shù)運算符在C#程序設(shè)計中的使用方法與在自然科學(xué)中的使用方法類似。在使用中需要注意

20、兩點:當兩個整數(shù)相除時,得到的結(jié)果仍然是整數(shù)。除法結(jié)果采用截取法取整,即直接將小數(shù)部分去掉,例如:7/5結(jié)果是1、-7/5結(jié)果是-1。求模運算就是求余數(shù),參加求余數(shù)運算的數(shù)據(jù)既可以使整型數(shù)據(jù),也可以是實型數(shù)據(jù),求余數(shù)運算結(jié)果的符號與第一個(左邊)運算對象相同。例如:7%5結(jié)果是2,-7%5結(jié)果是-2,7%-5結(jié)果是2,-7%-5結(jié)果是-2。 運算符和表達式類別運算符說明表達式算術(shù)運算符+執(zhí)行加法運算(如果兩個操作數(shù)是字符串,則該運算符用作字符串連接運算符,將一個字符串添加到另一個字符串的末尾) 操作數(shù)1 + 操作數(shù)2-執(zhí)行減法運算 操作數(shù)1 - 操作數(shù)2*執(zhí)行乘法運算操作數(shù)1 * 操作數(shù)2/執(zhí)

21、行除法運算操作數(shù)1 / 操作數(shù)2%獲得進行除法運算后的余數(shù) 操作數(shù)1 % 操作數(shù)2+將操作數(shù)加 1 操作數(shù)+或+操作數(shù)-將操作數(shù)減 1 操作數(shù)- 或-操作數(shù)將一個數(shù)按位取反 操作數(shù)運算符和表達式運算符計算方法表達式求值結(jié)果(設(shè) X = 10)+=運算結(jié)果 = 操作數(shù)1 + 操作數(shù)2X+= 2X=X+212-=運算結(jié)果 = 操作數(shù)1 - 操作數(shù)2X-= 2X=X-28*=運算結(jié)果 = 操作數(shù)1 * 操作數(shù)2X*= 2X=X*220/=運算結(jié)果 = 操作數(shù)1 / 操作數(shù)2X/= 2X=X/25%=運算結(jié)果 = 操作數(shù)1 % 操作數(shù)2X%= 2X=X%20前置和后置自加/自減運算符表達式類型計算方法

22、結(jié)果(假定 num1 的值為 10)num2 = +num1;前置自加num1 = num1 + 1;num2 = num1;num2 = 11;num1 = 11;num2 = num1+;后置自加num2 = num1;num1 = num1 + 1;num2 = 10;num1 = 11;num2 = -num1;前置自減num1 = num1 - 1;num2 = num1;num2 = 9;Num1 = 9;num2 = num1-;后置自減num2 = num1;num1 = num1 - 1;num2 = 10;Num1 = 9; 我想,想,想?int m = 10;int k

23、= +m; /k= ? , m = ?如果換成int k = m+; /k = ?, m = ? (5個積分)1運算符與表達式關(guān)系運算符關(guān)系運算符和關(guān)系表達式C#語言中用關(guān)系運算符比較兩個運算對象之間的某種關(guān)系是否成立,用關(guān)系運算符將兩個表達式連接起來的式子稱為關(guān)系表達式。C#語言提供了6個關(guān)系運算符,它們是:、=、=、!=“”、“”和“=”的優(yōu)先級別相同;“=”和“!=”的優(yōu)先級相同且高于“”、“”和“=”4種關(guān)系運算符 ;C#語言中使用邏輯數(shù)據(jù)類型值來表達關(guān)系運算的結(jié)果,當某種關(guān)系為“真”時,關(guān)系運算的結(jié)果用邏輯值True表示;當某種關(guān)系為“假”時,關(guān)系運算的結(jié)果用邏輯值False表示。

24、運算符與表達式關(guān)系運算符 引用類數(shù)據(jù)對象的比較兩個引用類對象若相等,則表示它們引用的是同一個對象實例;一般對于引用類對象的比較應(yīng)該使用該類提供的比較方法;字符串數(shù)據(jù)的相等比較兩個字符串數(shù)據(jù)對象的值都為null;兩個字符創(chuàng)數(shù)據(jù)對象的長度相同,并且每個對應(yīng)位置上的字符也相同;兩個布爾常量值true和false沒有大小之分;運算符和表達式類別運算符說明表達式比較運算符檢查一個數(shù)是否大于另一個數(shù) 操作數(shù)1 操作數(shù)2檢查一個數(shù)是否小于另一個數(shù) 操作數(shù)1 =檢查一個數(shù)是否大于或等于另一個數(shù) 操作數(shù)1 = 操作數(shù)2= 檢查一個數(shù)是否小于或等于另一個數(shù) 操作數(shù)1 =1&x=100 表示變量x的取值在1,100

25、之內(nèi)時條件為真;例:x100表示變量x的取值在區(qū)間1,100之外是條件為真; 運算符與表達式邏輯運算符在C#程序中,進行邏輯表達式求值運算時必須遵循的兩條原則:對邏輯表達式從左到右掃描求解;在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經(jīng)可以確定,則求解過程不再進行;表達式中的類型轉(zhuǎn)換表達式中的類型轉(zhuǎn)換使用強制類型轉(zhuǎn)換特別注意點類型轉(zhuǎn)換只對標注強制轉(zhuǎn)換這一次起作用,在程序的其余地方,變量還保留其原有的值。在理解強制類型轉(zhuǎn)換時也可以將(類型名)理解成為強制類型轉(zhuǎn)換運算符,那么強制類型轉(zhuǎn)換的結(jié)果應(yīng)該是由強制類型轉(zhuǎn)換運算符所決定的強制類型轉(zhuǎn)換表達式的結(jié)果,而構(gòu)成表達式的各數(shù)據(jù)對象仍然保留其原

26、值。變量的作用域和生存期變量可以在代碼塊中聲明塊以左大括號開始,以右大括號結(jié)束塊用來定義作用域每次創(chuàng)建一個新塊后,就會創(chuàng)建一個新的作用域變量的作用域是一個作用的范圍,每個變量都有自己的作用域變量的生存期是指變量的生存周期private void button1_Click(object sender, EventArgs e) int num = 10; if ( num = 10) /num 在內(nèi)層作用域中可用 int num1 = num * num; label1.Text= “num 和 num1 的值為 + num + + num1); label1.Text=“num 的值為 + num); 示例/num1 = 10; 錯誤!num1 未知檢查變量的作用域如果從變量的作用域外訪問變量,則會出錯! 運算符(9)條件運算符的表達式形式為:op1 ? op2 : op3,其中op1為布爾表達式,如果op1為true,則條件運算的結(jié)果為op2,否則為op3。條件運算符是C#語言中唯一的三元運算符。 int i=-2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論