国产午夜福利在线观看红一片,久久精品国产再热青青青,又硬又粗又大一区二区三区视频,中文字幕乱码免费,久久超碰97文字幕 ,中国精学生妹品射精久久

最新更新最新專題

您的位置:首頁 > ppt下載 > PPT課件 > 數(shù)學(xué)課件PPT > 2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板

2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板下載

素材大小:
1.03 MB
素材授權(quán):
免費下載
素材格式:
.ppt
素材上傳:
ppt
上傳時間:
2016-08-11
素材編號:
67616
素材類別:
數(shù)學(xué)課件PPT

素材預(yù)覽

2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板 2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板

這是一個關(guān)于2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板,這節(jié)課主要是了解引用類型,值類型與引用類型之間的區(qū)別示例,聲明變量(變量的定義),變量的命名規(guī)則,變量的賦值,變量的初始化,變量的作用域等等介紹。變量的賦值: 就是將數(shù)據(jù)保存到變量所代表的存儲單元中的過程。在程序中,可以給一個變量多次賦值。變量的當(dāng)值等于最近一次給變量所賦的值。更多內(nèi)容,歡迎點擊下載2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板哦。

2第二章-數(shù)據(jù)類型、變量和常量學(xué)習(xí)課件PPT模板是由紅軟PPT免費下載網(wǎng)推薦的一款數(shù)學(xué)課件PPT類型的PowerPoint.

2.1.2 值類型AJJ紅軟基地
值類型(value type)AJJ紅軟基地
值類型的變量在堆棧(Stack)中直接包含其數(shù)據(jù),每個變量都有自己的數(shù)據(jù)副本(除 ref 和 out 參數(shù)變量外)AJJ紅軟基地
變量之間的操作獨立(互不影響)。AJJ紅軟基地
C# 的值類型分為:AJJ紅軟基地
簡單類型(simple type)AJJ紅軟基地
枚舉類型(enum type)AJJ紅軟基地
結(jié)構(gòu)類型(struct type)AJJ紅軟基地
 null 的類型(nullable type)AJJ紅軟基地
