涼鞋的筆記 編程入門與框架設(shè)計(jì) (三) 循環(huán)的力量

我們來(lái)練習(xí)一下上堂課的代碼:

string sayHiText = "Hello World!";
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);

看下結(jié)果:

Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!

好肮蛹,輸出了十次Hello World!广辰,在之前,我們學(xué)習(xí)了變量和Console.WriteLine鄙才。這件事情我們做起來(lái)就比較容易了颂鸿。

下面我們有了新的任務(wù),我們想要讓程序輸出1000次Hello World!攒庵。

做起來(lái)的話也是很容易的嘴纺,只不過(guò)要花很多時(shí)間。

比如以上的Console.WriteLine部分的十行代碼浓冒,復(fù)制粘貼100次栽渴。自己還要去數(shù)100個(gè)數(shù),比較麻煩稳懒。通過(guò)現(xiàn)有的知識(shí)是沒(méi)法很好地完成任務(wù)的闲擦。所以我們要去學(xué)新的概念。

首先我們要為新的概念做一些準(zhǔn)備场梆。

我們上堂課講了,sayHiText是一個(gè)string類型墅冷,也就是一個(gè)字符串類型。 字符串我們理解為文本或油。但以后我們就不叫文本了寞忿,就叫字符串類型。
sayHiText變量存儲(chǔ)了HelloWorld的值顶岸。
除了字符串類型腔彰,其實(shí)還有其他類型。
比如整數(shù)類型

int times = 1000;

這行代碼跟我們上堂課學(xué)習(xí)的string變量聲明的代碼結(jié)構(gòu)很相似辖佣。

string sayHiText = "Hello World!";

都是前邊有個(gè)類型關(guān)鍵字描述后邊變量的類型霹抛。
times變量是int類型。int的全稱叫integer,是整型的意思卷谈。
所以它可以存儲(chǔ)的值是整數(shù)值杯拐。就是1000,因?yàn)?000是整數(shù)。
我們看下代碼的輸出結(jié)果藕施。

int times = 1000;
Console.WriteLine(times);
1000

OK,到這里。

我們?yōu)槭裁匆獙W(xué)習(xí)整型呢凸郑?是用來(lái)進(jìn)行一個(gè)計(jì)數(shù)的操作裳食。我們需要從0計(jì)到1000,計(jì)的這個(gè)過(guò)程我們需要進(jìn)行一個(gè)加法操作芙沥。每次都要進(jìn)行一個(gè)加1的操作诲祸。

加法怎么去做呢?

我們先了解一下變量的特性而昨,代碼如下

int times = 0;
Console.WriteLine(times);

第一行代碼救氯,我們讀出來(lái)的話叫變量的聲明并賦值。
變量聲明之后歌憨,在后邊的代碼中不用在前邊加個(gè)int了着憨。
times聲明了之后,就代表在程序里邊已經(jīng)有了times這個(gè)變量了务嫡。我們可以重復(fù)地去利用這個(gè)變量了甲抖。

然后我們看下一個(gè)簡(jiǎn)單的加法操作

Console.WriteLine(1 + 1);

看下結(jié)果

2

1 + 1 的話肯定就是2了。

然后我們要用一個(gè)變量來(lái)存儲(chǔ)1 + 1的內(nèi)容心铃。
跟剛才一樣准谚,我們就用sum來(lái)存儲(chǔ)。

int sum = 1 + 1;
Console.WriteLine(sum);

把之前代碼中的1 + 1提取成變量去扣,用sum變量來(lái)代替柱衔。
看下結(jié)果:

2

輸出的結(jié)果一樣的。

再介紹一個(gè)稍微難一點(diǎn)的運(yùn)算方式愉棱。

int sum = 0;
sum = sum + 1;
sum = sum + 1;
Console.WriteLine(sum);

初始值我們默認(rèn)為0唆铐。
sum = sum + 1是什么意思呢?

