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è)計中,同樣可以在定義字符型變量的同時對其進行初始化。對字符型變量的初始化值只能是單個的字符常量,若使用字符串?dāng)?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)換是指當(dāng)不存在相應(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”方法必須放在某一個類中?!癕ain”方法是應(yīng)用程序的入口。4. 語句語句就是C#應(yīng)用程序中執(zhí)行操作的指令。C#中的語句必須用分號“;”結(jié)束。可以在一行中書寫多條語句,也可以將一條語句書寫在多行

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#把同一字母的大小寫當(dāng)作兩個不同的字符對待,如,大寫“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)用;當(dāng)賦

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

20、兩點:當(dāng)兩個整數(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é)果,當(dāng)某種關(guān)系為“真”時,關(guān)系運算的結(jié)果用邏輯值True表示;當(dāng)某種關(guān)系為“假”時,關(guān)系運算的結(jié)果用邏輯值False表示。

24、運算符與表達式關(guān)系運算符 引用類數(shù)據(jù)對象的比較兩個引用類對象若相等,則表示它們引用的是同一個對象實例;一般對于引用類對象的比較應(yīng)該使用該類提供的比較方法;字符串?dāng)?shù)據(jù)的相等比較兩個字符串?dāng)?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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論