C#圖文說(shuō)明教程首課:容易的歡迎程序
發(fā)表時(shí)間:2024-02-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本節(jié)課通過介紹幾個(gè)簡(jiǎn)單的程序,使得你對(duì)C#有所入門。本節(jié)程要達(dá)到如下幾個(gè)目的:1.理解一個(gè)C#程序的基本結(jié)構(gòu)。2.初步了解"名稱空間"的概念。3.初步了解"類"的概念。4.了解"Main"方法所做的工作。5.學(xué)會(huì)如何讀取命令行輸入信息。6...
本節(jié)課通過介紹幾個(gè)簡(jiǎn)單的程序,使得你對(duì)C#有所入門。本節(jié)程要達(dá)到如下幾個(gè)目的:
1.理解一個(gè)C#程序的基本結(jié)構(gòu)。
2.初步了解"名稱空間"的概念。
3.初步了解"類"的概念。
4.了解"Main"方法所做的工作。
5.學(xué)會(huì)如何讀取命令行輸入信息。
6.學(xué)會(huì)使用控制臺(tái)輸入/輸出 (I/O)語(yǔ)句。
1.清單1-1. 一個(gè)簡(jiǎn)單的歡迎程序Welcome.cs
// Namespace Declaration
using System;
// Program start class
class WelcomeCSS {
// Main begins program execution.
public static void Main() {
// Write to console
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}
說(shuō)明
1.清單1-1中的程序包括四個(gè)基本元素:名稱空間的聲明,類,"Main"方法和語(yǔ)句。
2.本例中對(duì)名稱空間的聲明,表明正在使用"System"這個(gè)名稱空間。
名稱空間內(nèi)包含了一組可以被C#程序調(diào)用的代碼。有了"using System;"這個(gè)聲明,就表明程序可以引用該"System"名稱空間內(nèi)的代碼,而無(wú)需在每個(gè)引用的前面加上"System"。關(guān)于這一點(diǎn),我將在后面專門介紹名稱空間的課程中詳細(xì)介紹。
3.類"class WelcomeCSS"包含了程序所要用到的數(shù)據(jù),和所要執(zhí)行的方法的定義。
同諸如接口和結(jié)構(gòu)這樣的元素類似,類在程序中是用來(lái)描述對(duì)象的,這些元素都將會(huì)在后續(xù)課程中詳細(xì)介紹。本例中的類不包含數(shù)據(jù),只包含一個(gè)方法。該方法定義了該類的行為(或者稱為該類所能做的事情)。
4.程序運(yùn)行時(shí),WelcomeCSS類中的該方法表明了該類所要完成的事情。
方法名"Main"作為保留字,作為程序的起點(diǎn)。"Main"前面是個(gè)名為"static"的修飾符。"static"修飾符表明該方法僅僅在該特定的類中工作,而不是在在該類的實(shí)例中工作。這是必需的,因?yàn)橐坏┏绦騿?dòng)后,并不存在對(duì)象的實(shí)例。類,對(duì)象和實(shí)例的具體用法將會(huì)在后面的課程中覆蓋到。每個(gè)方法必須有個(gè)返回值類型。本例中,返回值類型是"void",它表明"Main"函數(shù)沒有返回值。每個(gè)方法名的后面也都跟著個(gè)參數(shù)表,參數(shù)表包含有零個(gè)或者多個(gè)參數(shù)并用括號(hào)括起來(lái)。為了簡(jiǎn)單起見,沒有在"Main"后面添加參數(shù)。后面的課程中,將介紹"Main"方法所允許采用的參數(shù)類型。
5."Main"方法通過"Console.WriteLine(...)" 語(yǔ)句表明其行為。
"Console" 是"System" 名稱空間中的類。"WriteLine(...)"是"Console" 類中的方法。我們使用"."這個(gè)句點(diǎn)操作符來(lái)標(biāo)記程序中的從屬元素。注意到,我們也可以這樣來(lái)書寫:"System.Console.WriteLine(...)",這樣的書寫格式是很有趣的,它是根據(jù)"namespace.class.method" 的格式進(jìn)行書寫的。如果在程序的一開始,沒有采用"using System"的聲明,那么就必須嚴(yán)格遵守"System.Console.WriteLine(...)"這樣的書寫格式。該語(yǔ)句的執(zhí)行結(jié)果是在控制臺(tái)控制臺(tái)上輸出字符串"Welcome to the C# Station Tutorial!" 。
6.注釋是由"//"標(biāo)出的。
例子中的這些注釋都是單行注釋,表明從該注釋符號(hào)的開始處到該行結(jié)束處,都是注釋部分。如果你的注釋要跨越若干行,即多行注釋,可以以符號(hào)"/*"開始,以符號(hào)"*/"結(jié)束,其中所包含的全部是注釋。你也可以在多行注釋符號(hào)中包含單行注釋。但是,不能在單行注釋符號(hào)后面放上多行注釋符號(hào)。程序編譯時(shí),將忽略掉注釋部分。注釋的目的是為了用簡(jiǎn)單的英語(yǔ)給程序所要完成的工作加上注解。
7.所有語(yǔ)句都以分號(hào)";"結(jié)束。
類和方法以"{"開始,以"}"結(jié)束。任何位于"{"和"}"之間的語(yǔ)句定義為塊。塊定義了程序元素的活動(dòng)范圍 (或者稱為生命期和可見性),這些概念將在后面的課程中加以介紹。
8.可以編寫出能夠接受命令行輸入信息的程序。
命令行輸入信息的集合是在"Main"方法中進(jìn)行處理的。清單1-2中的程序,可以從命令行中接受輸入一個(gè)名字,之后在控制臺(tái)上顯示出來(lái)。
2.清單1-2. 讀取命令行輸入信息的程序NamedWelcome.cs
// Namespace Declaration
using System;
// Program start class
class NamedWelcome {
// Main begins program execution.
public static void Main(string[] args) {
// Write to console
Console.WriteLine("Hello, {0}!", args[0]);
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}
說(shuō)明
1.記住,要把你的名字添加到命令行中。
例如,在命令行中打入"NamedWelcome Joe"。如果不這樣做,程序就會(huì)崩潰,在后面的課程中,將介紹如何檢測(cè)這種情況,以及如何避免這種情況的出現(xiàn)。
2.在清單1-2中,在"Main"方法的參數(shù)表中有個(gè)入口。
參數(shù)名是"args"。 在程序的后面部分就要引用該參數(shù)。"string[]"是參數(shù)"args"的類型。"string"類型用于存放字符。這些字符可以是一個(gè)單詞,也可以是多個(gè)單詞。方括號(hào)"[]"表示數(shù)組,"args"參數(shù)由命令行上的若干個(gè)單詞構(gòu)成。
3.在"Main"方法的語(yǔ)句中,多了一條"Console.WriteLine(...)"語(yǔ)句。
該語(yǔ)句中的參數(shù)表同以往的寫法不同,其中有個(gè)格式字符串"{0}" 參數(shù)。 格式串中的第一個(gè)參數(shù)從數(shù)字0開始,第二個(gè)參數(shù)從數(shù)字1開始,依此類推。 "{0}" 參數(shù)意味著引號(hào)后面的參數(shù)值將會(huì)輸出到該位置,F(xiàn)在讓我們來(lái)看看引號(hào)后面的參數(shù)。
4."args[0]"參數(shù),它指向"args"數(shù)組中的第一個(gè)字符串。
數(shù)組中的第一個(gè)元素是args[0], 第二個(gè)元素是args[1],依此類推。例如,如果我在命令行中寫上"NamedWelcome Joe","args[0]"的值就為"Joe".
讓我們回到在格式字符串中嵌入的"{0}" 參數(shù)吧,因?yàn)?quot;args[0]"是格式串后面的第一個(gè)參數(shù), 一旦執(zhí)行該命令時(shí),"args[0]"的值"Joe"就會(huì)替換掉格式串中的"{0}"。一旦執(zhí)行命令:"NamedWelcome Joe",輸出結(jié)果就會(huì)為:
>Hello, Joe!
>Welcome to the C# Station Tutorial!
通過控制臺(tái)也可以把輸入信息提供給程序。清單1-3演示了交互式處理用戶輸入的信息的方法。
3.清單1-3. 交互式處理輸入信息的程序 InteractiveWelcome.cs
// Namespace Declaration
using System;
// Program start class
class NamedWelcome {
// Main begins program execution.
public static void Main() {
// Write to console/get input
Console.Write("What is your name?: ");
Console.Write("Hello, {0}! ", Console.ReadLine());
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}
說(shuō)明
這一次,"Main"方法沒有用到任何參數(shù),但現(xiàn)在程序中有了三條語(yǔ)句,前面兩條語(yǔ)句不同于第三條語(yǔ)句,它們是:"Console.Write(...)"而不是 "Console.WriteLine(...)"。區(qū)別是:"Console.Write(...)"語(yǔ)句把信息輸出到控制臺(tái),之后光標(biāo)停留在同一行,而"Console.WriteLine(...)"把信息輸出,之后換行。
第一條語(yǔ)句僅僅輸出"What is your name?: "到控制臺(tái)。
第二條語(yǔ)句要等到其參數(shù)被適當(dāng)?shù)靥幚碇,才?huì)輸出信息。 格式串后面的第一個(gè)參數(shù)是:"Console.ReadLine()"。這就使得程序要等待用戶在控制臺(tái)輸入信息,輸入信息以回車或者換行結(jié)束。該方法的返回值替換了格式串中的"{0}"參數(shù),并輸出到控制臺(tái)上。
最后一個(gè)語(yǔ)句也用來(lái)輸出信息到控制臺(tái),這一點(diǎn)我們?cè)谇懊嬉呀?jīng)介紹過。一旦運(yùn)行了程序"InteractiveWelcome",其輸出結(jié)果為:
>What is your Name?
>Hello, ! Welcome to the C# Station Tutorial!
小結(jié)
到現(xiàn)在為止,你已經(jīng)了解了C#程序的基本結(jié)構(gòu),名稱空間和類。你還了解到"Main"方法是C# 程序的入口,并學(xué)會(huì)了如何捕捉命令行的輸入信息,以及如何進(jìn)行交互式的I/