在程序語(yǔ)言里奔滑,我們的計(jì)算都是從右向左開始進(jìn)行的或链。
在第二行代碼里等號(hào)右邊的sum值是0,可以翻譯為 sum = 0 + 1; 也就是sum = 1;
到第三行的時(shí)候等號(hào)右邊的sum值已經(jīng)是上一行sum的結(jié)果档押,也就是是1澳盐,可以把第三行翻譯為翻譯為 sum = 1 + 1;也就是sum = 2;
我們來(lái)輸出下結(jié)果,驗(yàn)證一下:

2

好令宿,結(jié)果就是2.

所以我們的加一操作都會(huì)sum = sum + 1;這樣的方式去寫叼耙。
在程序語(yǔ)言里,我們經(jīng)常會(huì)進(jìn)行加一的操作粒没。所以程序語(yǔ)言的設(shè)計(jì)者為此做了一些簡(jiǎn)化,簡(jiǎn)化為sum++,代碼如下:

int sum = 0;
sum++;
sum++;
Console.WriteLine(sum);

看下結(jié)果:

2

好筛婉,結(jié)果和上邊的一樣。

除了加法我們還要在學(xué)一個(gè)比較大小操作。

再學(xué)習(xí)比較大小之前我們要介紹一個(gè)新的類型爽撒。
這個(gè)類型叫布爾(bool)類型入蛆。

bool isEqual = false;

以上這種結(jié)構(gòu)的代碼我們已經(jīng)學(xué)習(xí)了兩次了,分別是int和string類型的聲明并賦值硕勿。
bool 關(guān)鍵字描述了isEqual變量是bool類型哨毁。
bool是什么類型呢?
“真”的話在這里我們用true表示源武,”假”的話就用false,是用來(lái)做條件判斷的扼褪。看看一個(gè)條件是否是成立的粱栖,成立的就是true话浇,不成立的就是false。

我們看下輸出的結(jié)果是什么樣的闹究。

bool isEqual = false;
Console.WriteLine(isEqual);

結(jié)果:

False

那么我們從哪里得到這個(gè)false和true的值呢幔崖?

bool isEqual = 1 == 1;
Console.WriteLine(isEqual);

兩個(gè)等號(hào)代表判斷兩個(gè)1是否相等,如果相等則值為true渣淤,不相等則值為false岖瑰。很明顯1肯定等于1 ,所以isEqual的值最終是true砂代。
1 == 1這種的叫它布爾表達(dá)式蹋订。

好我們看下結(jié)果:

True

OK,bool類型我們就學(xué)到這。

bool表達(dá)式中除了判斷兩個(gè)整數(shù)是否相等之外刻伊,還可以判斷1是否大于2露戒。
我們來(lái)看下代碼:

bool isBigger = 1 > 2;
Console.WriteLine(isBigger); 

很簡(jiǎn)單,我們看下結(jié)果捶箱。

False

OK智什,結(jié)果沒(méi)問(wèn)題。

準(zhǔn)備階段就到這里了丁屎,我們學(xué)習(xí)新的概念荠锭,叫做循環(huán)。
我們看下代碼是什么樣的晨川。

for (int i = 0;i < 1000; i++)
{
    Console.WriteLine("Hello World!");
}   

功能是將Hello World執(zhí)行1000次证九。
for (int i = 0;i < 1000; i++)這行是一個(gè)計(jì)數(shù)的過(guò)程。從0到999共虑,總共1000次愧怜。
其中第一個(gè)分號(hào)前邊的部分代碼int i = 0只執(zhí)行一次,對(duì)計(jì)數(shù)變量進(jìn)行了初始化妈拌。第一個(gè)分號(hào)后邊的代碼是什么意思呢拥坛?i < 1000是一個(gè)表達(dá)式,就是我們剛才學(xué)習(xí)的bool表達(dá)式。每當(dāng)執(zhí)行完花括號(hào)內(nèi)的代碼時(shí)猜惋,都會(huì)執(zhí)行一次i < 1000的代碼丸氛。當(dāng)這個(gè)條件為true是繼續(xù)下一次循環(huán)。否則就跳出循環(huán)著摔。
第二個(gè)分號(hào)后面的代碼i++,是進(jìn)行一個(gè)累加操作缓窜,它其實(shí)是i = i + 1。是當(dāng)每次循環(huán)執(zhí)行結(jié)束之后梨撞,會(huì)執(zhí)行一次i++雹洗。

