一、if結(jié)構(gòu)的基本語法:
創(chuàng)新互聯(lián)是專業(yè)的清流網(wǎng)站建設(shè)公司,清流接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行清流網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!if(條件)
語句1;
執(zhí)行過程:首先判斷條件的結(jié)果,如果條件為ture,則這行語句1,如果條件為false,則跳過語句1。執(zhí)行后面的語句。
注意:
1)if后面的括號中的條件,要能計算成一個bool類型的值。
2)默認情況下,if語句只能帶1句話,即和if語句有關(guān)系的語句只有語句1.
if帶多句話可以寫成:
if(條件)
{
語句1;
語句2;
。。。。。。。。。
}
我們在寫程序的時,哪怕if語句只帶一句話,也要寫在大括號中。
二、if-else結(jié)構(gòu):
語法:
if(條件)
{
語句1;
}
else
{
語句塊2;
}
執(zhí)行過程:
如果條件為ture,則執(zhí)行if帶的語句塊1,并且跳過else帶的語句2
如果條件為false,則跳過if帶的語句塊1,執(zhí)行else帶的語句塊2
上面兩個語句塊,根據(jù)條件結(jié)束為ture或False,總要執(zhí)行一個。
三、if-else if
在if-else if語句中,只有當上一個條件不成立時,才會進入下一個if語句并進行if語句后面的條件判斷。
一旦有一個if后面的條件為ture,則執(zhí)行此if所帶的語句(塊),語句(塊)執(zhí)行完成后,程序跳出if-else if結(jié)構(gòu)。
如果所有的if條件都不成立,則執(zhí)行最后的else所帶的語句,如果最后沒有else語句,則什么都不執(zhí)行。
練習一
練習二
練習三
四、switch-case語法:
switch(表達式/變量)
{
case 值1:語句塊1;
break;
case 值2:語句塊2;
break;
default: 語句塊3;
break;
}
執(zhí)行過程:
首先計算表達式,然后根據(jù)計算的結(jié)果與匹配case后面的值,如果有匹配項,則執(zhí)行匹配項后面的語句,
直到break語句跳出 switch-case,如果所有的case值都不匹配,那么default則執(zhí)行 default后面的語句,直到 break結(jié)束。
如果沒有default,則跳出switch-case,什么都不執(zhí)行。
switch與if的區(qū)別
相同點:都可以實現(xiàn)多分枝結(jié)構(gòu)
不同點:
·switch:一般只能用于等值比較
·if-else if 可以處理范圍
五,while循環(huán)的語法
while(條件) //條件為循環(huán)條件
{
循環(huán)體(要循環(huán)執(zhí)行的N條程序)
}
執(zhí)行過程
1 先判斷循環(huán)條件,如果條件為true則轉(zhuǎn)向2,如果條件為false則轉(zhuǎn)向3
2 執(zhí)行循環(huán)體,循環(huán)體執(zhí)行完后轉(zhuǎn)向1
3 跳出循環(huán)體,循環(huán)結(jié)束
在循環(huán)體中,一定要有那么一句話,改變循環(huán)條件中的某個變量的值,使循環(huán)條件終有那么一天為 false.
While循環(huán)特點:先判斷,再執(zhí)行
class Program { static void Main(string[] args) { //習題一 int i = 0; while (i < 100) { Console.WriteLine("{0}.\t歡迎您來到傳智播客學習!\t",i+1); i++; } Console.ReadKey(); } }
class Program { static void Main(string[] args) { //習題二 Console.WriteLine("請輸入你們班級有多少人:"); int count = Convert.ToInt32(Console.ReadLine()); int score = 0; int sum = 0; int i=0; while (i< count) { Console.WriteLine("請輸入第{0}個學生的成績",i+1); score = Convert.ToInt32(Console.ReadLine()); sum += score; i++; } Console.WriteLine("本班級有{0}人,班級總成績?yōu)閧1},平均成績?yōu)閧2}",count, sum,sum/count); Console.ReadKey(); } }
class Program { static void Main(string[] args) { //習題三 Console.WriteLine("這道題你會做了嗎?(會Y/不會N)"); string select = Console.ReadLine(); int i = 0; while (select=="N"&&i<10) { Console.WriteLine("這道題你會做了嗎?(會Y/不會N)"); select = Console.ReadLine(); i++; } Console.WriteLine("可以放學!"); Console.ReadKey(); } }
class Program { static void Main(string[] args) { //習題四 double count = 8000; int year = 2006; while (count < 200000) { count += count * 0.25; year++; } Console.WriteLine("到{0}年,培訓學員將達到20萬",year); Console.ReadKey(); } }
六、do-while
語法:
do
{
循環(huán)體;
}while(條件);
執(zhí)行過程:
1. 執(zhí)行循環(huán)體,執(zhí)行完循環(huán)體轉(zhuǎn)向2
2. 判斷條件是否成立,如果條件為true,則轉(zhuǎn)向1,如果條件為false,則轉(zhuǎn)向3.
3. 跳出循環(huán),循環(huán)結(jié)束。
假如循環(huán)條件一開始就不成立,對于while循環(huán),一次都不會執(zhí)行。對于do-while循環(huán)體會執(zhí)行一次。
所以,do-while的循環(huán)體一般至少會被執(zhí)行一次。
區(qū)別:
while先判斷,后執(zhí)行。
do-while先執(zhí)行,后判斷
//練習一 int i = 1; int sum = 0; do { sum+=i; i++; }while(i<=100); Console.WriteLine("1到100之間的整數(shù)和為{0}",sum); Console.ReadKey();
//練習二 string username; string password; do { Console.WriteLine("請輸入用戶名和密碼:"); username = Console.ReadLine(); password = Console.ReadLine(); if (username != "admin" || password != "888888") { Console.WriteLine("你輸入的用戶名或密碼有誤!請重新輸入!"); } } while (username != "admin" || password != "888888"); Console.WriteLine("登陸成功!"); Console.ReadKey();
//習題三 string name; do { Console.WriteLine("請用戶輸入學生的姓名:"); name = Console.ReadLine(); } while (name != "q"); Console.WriteLine("程序結(jié)束!") Console.ReadKey();
//習題四 int number; bool flag = true; do { Console.WriteLine("請用戶輸入一個數(shù)字:"); try { number = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("{0}的二倍是{1}", number, number * 2); flag = true; } catch { flag = false; } } while (flag);
//第五題 string input=""; int number; int max=0; bool flag = true; do { try { Console.WriteLine("請輸入一個數(shù)字:(或end結(jié)束)"); input = Console.ReadLine(); number = Convert.ToInt32(input); if (number > max) { max = number; } } catch { if (input != "end") { Console.WriteLine("你輸入有誤!程序結(jié)束!"); input = "end"; flag = false; } } }while(input!="end"); if(flag) { Console.WriteLine("你輸入的大值是{0}", max); } Console.ReadKey();
class Program { static void Main(string[] args) { //習題六 int i=0; string answer; do { Console.WriteLine("張三表演第{0}次舞蹈",i+1); Console.WriteLine("老師你滿意嗎?(Y/N)"); answer=Console.ReadLine(); i++; }while(answer=="N"); Console.WriteLine("不錯!可以回家了!"); Console.ReadKey(); } }
七、for 循環(huán)語法:
for(表達式1;表達式2;表達式3)
{
循環(huán)體;
}
for循環(huán)一般用于已知循環(huán)次數(shù)的循環(huán)
一般情況下
表達式1 用于定義循環(huán)變量和對循環(huán)變量賦初值。
表達式2 就是循環(huán)條件
表達式3 用于改變循環(huán)標量的值
執(zhí)行過程:
1) 計算表達式1,轉(zhuǎn)向第步
2) 計算表達式2(表達式2就是循環(huán)條件),如果表達式2的值為true,轉(zhuǎn)向第3步,如果表達式2的值為false,轉(zhuǎn)向第5步
3) 執(zhí)行循環(huán)體,轉(zhuǎn)向第4步
4) 執(zhí)行表達式3,轉(zhuǎn)向第2步
5) 循環(huán)結(jié)束
//問題一 int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { sum = sum + i; } } Console.WriteLine("1-100的偶數(shù)和為{0}", sum); Console.ReadKey();
//問題二 for (int i = 100; i <= 999; i++) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) { Console.WriteLine(i); } Console.ReadKey(); }
//問題三 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { Console.Write(" {0}*{1}={2:00} ", i, j, i * j); } Console.WriteLine(); }
//問題三 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { Console.Write(" {0}*{1}={2:00} ", i, j, i * j); } Console.WriteLine(); } Console.ReadKey();
break;
1) 可以用于switch-case判斷中,用于跳出switch
2) 用在循環(huán)中,用于立即跳出(終止)循環(huán).
注意:用于循環(huán)中時;跳出的是break所在的循環(huán)
class Program { static void Main(string[] args) { int age = 0; int sum = 0; bool flag = false; for (int i = 0; i < 5; i++) { Console.WriteLine("請輸入第{0}個人的年齡",i+1); try { age = Convert.ToInt32(Console.ReadLine()); if (age < 0 || age >= 200) { Console.WriteLine("你輸入的年齡不合法!程序終止!"); break; } sum += age; flag = true; } catch { Console.WriteLine("你輸入的數(shù)據(jù)有誤!程序終止!"); break; flag = false; } } while (flag) { Console.WriteLine("你輸入的5個人的平均年齡為{0}", sum / 5); } } }
class Program { static void Main(string[] args) { string username ; string password ; while (true) { Console.WriteLine("請輸入的用戶名和密碼:"); username = Console.ReadLine(); password = Console.ReadLine(); if(username=="admin"&&password=="888888") { Console.WriteLine("登陸成功!"); break; } Console.WriteLine("你輸入的用戶名或密碼有誤!請重新輸入!"); } } }
class Program { static void Main(string[] args) { int i = 0; int sum = 0; while (i <=99) { i++; if (i % 7 == 0) { continue; } sum += i; } Console.WriteLine(sum); } }
continue;
用于循環(huán)中,程序一旦執(zhí)行到continue語句,立即結(jié)束本次循環(huán)(就是不在執(zhí)行循環(huán)體中continue下面的語句了),
直接進行下一次循環(huán)(對于do-while/while直接進行下一次循環(huán)條件的判斷,如果條件成立,則再次進入循環(huán),
對于for循環(huán),先執(zhí)行表達式3,再判斷循環(huán)條件是否成立),
class Program { static void Main(string[] args) { int i = 0; int sum = 0; while (i <=99) { i++; if (i % 7 == 0) { continue; } sum += i; } Console.WriteLine(sum); } }
枚舉/常量/結(jié)構(gòu)
常量:
語法:
const 類型 變量名 = 常量值
在定義時賦值,在其他地方不允許賦值,
枚舉:
讓我們定義一種類型并且在定義這種類型時我們要指定這個類型的所有值;
語法:
enum 自己起的類型名稱 {類型的值1,值2,值3,…};
枚舉的定義,一般和類定義在同一個級別,這樣,在同一個命名空間下的所有類都可以使用這個枚舉。
枚舉的作用:
1) 限制用戶不能隨意賦值,只能在定義枚舉時列舉的值中選擇.
2)不需要死記每一個值是什么,只需要選擇相應(yīng)的值
注意:定義枚舉時,值不能為int類型
枚舉類型的變量都可以強制轉(zhuǎn)換成一個int類型
(int)變量名
把一個字符串轉(zhuǎn)換成枚舉類型:
自己定義的枚舉類型=自枚
變量 = (自枚)(Enum.Parse(typeof(自枚),”待轉(zhuǎn)換的字符串”));
namespace _01 { enum Gender { 男,女} class Program { static void Main(string[] args) { Gender sex; sex = Gender.男; Console.WriteLine("請輸入你的性別:"); try { string s = Console.ReadLine(); sex=(Gender)(Enum.Parse(typeof(Gender),s)); Console.WriteLine("你的性別為"+sex); } catch { Console.WriteLine("你輸入的性別有誤!"); } } } }
為什么要用結(jié)構(gòu):
1) 比如我們上課講的為了存儲一個人的信息,要聲明一組變量,當我們要存儲n個人的信息時,就要聲明n組變量,太麻煩了。
2) 存儲一個人信息的這幾個變量之間沒有關(guān)系,容易混淆。
語法:
訪問修飾符 struct 結(jié)構(gòu)名
{
定義結(jié)構(gòu)成員
}
定義好一個機構(gòu)后,就可以直接聲明相應(yīng)的變量.
聲明好變量后,通過變量名.成員名來訪問結(jié)構(gòu)的成員
namespace _02結(jié)構(gòu) { public enum Gender { 男, 女 } public struct Person //定義一個叫Penson的結(jié)構(gòu) { public string name;//結(jié)構(gòu)的成員 public Gender sex;//結(jié)構(gòu)的成員 public int age;//結(jié)構(gòu)的成員 } class Program { static void Main(string[] args) { Person onePerson; onePerson.name="張三"; onePerson.age = 20; onePerson.sex = Gender.男; Console.WriteLine("我叫{0},今年{1}歲,我是{2}性", onePerson.name, onePerson.age, onePerson.sex); Person secPerson; secPerson.name = "李四"; secPerson.age = 21; secPerson.sex = Gender.男; Console.WriteLine("我叫{0},今年{1}歲,我是{2}性", secPerson.name, secPerson.age, secPerson.sex); Console.ReadKey(); } } }
可訪問性不一致:
聲明的枚舉的訪問修飾符的級別要比類Person的訪問修飾符的級別低。另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞標題:C#基礎(chǔ)總結(jié)(三)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article16/cdhsgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、ChatGPT、微信公眾號、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容