2.1數(shù)據(jù)類型AJJ紅軟基地
2.1.1類型系統(tǒng)AJJ紅軟基地
通用類型系統(tǒng)(Common Type System,CTS)定義了如何在運行庫中聲明、使用和管理類型。AJJ紅軟基地
以保證遵循公共語言規(guī)范(Common Language Specification,CLS)的語言(C#、VB.NET)編寫程序之間的互操作。AJJ紅軟基地
CTS是運行庫(CLR)支持跨語言集成的一個重要組成部分。AJJ紅軟基地
2.1.3 引用類型AJJ紅軟基地
引用類型(reference type):AJJ紅軟基地
引用類型的變量在堆棧(Stack)中存儲對數(shù)據(jù)(對象)的引用(地址),數(shù)據(jù)(對象)存儲在托管運行環(huán)境管理的堆(Heap)中。AJJ紅軟基地
對于引用類型,兩個變量可能引用同一個對象,因此對一個變量的操作可能影響另一個變量所引用的對象AJJ紅軟基地
C# 的引用類型分為:AJJ紅軟基地
類類型(class type)、接口類型(interface type)、數(shù)組類型(array type) 和委托類型(delegate type)AJJ紅軟基地
【例2.1】值類型與引用類型之間的區(qū)別示例AJJ紅軟基地
變量val1、val2為值類型;ref1、ref2為引用類型。比較其運行結(jié)果和內(nèi)存分配示意圖AJJ紅軟基地
2.2 變量AJJ紅軟基地
變量是程序運行過程中用于存放數(shù)據(jù)的存儲單元。AJJ紅軟基地
變量的值在程序的運行過程中可以改變。AJJ紅軟基地
2.2.1 聲明變量(變量的定義);AJJ紅軟基地
            在定義變量時,首先必須給每一個變量起名,稱為變量名,變量名代表存儲地址。AJJ紅軟基地
           變量的類型決定了存儲在變量中的數(shù)值的類型。              AJJ紅軟基地
          變量定義格式:AJJ紅軟基地
          類型標識符  變量名1,變量名2,……AJJ紅軟基地
2.2.1 聲明變量(變量的定義)AJJ紅軟基地
例:AJJ紅軟基地
double fsum;AJJ紅軟基地
string strName;AJJ紅軟基地
char b;AJJ紅軟基地
int x,  y , z;AJJ紅軟基地
注意:C#規(guī)定,任何變量在使用前,必須先定義, 后使用。AJJ紅軟基地
2.2.2 變量的命名規(guī)則AJJ紅軟基地
變量名的第一個字符必須是字母、下劃線(“_”)或@,AJJ紅軟基地
其后的字符可以是字母、下劃線或數(shù)字。AJJ紅軟基地
注意,C#定義的關(guān)鍵字不能用作變量名。但可以定義@加關(guān)鍵字的變量名AJJ紅軟基地
myVar、_strName、obj1、@namespace為正確的變量名AJJ紅軟基地
99var、It'sOK、namespace為錯誤的變量名AJJ紅軟基地
.NET Framework一般遵循兩種命名約定:PascalCase和camelCaseAJJ紅軟基地
2.2.3 變量的賦值AJJ紅軟基地
在獲取變量的值之前,變量必須已明確賦值(definitely assigned)AJJ紅軟基地
C#變量被訪問之前必須被初始化;否則編譯時會報錯。因此,不可能訪問一個未初始化變量AJJ紅軟基地
2.2.3 變量的賦值AJJ紅軟基地
變量的賦值: 就是將數(shù)據(jù)保存到變量所代表的存儲單元中的過程。AJJ紅軟基地
格式:AJJ紅軟基地
           變量名=表達式;AJJ紅軟基地
意義:計算表達式的值,然后將這個值賦予變量。AJJ紅軟基地
例:AJJ紅軟基地
      double  nAverage;AJJ紅軟基地
      int  nAgeSum; AJJ紅軟基地
      nAgeSum=210;  //給nAgeSum變量賦予數(shù)值210AJJ紅軟基地
2.2.3 變量的賦值AJJ紅軟基地
在程序中,可以給一個變量多次賦值。變量的當(dāng)值等于最近一次給變量所賦的值。AJJ紅軟基地
如:AJJ紅軟基地
      nAgeSum=68;           //這時nAgeSum等于68AJJ紅軟基地
      nAgeSum=36+24;    //這時nAgeSum等于60AJJ紅軟基地
      nAgeSum= nAgeSum+40;    //nAgeSum等于100AJJ紅軟基地
2.2.3 變量的賦值AJJ紅軟基地
在對變量進行賦值時,表達式的值的類型必須同變量的類型一致。AJJ紅軟基地
    string  sName;AJJ紅軟基地
    int  nScore;AJJ紅軟基地
sName="Jack";      //正確AJJ紅軟基地
    sName="Tom";      //正確AJJ紅軟基地
    nScore=98;AJJ紅軟基地
sName=5;               //錯誤, 不能將整數(shù)賦予字符串對象AJJ紅軟基地
   nScore=“Hello”;    //錯誤, 不能字符串賦予整型變量AJJ紅軟基地
2.2.3 變量的初始化AJJ紅軟基地
在定義變量的同時,可以對變量賦值,稱為變量的初始化。AJJ紅軟基地
           對變量進行初始化的格式如下:AJJ紅軟基地
               類型標識符  變量名=表達式;AJJ紅軟基地
          例:AJJ紅軟基地
             string  str=“This is a book”;AJJ紅軟基地
2.2.3 變量的分類AJJ紅軟基地
C#中,變量分為七種類型:AJJ紅軟基地
靜態(tài)變量(static variables)AJJ紅軟基地
非靜態(tài)變量(也即實例變量instance variables)AJJ紅軟基地
局部變量(local variables)AJJ紅軟基地
數(shù)組元素(array elements)AJJ紅軟基地
值參數(shù)(value parameters)AJJ紅軟基地
引用參數(shù)(reference parameters)AJJ紅軟基地
輸出參數(shù)(output parameters)AJJ紅軟基地
【例2.2】變量的聲明和賦值示例AJJ紅軟基地
2.2.4 變量的作用域AJJ紅軟基地
1. 局部變量的作用域AJJ紅軟基地
局部變量存在于表示聲明該變量的塊語句或方法結(jié)束的封閉花括號之前的作用域內(nèi)AJJ紅軟基地
在for、while或類似語句中聲明的局部變量存在于該循環(huán)體內(nèi)AJJ紅軟基地
2. 局部變量的作用域沖突AJJ紅軟基地
同名的局部變量不能在同一作用域內(nèi)聲明兩次AJJ紅軟基地
3. 字段和局部變量的作用域沖突AJJ紅軟基地
在類的方法中可以定義與已定義的字段名相同的局部變量,而不產(chǎn)生沖突AJJ紅軟基地
【例2.3】變量的作用域示例(2-3newVariable.cs)AJJ紅軟基地
2.3 常量AJJ紅軟基地
在C#中,常量在程序的運行過程中其值是不能改變的,例如,數(shù)字100就是一個常量,這樣的常量一般被稱作常數(shù)。AJJ紅軟基地
聲明常量的格式:AJJ紅軟基地
           const  類型標識符 常量名 = 表達式;AJJ紅軟基地
例:AJJ紅軟基地
           const double PI=3.14159265;AJJ紅軟基地
           double r=5.2;AJJ紅軟基地
           double s=PI*r*r;AJJ紅軟基地
           Console.Write(“面積={0}”,s);AJJ紅軟基地
常量特點:AJJ紅軟基地
在程序中,常量只能被賦予初始值。AJJ紅軟基地
定義常量時,表達式中的運算符對象只允許出現(xiàn)常量和常數(shù),不能有變量存在。AJJ紅軟基地
常量的命名規(guī)則一般采用大寫字母AJJ紅軟基地
例如:AJJ紅軟基地
        int b=18;AJJ紅軟基地
        const int a=26;AJJ紅軟基地
        const int k=b+10;   //錯誤,表達式中不允許出現(xiàn)變量AJJ紅軟基地
        const int d=a+23;   //正確,因為a是常量AJJ紅軟基地
        a=56;           //錯誤,不能修改常量的值AJJ紅軟基地
【例2.4】常量的聲明和賦值示例AJJ紅軟基地
單元練習(xí)AJJ紅軟基地
判斷題:AJJ紅軟基地
 1.  C#規(guī)定所有變量必須先聲明后使用。 ( )  AJJ紅軟基地
 2.雙精度浮點數(shù)類型double由8個字節(jié)組成。( )    AJJ紅軟基地
 3.   執(zhí)行const  int  a=10; a=a+1; 這兩條語句后, a的值為11。( )AJJ紅軟基地
填空題:AJJ紅軟基地
  1.使用變量a存放數(shù)據(jù)-389,則將變量聲明為(        )類型最合適。AJJ紅軟基地
2.4 預(yù)定義數(shù)據(jù)類型AJJ紅軟基地
C#的內(nèi)置值類型表示基本數(shù)據(jù)類型:AJJ紅軟基地
整型AJJ紅軟基地
浮點類型AJJ紅軟基地
decimal類型AJJ紅軟基地
bool類型AJJ紅軟基地
字符類型AJJ紅軟基地
C#支持兩個預(yù)定義的引用類型AJJ紅軟基地
objectAJJ紅軟基地
stringAJJ紅軟基地
2.4.1 整型AJJ紅軟基地
C#支持8個預(yù)定義整數(shù)類型,分別支持8位、16位、32位和64位整數(shù)值的有符號和無符號的形式AJJ紅軟基地
【例2.5】整型變量示例AJJ紅軟基地
2.4.2 浮點類型AJJ紅軟基地
C#支持2種浮點數(shù)據(jù)類型(float和double),用于包含小數(shù)的計算AJJ紅軟基地
【例2.6】浮點類型變量示例AJJ紅軟基地
2.4.3 decimal類型AJJ紅軟基地
C#支持高精度小數(shù)類型(decimal),decimal數(shù)據(jù)類型一般用于財務(wù)計算,即可以用較大的精確度來表示貨幣值。AJJ紅軟基地
注意:小數(shù)類型數(shù)據(jù)的后面必須跟m或者M后綴來表示它是decimal類型的,如3.14m、0.28m等,否則就會被解釋成標準的浮點類型數(shù)據(jù),導(dǎo)致數(shù)據(jù)類型不匹配。AJJ紅軟基地
【例2.7】decimal類型變量示例AJJ紅軟基地
常量后綴表示方法AJJ紅軟基地
       138f                 代表float類型的數(shù)值138.0AJJ紅軟基地
       518u                代表uint類型的數(shù)值518AJJ紅軟基地
       36897123ul     代表ulong類型的數(shù)值  36897123AJJ紅軟基地
       22.1m              代表decimal類型的數(shù)值22.1AJJ紅軟基地
       12.68               代表double類型的數(shù)值12.68AJJ紅軟基地
       36                    代表int類型的數(shù)值36AJJ紅軟基地
特例:前綴AJJ紅軟基地
0x開頭表示16進制AJJ紅軟基地
建議AJJ紅軟基地
初學(xué)者,先牢記以下幾種:AJJ紅軟基地
int型 :一般要表示帶符號的整數(shù)時,先考慮使用int型;AJJ紅軟基地
uint型 :一般需要不帶符號的整數(shù)時,先考慮使用uint型;AJJ紅軟基地
double型:一般需要做科學(xué)計算,并且精度要求不是很高時,考慮使用double型。AJJ紅軟基地
2.4.4 bool類型AJJ紅軟基地
C#的bool數(shù)據(jù)類型用于邏輯運算,包含bool值true或falseAJJ紅軟基地
例:AJJ紅軟基地
                   bool  b=5>3;               //b的值為true;AJJ紅軟基地
                   b=false;AJJ紅軟基地
【例2.8】布爾類型變量示例AJJ紅軟基地
2.4.5字符類型AJJ紅軟基地
C#的char數(shù)據(jù)類型用于保存單個字符的值,如:AJJ紅軟基地
‘你’、 ‘A’、  ‘?’、  ‘6’、‘2’AJJ紅軟基地
C#語言中,四種形式:AJJ紅軟基地
字符使用單引號括起來(例如‘A’)AJJ紅軟基地
使用4位16進制的Unicode值(例如‘\u0041’)AJJ紅軟基地
帶有數(shù)據(jù)類型轉(zhuǎn)換的整數(shù)值(例如(char)65)AJJ紅軟基地
16進制數(shù)(‘\x0041’)AJJ紅軟基地
【例2.9】字符類型變量示例AJJ紅軟基地
2.4.5字符類型AJJ紅軟基地
為了表示單引號和反斜杠等特殊的字符常數(shù),C#提供了轉(zhuǎn)義符。特殊符號則需要使用轉(zhuǎn)義序列表示。AJJ紅軟基地
2.4.6 object類型AJJ紅軟基地
object類型是C#編程語言的類層次結(jié)構(gòu)的根類型,object是System.Object的別名,所有的類型都隱含地最終派生于System.Object類。AJJ紅軟基地
object類型主要可以用于兩個目的:AJJ紅軟基地
可以使用object引用綁定任何類型的對象AJJ紅軟基地
object類型執(zhí)行許多基本的一般用途的方法,包括Equals()、GetHashCode()、GetType()和ToString()等AJJ紅軟基地
2.4.6 object類型AJJ紅軟基地
對于任一個object變量,均可以賦以任何類型的值。AJJ紅軟基地
         double d=3.14;AJJ紅軟基地
         object obj1;AJJ紅軟基地
         obj1=d;AJJ紅軟基地
         obj1=‘k’;AJJ紅軟基地
對于object類型的變量,聲明必須使用object關(guān)鍵字。AJJ紅軟基地
TestObject實驗AJJ紅軟基地
using System;AJJ紅軟基地
namespace TestAJJ紅軟基地
{AJJ紅軟基地
    public class TestObjAJJ紅軟基地
    {AJJ紅軟基地
        static void Main()AJJ紅軟基地
        {AJJ紅軟基地
            object x = 25;AJJ紅軟基地
            Console.WriteLine("{0},{1},{2},{3}",x,x.GetHashCode(),x.GetType(),x.ToString());AJJ紅軟基地
            Console.ReadKey();AJJ紅軟基地
        }AJJ紅軟基地
    }AJJ紅軟基地
}AJJ紅軟基地
2.4.7 string類型AJJ紅軟基地
C#字符串處理使用string(System.String的別名)類型表示零或更多Unicode字符組成的序列AJJ紅軟基地
string是引用類型AJJ紅軟基地
一個字符串是被雙引號包含的一系列字符。AJJ紅軟基地
string類是專門用于對字符串進行操作的。  AJJ紅軟基地
 如:AJJ紅軟基地
    string str1="中國,";AJJ紅軟基地
    string str2="你好!";AJJ紅軟基地
    string str3=str1+str2;  //這相當(dāng)于str3="中國,你好!"AJJ紅軟基地
    char c=str3[0];      //取出str3的第一個字符,即“中”字。AJJ紅軟基地
TestString實驗AJJ紅軟基地
using System;AJJ紅軟基地
namespace testAJJ紅軟基地
{AJJ紅軟基地
   public class TestClsAJJ紅軟基地
    {AJJ紅軟基地
        static void Main()AJJ紅軟基地
        {AJJ紅軟基地
            string str1 = "abdc";AJJ紅軟基地
            string str2 = "中國人";AJJ紅軟基地
            Console.WriteLine("{0},{1},{2},{3}",str1[2],str2[2],str1.Length,str2.Length);AJJ紅軟基地
        }AJJ紅軟基地
    }AJJ紅軟基地
}AJJ紅軟基地
2.4.7 string類型AJJ紅軟基地
C#支持兩種形式的字符串AJJ紅軟基地
正則字符串(regular string)AJJ紅軟基地
包含在雙引號中的零個或多個字符組成(如"hello"),并且可以包含簡單轉(zhuǎn)義序列(如表示制表符的\t)、十六進制轉(zhuǎn)義序列和Unicode轉(zhuǎn)義序列AJJ紅軟基地
原義字符串(verbatim string)AJJ紅軟基地
由@字符后跟開始的雙引號字符、零個或多個字符以及結(jié)束的雙引號字符組成。一個簡單的示例就是 @“hello“ (不解釋轉(zhuǎn)義字符)AJJ紅軟基地
【例2.10】字符串類型變量示例AJJ紅軟基地
正則字符串(regular string)AJJ紅軟基地
例1:  “this is a test”AJJ紅軟基地
               “C#程序設(shè)計教程”AJJ紅軟基地
     例2:AJJ紅軟基地
      using System;AJJ紅軟基地
      class StrDemoAJJ紅軟基地
     {AJJ紅軟基地
         static void Main( )AJJ紅軟基地
         {AJJ紅軟基地
            Console.WriteLine("First\0line\nSecond\0line");  AJJ紅軟基地
            Console.WriteLine("你好\a");            AJJ紅軟基地
            Console.WriteLine(“1\t2\t3");AJJ紅軟基地
            Console.WriteLine(“*\t**\t***”);AJJ紅軟基地
          }AJJ紅軟基地
      }AJJ紅軟基地
正則字符串(regular string)AJJ紅軟基地
例3:AJJ紅軟基地
using System;AJJ紅軟基地
class StringDemoAJJ紅軟基地
{AJJ紅軟基地
    public static void Main( )AJJ紅軟基地
    {AJJ紅軟基地
      string str1=“A string”;              AJJ紅軟基地
      string str2="Another string.";AJJ紅軟基地
      Console.WriteLine(“{0}\n{1}”,str1,str2);AJJ紅軟基地
     }AJJ紅軟基地
}AJJ紅軟基地
原義字符串(verbatim string)AJJ紅軟基地
逐字字符串常數(shù)以@開頭,后跟一對雙引號,在雙引號中放入字符。如:AJJ紅軟基地
        @“電子高專”AJJ紅軟基地
        @“This is a book.”AJJ紅軟基地
逐字字符串常數(shù)同常規(guī)字符串常數(shù)的區(qū)別:AJJ紅軟基地
在逐字字符串常數(shù)的雙引號中,每個字符都代表其最原始的意義,在逐字字符串常數(shù)中沒有轉(zhuǎn)義字符。AJJ紅軟基地
注意:如果要包含雙引號("),就必須在一行中使用兩個雙引號("")。AJJ紅軟基地
原義字符串(verbatim string)AJJ紅軟基地
string str1;     //定義字符串類型AJJ紅軟基地
string str2="hello, world";         //規(guī)則字符串常數(shù):hello, worldAJJ紅軟基地
string str3=@"hello, world";       //逐字字符串常數(shù):hello, world        AJJ紅軟基地
string str4="hello \t world";        //hello          worldAJJ紅軟基地
string str5=@ "hello \t world";      //hello \t worldAJJ紅軟基地
string str6=“He said\" Hello \" to you";  //Tom said "Hello" to youAJJ紅軟基地
string str7=@“He said ""Hello"" to you"; //Tom said "Hello" to youAJJ紅軟基地
原義字符串(verbatim string)AJJ紅軟基地
例(運行見TestStrA.cs)AJJ紅軟基地
  using System;AJJ紅軟基地
  class TestAJJ紅軟基地
  {AJJ紅軟基地
   static void Main( )AJJ紅軟基地
   {AJJ紅軟基地
    Console.WriteLine(@"This is a verbaAJJ紅軟基地
    tim string literalAJJ紅軟基地
    that spans several lines. ");AJJ紅軟基地
    Console.WriteLine(@"Here is some tabbed output:AJJ紅軟基地
  1  2  3  4AJJ紅軟基地
  5  6  7  8AJJ紅軟基地
  ");   AJJ紅軟基地
    Console.WriteLine(@"Programmers say, " "I like C#""");AJJ紅軟基地
   }AJJ紅軟基地
  }AJJ紅軟基地
2.4.8 可以為null的類型AJJ紅軟基地
可以為null的類型表示可被賦值為null值的值類型變量AJJ紅軟基地
其取值范圍為其基礎(chǔ)值類型正常范圍內(nèi)的值,再加上一個null值。AJJ紅軟基地
例如,bool? (Nullable<bool>)的值包括true、false或nullAJJ紅軟基地
可以為null的類型的聲明語法:AJJ紅軟基地
                   T? x; 或Nullable<T> x; AJJ紅軟基地
其中的T為值類型。語法T?是Nullable<T>的簡寫。AJJ紅軟基地
可以為null的類型賦值的方法與為一般值類型賦值的方法相同。AJJ紅軟基地
              例如:int? x = 10;AJJ紅軟基地
【例2.11】可以為null的類型示例AJJ紅軟基地
2.5 類型轉(zhuǎn)換AJJ紅軟基地
數(shù)據(jù)類型在一定條件下是可以相互轉(zhuǎn)換的。C#允許使用兩種轉(zhuǎn)換的方式:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。AJJ紅軟基地
隱式轉(zhuǎn)換AJJ紅軟基地
只允許發(fā)生在從小的值范圍的類型到大的值范圍的類型的轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)值大小不受影響。 隱式轉(zhuǎn)換是系統(tǒng)默認的、不需要加以聲明就可以進行的轉(zhuǎn)換。   AJJ紅軟基地
隱式數(shù)據(jù)轉(zhuǎn)換的使用方法如下:AJJ紅軟基地
                int  i=518;      //a為整型數(shù)據(jù)AJJ紅軟基地
                long  b=i;     //b為長整型數(shù)據(jù)AJJ紅軟基地
                float f=i;     //f為單精度浮點型數(shù)據(jù)AJJ紅軟基地
2.5.1 隱式轉(zhuǎn)換AJJ紅軟基地
2.5.2 顯式轉(zhuǎn)換(強制轉(zhuǎn)換)AJJ紅軟基地
顯式轉(zhuǎn)換又叫強制類型轉(zhuǎn)換,顯式轉(zhuǎn)換要明確指定轉(zhuǎn)換類型。AJJ紅軟基地
顯式轉(zhuǎn)換格式:AJJ紅軟基地
          (類型標識符)表達式AJJ紅軟基地
意義為:將表達式的值的類型轉(zhuǎn)換為類型標識符的類型。AJJ紅軟基地
      比如:AJJ紅軟基地
         (char)65         //把int類型的65轉(zhuǎn)換成char類型AJJ紅軟基地
注意:(1)顯式轉(zhuǎn)換可能會導(dǎo)致錯誤。AJJ紅軟基地
                 (2)對于將float,double, decimal轉(zhuǎn)換為整數(shù),將通過舍   AJJ紅軟基地
                          入得到最接近的整型值,如果這個整型值超出目標  AJJ紅軟基地
                          域,則出現(xiàn)轉(zhuǎn)換異常。AJJ紅軟基地
      比如:AJJ紅軟基地
           (int)6.58m   // 轉(zhuǎn)換的結(jié)果為6AJJ紅軟基地
           (int) 3e25f     //將產(chǎn)生溢出錯誤3*1025AJJ紅軟基地
2.5.3 裝箱和拆箱AJJ紅軟基地
C#中所有的類型都繼承于System.Object根類型,而所有的值類型都繼承于System.ValueType類型AJJ紅軟基地
通過裝箱(boxing)和拆箱(unboxing)機制,可以實現(xiàn)值類型和引用類型之間的轉(zhuǎn)換AJJ紅軟基地
1. 裝箱轉(zhuǎn)換AJJ紅軟基地
            裝箱轉(zhuǎn)換是指將一個值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個對象類型(object)的數(shù)據(jù)。AJJ紅軟基地
     例如:下面的兩條語句就執(zhí)行了裝箱轉(zhuǎn)換:AJJ紅軟基地
           int  i=518;AJJ紅軟基地
           object  obj=i;AJJ紅軟基地
1.裝箱轉(zhuǎn)換AJJ紅軟基地
例:在程序中執(zhí)行裝箱轉(zhuǎn)換。AJJ紅軟基地
     using System;AJJ紅軟基地
     class BoxingDemoAJJ紅軟基地
     { static void Main( )AJJ紅軟基地
        { Console.WriteLine("執(zhí)行裝箱轉(zhuǎn)換:");AJJ紅軟基地
           int k=200;AJJ紅軟基地
           object obj=k;AJJ紅軟基地
           k=300;AJJ紅軟基地
           Console.WriteLine("obj={0}",obj);AJJ紅軟基地
           Console.WriteLine("k={0}", k); }AJJ紅軟基地
     }AJJ紅軟基地
2.拆箱轉(zhuǎn)換AJJ紅軟基地
2.拆箱轉(zhuǎn)換AJJ紅軟基地
          和裝箱相反,拆箱轉(zhuǎn)換是指將一個對象類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個值類型數(shù)據(jù)。AJJ紅軟基地
          例如:      object obj=228; AJJ紅軟基地
                            int k=(int)obj;AJJ紅軟基地
【例2.12】裝箱(boxing)和拆箱(unboxing)示例AJJ紅軟基地
2.拆箱轉(zhuǎn)換AJJ紅軟基地
例:在程序中使用拆箱轉(zhuǎn)換。AJJ紅軟基地
 using SystemAJJ紅軟基地
 class UnboxingDemoAJJ紅軟基地
  {AJJ紅軟基地
   static void Main( )AJJ紅軟基地
    {AJJ紅軟基地
     int k=228;AJJ紅軟基地
     object obj=k;      //裝箱轉(zhuǎn)換AJJ紅軟基地
     int j=(int ) obj;     //拆箱轉(zhuǎn)換AJJ紅軟基地
     Console.WriteLine("k={0}\tobj={1}\tj={2}", k, obj, j); AJJ紅軟基地
     }AJJ紅軟基地
   }AJJ紅軟基地
2.5.4 Convert類提供的類型轉(zhuǎn)換方法AJJ紅軟基地
using System;  //【例2.13】類型轉(zhuǎn)換示例AJJ紅軟基地
namespace Chapter02AJJ紅軟基地
{AJJ紅軟基地
    class ConversionTestAJJ紅軟基地
    {AJJ紅軟基地
        static void Main()AJJ紅軟基地
        {AJJ紅軟基地
            sbyte sbyte1 = 123;         //隱式類型轉(zhuǎn)換:int 到 sbyteAJJ紅軟基地
            short short1 = 123;        //隱式類型轉(zhuǎn)換:int 到 shortAJJ紅軟基地
            ushort ushort1 = 123;      //隱式類型轉(zhuǎn)換:int 到 ushortAJJ紅軟基地
            Console.WriteLine("{0},{1},{2}", sbyte1, short1,ushort1);AJJ紅軟基地
           //int itest = 234L;             //不能隱式轉(zhuǎn)換 long 到intAJJ紅軟基地
            double dNumber = 23.55;AJJ紅軟基地
            int iNumber = System.Convert.ToInt32(dNumber);// Returns 24四舍五入AJJ紅軟基地
            int iNumint = (int)dNumber; //向下取整 返回 23AJJ紅軟基地
            bool bNumber = System.Convert.ToBoolean(dNumber);// Returns TrueAJJ紅軟基地
            string strNumber = System.Convert.ToString(dNumber);// Returns "23.55"AJJ紅軟基地
            char chrNumber = System.Convert.ToChar(strNumber[1]);// Returns '3'AJJ紅軟基地
            Console.WriteLine("{0},{1},{2},{3},{4}", iNumber, iNumint,bNumber, strNumber , chrNumber);AJJ紅軟基地
            Console.ReadKey();AJJ紅軟基地
        }AJJ紅軟基地
    }AJJ紅軟基地
}AJJ紅軟基地
2.5.4 checked關(guān)鍵字AJJ紅軟基地
使用關(guān)鍵字checked可以指定已檢查的上下文;AJJ紅軟基地
使用關(guān)鍵字unchecked可以指定未檢查的上下文。AJJ紅軟基地
【例2.14】checked關(guān)鍵字使用示例AJJ紅軟基地
using System;AJJ紅軟基地
class MyExceptionTestAJJ紅軟基地
{AJJ紅軟基地
    static void Main(string[] args)AJJ紅軟基地
    {AJJ紅軟基地
        int i = int.MaxValue;//結(jié)果:2147483647AJJ紅軟基地
        tryAJJ紅軟基地
        {   checkedAJJ紅軟基地
            {AJJ紅軟基地
                int j = i + 1; //發(fā)生異常AJJ紅軟基地
            }AJJ紅軟基地
             //或者寫成 int j= checked(i+1);否則無法捕獲異常AJJ紅軟基地
        }AJJ紅軟基地
        catch (System.OverflowException e)AJJ紅軟基地
        {AJJ紅軟基地
            Console.WriteLine(e.ToString());AJJ紅軟基地
        }AJJ紅軟基地
uncheckedAJJ紅軟基地
        {AJJ紅軟基地
            long i1 = 2147483649;AJJ紅軟基地
            int j1 = (int)i1;//結(jié)果:-2147483647AJJ紅軟基地
            Console.WriteLine(i1);AJJ紅軟基地
            Console.WriteLine(j1);AJJ紅軟基地
            byte i2 = 129;AJJ紅軟基地
            sbyte j2 = (SByte)i2;//結(jié)果:-127 ,沒有unchecked,也可以通過編譯AJJ紅軟基地
            //sbyte j3 = (SByte)200;// 如果沒有unchecked,則編譯出錯AJJ紅軟基地
            Console.WriteLine(i2);AJJ紅軟基地
            Console.WriteLine(j2);AJJ紅軟基地
        }AJJ紅軟基地
        Console.ReadKey();AJJ紅軟基地
    }AJJ紅軟基地
}AJJ紅軟基地
2.6  輸入/輸出操作AJJ紅軟基地
控制臺(console)輸入/輸出主要通過命名空間System中的類Console來實現(xiàn),它提供了從控制臺讀寫字符的基本功能。控制臺輸入主要通過Console類的Read方法ReadLine方法來實現(xiàn)的,控制臺輸出主要通過Console類的Write和WriteLine方法來實現(xiàn)的。AJJ紅軟基地
2.6.1  Console.WriteLine( ) 方法AJJ紅軟基地
        WriteLine( )方法的作用是將信息輸出到控制臺,但是WriteLine方法在輸出信息的后面添加一個回車換行符用來產(chǎn)生一個新行。AJJ紅軟基地
         在WriteLine( )方法中,可以采用“{N[,M][:格式化字符串]}”的形式來格式化輸出字符串,其中的參數(shù)含義如下:AJJ紅軟基地
花括號(“{}”)用來在輸出字符串中插入變量。AJJ紅軟基地
N表示輸出變量的序號,從0開始,如當(dāng)N為0時,則對應(yīng)輸出第1個變量的值,當(dāng)N為5時,則對應(yīng)輸出第6個變量的值,依次類推。AJJ紅軟基地
[,M][:格式化字符串]是可選項,其中M表示輸出的變量所占的字符個數(shù),當(dāng)這個變量的值為負數(shù)時,輸出的變量按照左對齊方式排列;如果這個變量的值為正數(shù)的時候,輸出的變量按照右對齊方式排列。 AJJ紅軟基地
[:格式化字符串]也是可選項,因為在向控制臺輸出時,常常需要指定輸出字符串的格式。通過使用標準數(shù)字格式字符串,可以使用Xn的形式來指定結(jié)果字符串的格式,其中X指定數(shù)字的格式,n指定數(shù)字的精度,即有效數(shù)字的位 數(shù)。這里提供8個常用的格式字符。AJJ紅軟基地
1.  貨幣格式AJJ紅軟基地
            貨幣格式C或者c的作用是將數(shù)據(jù)轉(zhuǎn)換成貨幣格式,在格式字符C或者c后面的數(shù)字表示轉(zhuǎn)換后的貨幣格式數(shù)據(jù)的小數(shù)位數(shù)。AJJ紅軟基地
例如:AJJ紅軟基地
    double k = 1234.789;            AJJ紅軟基地
    Console.WriteLine("{0,8:c}", k);  AJJ紅軟基地
    Console.WriteLine("{0,9:c}", k);  AJJ紅軟基地
    Console.WriteLine("{0,10:c}ok", k);  AJJ紅軟基地
    Console.WriteLine("{0,-10:c}ok", k );  AJJ紅軟基地
    Console.WriteLine("{0,10:c4}", k); AJJ紅軟基地
詳見:WriteExam.cs代碼AJJ紅軟基地
2.  整數(shù)數(shù)據(jù)類型格式AJJ紅軟基地
       格式字符D或者d的作用是將數(shù)據(jù)轉(zhuǎn)換成整數(shù)類型格式。AJJ紅軟基地
例如:AJJ紅軟基地
     int  k=1234;AJJ紅軟基地
     Console.WriteLine(“{0:D}”, k);  //結(jié)果是1234AJJ紅軟基地
     Console.WriteLine(“{0:d3}”, k);  //結(jié)果是1234AJJ紅軟基地
     Console.WriteLine(“{0:d5}”, k);  //結(jié)果是01234AJJ紅軟基地
3.  科學(xué)計數(shù)法格式AJJ紅軟基地
        格式字符E或者e的作用是將數(shù)據(jù)轉(zhuǎn)換成科學(xué)計數(shù)法格式。AJJ紅軟基地
   例如:int  k=123000;AJJ紅軟基地
               double f=1234.5578;AJJ紅軟基地
               Console.WriteLine(“{0:E}”, k);  //結(jié)果是1.230000E+005AJJ紅軟基地
               Console.WriteLine(“{0:e}”, k);  //結(jié)果是1.230000e+005AJJ紅軟基地
               Console.WriteLine(“{0:E}”, f);  //結(jié)果是1.234558E+003AJJ紅軟基地
               Console.WriteLine(“{0:e}”, f);  //結(jié)果是1.234558e+003AJJ紅軟基地
               Console.WriteLine(“{0:e4}”, k);  //結(jié)果是1.2300e+005AJJ紅軟基地
               Console.WriteLine(“{0:e4}”, f);  //結(jié)果是1.2346e+003AJJ紅軟基地
4.  浮點數(shù)據(jù)類型格式AJJ紅軟基地
     格式字符F或者f的作用是將數(shù)據(jù)轉(zhuǎn)換成浮點數(shù)據(jù)類型格式。AJJ紅軟基地
例如:AJJ紅軟基地
     int a=123000;AJJ紅軟基地
     double b=1234.5578;AJJ紅軟基地
     Console.WriteLine("{0,-10:f}ok",a);//結(jié)果是123000.00 okAJJ紅軟基地
     Console.WriteLine("{0:f}",b);//結(jié)果是1234.56AJJ紅軟基地
     Console.WriteLine("{0,12:f4}",a);//結(jié)果是 123000.0000前面有一個空格AJJ紅軟基地
     Console.WriteLine("{0:f3}",b);//結(jié)果是1234.558AJJ紅軟基地
     Console.WriteLine("{0:f6}",b);//結(jié)果是1234.557800AJJ紅軟基地
5.  通用格式 AJJ紅軟基地
    格式字符G或者g的作用是將數(shù)據(jù)轉(zhuǎn)換成通用格式。AJJ紅軟基地
例如:AJJ紅軟基地
    double k=1234.789;AJJ紅軟基地
    int j=123456;AJJ紅軟基地
    Console.WriteLine(“{0:g}”, j);  //結(jié)果是123456AJJ紅軟基地
    Console.WriteLine(“{0:g}”, k);  //結(jié)果是1234.789AJJ紅軟基地
    Console.WriteLine(“{0:g4}”, k);  //結(jié)果是1235AJJ紅軟基地
    Console.WriteLine(“{0:g4}”, j);  //結(jié)果是1.235e+05AJJ紅軟基地
6.  自然數(shù)據(jù)格式AJJ紅軟基地
     格式字符N或者n的作用是將數(shù)據(jù)轉(zhuǎn)換成自然數(shù)據(jù)格式。AJJ紅軟基地
例如:AJJ紅軟基地
    double k=211122.12345;AJJ紅軟基地
    int j=1234567;AJJ紅軟基地
    Console.WriteLine(“{0:N}”,k);  //結(jié)果是211,122.12AJJ紅軟基地
    Console.WriteLine(“{0:n}”, j);  //結(jié)果是1,234,567.00AJJ紅軟基地
    Console.WriteLine(“{0:n4}”, k);  //結(jié)果是211,122.1235AJJ紅軟基地
    Console.WriteLine(“{0:n4}”, j);  //結(jié)果是1,234,567.0000AJJ紅軟基地
7. 十六進制數(shù)據(jù)格式AJJ紅軟基地
格式字符X或者x的作用是將數(shù)據(jù)轉(zhuǎn)換成十六進制數(shù)據(jù)格式,在格式字符X或者x后面的數(shù)字表示轉(zhuǎn)換后的十六進制數(shù)據(jù)的數(shù)據(jù)位數(shù)。AJJ紅軟基地
    例如:AJJ紅軟基地
        int j=123456;AJJ紅軟基地
        Console.WriteLine("{0:x}", j);  //結(jié)果是1e240AJJ紅軟基地
        Console.WriteLine("{0:x6}", j);  //結(jié)果是01e240AJJ紅軟基地
還可以不使用參數(shù)調(diào)用WriteLine( )方法,這時將在控制臺中產(chǎn)生一個新行。AJJ紅軟基地
例: 利用Console.WriteLine( )方法輸出變量值。程序代碼如下:AJJ紅軟基地
      using   System;AJJ紅軟基地
      class TestAJJ紅軟基地
     {AJJ紅軟基地
      static void Main( )AJJ紅軟基地
      {AJJ紅軟基地
            int i=12345;AJJ紅軟基地
            double j=123.45678;AJJ紅軟基地
            Console.WriteLine("i={0,8:D}   j={1, 10: F3}", i , j);AJJ紅軟基地
            Console.WriteLine( );AJJ紅軟基地
            Console.WriteLine("i={0,-8:D}   j={1, -10: F3}", i , j);AJJ紅軟基地
       }AJJ紅軟基地
     }AJJ紅軟基地
2.6.2   Console.Write( )方法      AJJ紅軟基地
Write( )方法和WriteLine( )方法類似,都是將信息輸出到控制臺,但是輸出到屏幕后并不會產(chǎn)生一個新行,即換行符不會連同輸出信息一起輸出到屏幕上,光標將停留在所輸出信息的末尾。AJJ紅軟基地
在Write( )方法中,也可以采用“{N[,M][:格式化字符串]}”的形式來格式化輸出字符串,其中的參數(shù)含義如同WriteLine( )方法。AJJ紅軟基地
例: 利用Console.WriteLine( )方法輸出變量值。程序代碼如下:AJJ紅軟基地
using   System;AJJ紅軟基地
class TestAJJ紅軟基地
{AJJ紅軟基地
  static void Main( )AJJ紅軟基地
   {AJJ紅軟基地
      int i=12345;AJJ紅軟基地
      double j=123.45678;AJJ紅軟基地
      Console.Write("i={0,8:D}   j={1, 10: F3}     ", i , j);AJJ紅軟基地
       Console.Write("i={0,-8:D}   j={1, -10: F3}", i , j);AJJ紅軟基地
     }AJJ紅軟基地
}AJJ紅軟基地
2.6.3  Console.ReadLine( )方法AJJ紅軟基地
 ReadLine( )方法用來從控制臺讀取一行數(shù)據(jù),一次讀取一行字符的輸入,并且直到用戶按下回車鍵它才會返回。AJJ紅軟基地
ReadLine( )方法并不接收回車鍵。如果ReadLine( )方法沒有接收到任何輸入,或者接收了無效的輸入,那么ReadLine( )方法將返回null。AJJ紅軟基地
正常返回輸入的字符串。AJJ紅軟基地
例:用ReadLine( )方法接收用戶輸入,然后輸出。AJJ紅軟基地
  using System;AJJ紅軟基地
  class TestAJJ紅軟基地
  {    static void Main( )AJJ紅軟基地
     {  string str;AJJ紅軟基地
         Console.WriteLine(“請輸入你的姓名:”);AJJ紅軟基地
         str=Console.ReadLine( );AJJ紅軟基地
         Console.WriteLine(“{0},歡迎你!”,str);AJJ紅軟基地
     }AJJ紅軟基地
   }AJJ紅軟基地
2.6.4  Console.Read( )方法AJJ紅軟基地
Read( )方法的作用是從輸入流(控制臺)讀取下一個字符,Read( )方法一次只能從輸入流讀取一個字符,并且直到用戶按回車鍵才會返回。AJJ紅軟基地
當(dāng)這個方法返回時,如果輸入流中包含有效的輸入,則它返回一個表示輸入字符的整數(shù);如果輸入流中沒有數(shù)據(jù),則返回-1。AJJ紅軟基地
例:通過Console.Read( )方法從控制臺接收用戶的輸入,然后顯示接收的內(nèi)容。程序代碼如下:AJJ紅軟基地
using System;AJJ紅軟基地
class TestIoAJJ紅軟基地
{ static void Main( )AJJ紅軟基地
  {   Console.Write("請輸入字符:");AJJ紅軟基地
       int a=Console.Read( );AJJ紅軟基地
       Console.WriteLine("用戶輸入的內(nèi)容為:{0}",a);AJJ紅軟基地
  }AJJ紅軟基地
}AJJ紅軟基地
練習(xí)AJJ紅軟基地
以下標識符中,錯誤的是(      )AJJ紅軟基地
        A.  _b39              B.  x345        AJJ紅軟基地
        C.  6_321            D. nAverageAJJ紅軟基地
以下標識符中,正確的是(      )AJJ紅軟基地
        A. _nName       B.  Main        AJJ紅軟基地
        C.  6b                D. x5#AJJ紅軟基地
練習(xí)AJJ紅軟基地
(     )是decimal類型數(shù)據(jù)AJJ紅軟基地
     A.123LAJJ紅軟基地
     B.123.4AJJ紅軟基地
     C.123.4FAJJ紅軟基地
     D.123.4MAJJ紅軟基地
已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼AJJ紅軟基地
      是97,則十六進制字符常量‘\u0042’表示(    )AJJ紅軟基地
       A.字符a           B.字符A   AJJ紅軟基地
       C.字符b           D.字符BAJJ紅軟基地
練習(xí)AJJ紅軟基地
編寫程序,驗證隱式轉(zhuǎn)換、顯式轉(zhuǎn)換、裝箱拆箱。AJJ紅軟基地
回答AJJ紅軟基地
byte x= 200;AJJ紅軟基地
sbyte y = (sbyte)200;AJJ紅軟基地
y值是多少,為什么?AJJ紅軟基地
區(qū)別Read()和ReadLine()方法,結(jié)合數(shù)據(jù)類型轉(zhuǎn)換,通過以上方法對整型變量賦值。AJJ紅軟基地
int n;AJJ紅軟基地
n = Console.Read();   //如果輸入2回車,則n為多少?AJJ紅軟基地
n=n-48;    // n為多少?AJJ紅軟基地
如果輸入10回車,則n為多少?AJJ紅軟基地
程序可修改為:AJJ紅軟基地
int n;AJJ紅軟基地
n = Convert.ToInt32(Console.ReadLine());AJJ紅軟基地
補充AJJ紅軟基地
Parse( )方法:AJJ紅軟基地
    主要用于將數(shù)字的字符串表示形式轉(zhuǎn)換為它的等效的其他基本數(shù)字類型。AJJ紅軟基地
數(shù)據(jù)類型.Parse(字符串)AJJ紅軟基地
注意:數(shù)據(jù)類型可以使用C#數(shù)據(jù)類型,也可以使用CTSAJJ紅軟基地
     例:  string    s=“18”;AJJ紅軟基地
               int  a=int.Parse(s)-10;    //a=8AJJ紅軟基地
               int  b=a+int.Parse(Console.ReadLine());AJJ紅軟基地
實驗和習(xí)題AJJ紅軟基地
電話號碼升位:AJJ紅軟基地
升位規(guī)則:6位-8位,在第1位和第2位之間添加數(shù)字8,然后在首位加2.AJJ紅軟基地
輸入坐標,判斷屬于下面哪個區(qū)域,正方形邊長為1,圓半徑為1。AJJ紅軟基地
思考題AJJ紅軟基地
四個人做了好事,有下面對話:AJJ紅軟基地
A:不是我AJJ紅軟基地
B:   是CAJJ紅軟基地
C:是DAJJ紅軟基地
D:C胡說AJJ紅軟基地
其中三個人說了真話,誰做了好事?AJJ紅軟基地
 AJJ紅軟基地

數(shù)據(jù)結(jié)構(gòu)查找ppt:這是數(shù)據(jù)結(jié)構(gòu)查找ppt,包括了基本概念與術(shù)語,靜態(tài)查找表,動態(tài)查找表,哈希表查找,小結(jié)與習(xí)題等內(nèi)容,歡迎點擊下載。

數(shù)據(jù)結(jié)構(gòu)ppt最短路徑:這是數(shù)據(jù)結(jié)構(gòu)ppt最短路徑,包括了最短路徑的定義,Dijkstra算法,F(xiàn)loyd算法,F(xiàn)loyd算法——C++描述等內(nèi)容,歡迎點擊下載。

數(shù)據(jù)庫答辯ppt:這是數(shù)據(jù)庫答辯ppt,包括了數(shù)據(jù)庫用戶管理和安全設(shè)置,數(shù)據(jù)庫日志、作業(yè)與警報管理,復(fù)雜數(shù)據(jù)庫備份和數(shù)據(jù)庫維護,收獲與體會等內(nèi)容,歡迎點擊下載。

PPT分類Classification

Copyright:2009-2024 紅軟網(wǎng) rsdown.cn 聯(lián)系郵箱:rsdown@163.com

湘ICP備2024053236號-1