好香罐,當(dāng)?shù)谝淮芜M(jìn)入循環(huán)時(shí),代碼在計(jì)算機(jī)里是這樣的卧波。

for (int i = 0;0 < 1000; i++) i = 0
{
     Console.WriteLine("Hello World!");
}   

當(dāng)i 是0時(shí),i < 1000是true庇茫,所以滿足條件可以執(zhí)行循環(huán)代碼港粱。
執(zhí)行完循環(huán)代碼之后,進(jìn)行累加操作,這時(shí)在計(jì)算機(jī)里代碼是這樣的旦签。

for (int i = 0;0 < 1000; i++) i = 1
{
     Console.WriteLine("Hello World!");
}   

再之后進(jìn)入下一次循環(huán)查坪,還是先判斷一次i < 1000,這時(shí)候i是1,1 < 1000是true宁炫。所以可以執(zhí)行循環(huán)里的代碼偿曙。
就這樣一種反復(fù),到第1000次執(zhí)行完后羔巢,i的值是1000,再次進(jìn)行判斷i < 1000望忆,這時(shí)候1000 < 1000就是false了。就會(huì)結(jié)束這次循環(huán)竿秆,接著執(zhí)行循環(huán)結(jié)構(gòu)后邊的代碼了启摄。

以上四行代碼已經(jīng)是,本堂課的問(wèn)題的解決方案了幽钢,問(wèn)題是如何輸出1000次Hello World歉备。
我們看下結(jié)果

Hello World!
Hello World!
...

好本堂課的內(nèi)容到這里為止,我們下堂課見匪燕。

本文為視頻課程Unity 游戲框架搭建 __C#入門與框架設(shè)計(jì):http://edu.manew.com/course/431)]的講稿蕾羊,如果覺得內(nèi)容不錯(cuò),可以購(gòu)買課程來(lái)支持我的事業(yè)哦~帽驯,

第三課課程內(nèi)容更新日志:

  • 視頻:時(shí)長(zhǎng)從15:08優(yōu)化到12:54厢塘。
  • 視頻:去掉了口頭禪。
  • 視頻:邏輯不清晰的部分進(jìn)行了重新配音庸疾。

相關(guān)鏈接:

我的框架地址:https://github.com/liangxiegame/QFramework

QFramework&游戲框架搭建QQ交流群: 623597263

C#入門課程交流群: 609819797

轉(zhuǎn)載請(qǐng)注明地址:涼鞋的筆記http://liangxiegame.com/

微信公眾號(hào):liangxiegame

image

如果有幫助到您:

如果覺得本篇教程對(duì)您有幫助锦聊,不妨通過(guò)以下方式贊助筆者一下,鼓勵(lì)筆者繼續(xù)寫出更多高質(zhì)量的教程,也讓更多的力量加入 QFramework 截碴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末走哺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子哲虾,更是在濱河造成了極大的恐慌丙躏,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件束凑,死亡現(xiàn)場(chǎng)離奇詭異晒旅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)汪诉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門废恋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人扒寄,你說(shuō)我怎么就攤上這事鱼鼓。” “怎么了该编?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵迄本,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我课竣,道長(zhǎng)嘉赎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任稠氮,我火速辦了婚禮曹阔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘隔披。我一直安慰自己赃份,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布奢米。 她就那樣靜靜地躺著抓韩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鬓长。 梳的紋絲不亂的頭發(fā)上谒拴,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音涉波,去河邊找鬼英上。 笑死炭序,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苍日。 我是一名探鬼主播惭聂,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼相恃!你這毒婦竟也來(lái)了辜纲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拦耐,失蹤者是張志新(化名)和其女友劉穎耕腾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杀糯,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扫俺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了火脉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牵舵。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柒啤,死狀恐怖倦挂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情担巩,我是刑警寧澤方援,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站涛癌,受9級(jí)特大地震影響犯戏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拳话,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一先匪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弃衍,春花似錦呀非、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至速缆,卻和暖如春降允,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背艺糜。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工剧董, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幢尚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓翅楼,卻偏偏與公主長(zhǎng)得像侠草,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子犁嗅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容