運算子與if結構
1、型別如果相相容的兩個變數,可以使用自動型別轉換或者強制型別轉換, 但是,如果兩個型別的變數不相容,比如 string與int或者string 與double, 這個時候我們可以使用一個叫做Convert的轉換工廠進行轉換。 注意:使用Convert進行型別轉換,也需要滿足一個條件: 面兒上必須要過的去。
2、算數運算子 ++:分為前++和後++,不管是前++還是後++,最終的結果都是給這個變數加一。 區別表現表示式當中,如果是前++,則先給這個變數自身加一,然後帶著這個加一後的值去參與運算。 如果是後++,則先拿原值參與運算,運算完成後,再講這個變數自身加一。 --:同上。
3、 對於向加加或者減減這樣只需要一個運算元就能完成的運算,我們稱之為一元運算子。 + - * / % 對於這些需要兩個或以上才能完成運算的操作符,我們稱之為二元運算子。 一元運算子的優先順序要高於而元運算子。 如果在一個表示式當中,既有一元運算子,又有二元運算子,我們首先計算一元運算子。
int number=10; int result=10 + ++number;
4、關係運算符 > < >= <= == != 關係運算符是用來描述兩個事物之間的關係 由關係運算符連線的表示式稱之為關係表示式。 5、bool型別 在c#中我們用bool型別來描述對或者錯。 bool型別的值只有兩個 一個true 一個false
6、邏輯運算子 && 邏輯與 ||邏輯或 !邏輯非 又邏輯運算子連線的表示式叫做邏輯表示式
邏輯運算子兩邊放的一般都是關係表示式或者bool型別的值。 5>3 &&true 3>5||false !表示式 邏輯表示式的結果同樣也是bool型別
7、複合賦值運算子 int number=10; += : number+=20; number=number+20; -= number-=5; number=number-5; *= number*=5; number=number*5; /= %=
中級程式設計師 --2年 ---高階程式設計師---->小組組長---> 專案經理 業務經理 產品經理 高階程式設計師 不明覺厲 軟體開發工程師
順序結構:程式從Main函式進入,從上到下一行一行的執行,不會落下任何一行。 分支結構:if if-else 選擇結構:if else-if switch-case 迴圈結構:while do-while for foreach
8、 if語句: 語法: if(判斷條件) { 要執行的程式碼; } 判斷條件:一般為關係表示式或者bool型別的值。 執行過程:程式執行到if處,首先判斷if所帶的小括號中的判斷條件, 如果條件成立,也就是返回true,則執行if所帶的大括號中的程式碼, 如果判斷條件不成立,也就是返回一個false。則跳過if結構,繼續向下執行。
if結構的特點:先判斷,再執行,有可能一行程式碼都不執行 用於一種情況的判斷。
9、if-else 語法: if(判斷條件) { 執行的程式碼; } else { 執行的程式碼 } 執行過程:程式執行到if處,首先判斷if所帶的小括號中的判斷條件是否成立, 如果成立,也就是返回一個true,則執行if所帶的大括號中的程式碼, 執行完成後,跳出if-else結構。 如果if所帶的小括號中的判斷條件不成立,也就是返回一個false, 則跳過if語句,執行else所帶的大括號中的語句,執行完成後,跳出if-else結構。
if-else特點:先判斷,再執行,最少都要執行一條程式碼。 用於兩種情況的判斷
注意:else永遠跟離它最近的那個if配對
10、if else-if 作用:用來處理多條件的區間性的判斷。 語法: if(判斷條件) { 要執行的程式碼; } else if(判斷條件) { 要執行的程式碼; } else if(判斷條件) { 要執行的程式碼; } else if(判斷條件) { 要執行的程式碼; } ........ else { 要執行的程式碼; } 執行過程;程式首先判斷第一個if所帶的小括號中的判斷條件,如果條件成立,也就是返回一個true, 則執行該if所帶的大括號中的程式碼,執行完成後,立即跳出if else-if結構。 如果第一個if所帶的判斷條件不成立,也就是返回一個false,則繼續向下進行判斷,依次的判斷每一個if所帶 的判斷條件,如果成立,就執行該if所帶的大括號中的程式碼,如果不成立,則繼續向下判斷, 如果每個if所帶的判斷條件都不成立,就看當前這個if else-if結構中是否存在else。 如果有else的話,則執行else中所帶的程式碼,如果沒有else,則整個 if-else if神馬都不做。 else可以省略。
型別轉換:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _03型別轉換 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //顯示型別轉換、自動型別轉換 14 //int--double double ----int 15 16 //string s = "123abc"; 17 ////將字串轉換成int或者double型別 18 //double d = Convert.ToDouble(s); 19 //int n = Convert.ToInt32(s); 20 //Console.WriteLine(n); 21 //Console.WriteLine(d); 22 //Console.ReadKey(); 23 24 25 //讓使用者輸入姓名 語文 數學 英語 三門課的成績, 26 //然後給使用者顯示:XX,你的總成績為XX分,平均成績為XX分。 27 Console.WriteLine("請輸入你的姓名"); 28 string name = Console.ReadLine(); 29 Console.WriteLine("請輸入你的語文成績"); 30 string strChinese = Console.ReadLine(); 31 Console.WriteLine("請輸入你的數學成績"); 32 string strMath = Console.ReadLine(); 33 Console.WriteLine("請輸入你的英語成績"); 34 string strEnglish = Console.ReadLine(); 35 36 37 double chinese = Convert.ToDouble(strChinese); 38 double math = Convert.ToDouble(strMath); 39 double english = Convert.ToDouble(strEnglish); 40 41 double sumScore = chinese + math + english; 42 double avg = (int)sumScore*1.0 / 3; 43 Console.WriteLine("{0}你的總成績是{1}平均成績是{2:0.00}", name, sumScore, avg); 44 Console.ReadKey(); 45 46 //55 77 88 557788 47 //由於字串去相加的話,最終會變成相連線,如果要拿字串型別的變數參與計算 48 //需要將字串轉換成int或者double型別 49 //int chinese = Convert.ToInt32(strChinese); 50 //int math = Convert.ToInt32(strMath); 51 //int english = Convert.ToInt32(strEnglish); 52 53 //Console.WriteLine("{0}你的總成績是{1},平均成績是{2}", name, chinese + math + english, (chinese + math + english) / 3); 54 //Console.ReadKey(); 55 56 } 57 } 58 }View Code
Convert型別轉換:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _04Convert型別轉換 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //提示使用者輸入一個數字 接收 並且向控制檯列印使用者輸入的這個數字的2倍 14 Console.WriteLine("請輸入一個數字"); 15 // string strNumber = Console.ReadLine(); 16 //將使用者輸入的字串轉換成int或者double型別 17 double number = Convert.ToDouble(Console.ReadLine()); 18 Console.WriteLine(number*2); 19 Console.ReadKey(); 20 21 } 22 } 23 }View Code
判斷閏年:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _08判斷閏年 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //Console.WriteLine("請輸入要判斷的年份"); 14 //int year = Convert.ToInt32(Console.ReadLine()); 15 ////年份能夠被400整除.(2000) 16 ////年份能夠被4整除但不能被100整除.(2008) 17 18 19 ////邏輯與的優先順序要高於邏輯或 20 //bool b = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0); 21 22 //Console.WriteLine(b); 23 //Console.ReadKey(); 24 25 26 27 // bool b = 5 < 3 && 5 > 3; 28 29 bool b = 5 > 3 || 4 < 3; 30 31 } 32 } 33 }View Code
if結構:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _10if結構 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //程式設計實現:如果跪鍵盤的時間大於60分鐘,那麼媳婦獎勵我晚飯不用做了 14 Console.WriteLine("請輸入你跪鍵盤的時間"); 15 int mins = Convert.ToInt32(Console.ReadLine()); 16 17 //如果跪鍵盤的時間>60分鐘 則不做晚飯 18 19 bool b = mins > 60; 20 //如果你想表示的含義是當b的值為true的時候去執行if中程式碼, 21 //那麼 語法上 ==true可以省略 22 //但是,如果你想表示的是當b==false的時候去執行if中程式碼, 23 //語法上 ==false不能省略 24 if (mins>60) 25 { 26 Console.WriteLine("好老公,不用跪鍵盤了,去吃屎吧"); 27 } 28 Console.ReadKey(); 29 30 31 } 32 } 33 }View Code
if結構練習:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _11if結構的3個練習 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //讓使用者輸入年齡,如果輸入的年齡大於23(含)歲,則給使用者顯示你到了結婚的年齡了. 14 15 //Console.WriteLine("請輸入你的年齡"); 16 //int age = Convert.ToInt32(Console.ReadLine()); 17 //bool b = age >= 23; 18 //if (b) 19 //{ 20 // Console.WriteLine("你可以結婚啦"); 21 //} 22 //Console.ReadKey(); 23 24 //如果老蘇的(chinese music) 25 //語文成績大於90並且音樂成績大於80 26 //語文成績等於100並且音樂成績大於70,則獎勵100元. 27 //Console.WriteLine("請輸入老蘇的語文成績"); 28 //int chinese = Convert.ToInt32(Console.ReadLine()); 29 //Console.WriteLine("請輸入老蘇的音樂成績"); 30 //int music = Convert.ToInt32(Console.ReadLine()); 31 32 //bool b = (chinese > 90 && music > 80) || (chinese == 100 && music > 70); 33 34 //if (b) 35 //{ 36 // Console.WriteLine("獎勵100元"); 37 //} 38 //Console.ReadKey(); 39 40 //讓使用者輸入使用者名稱和密碼,如果使用者名稱為admin,密碼為888888,則提示登入成功. 41 Console.WriteLine("請輸入使用者名稱"); 42 string name = Console.ReadLine(); 43 Console.WriteLine("請輸入密碼"); 44 string pwd = Console.ReadLine(); 45 46 if (name == "admin" && pwd == "mypass") 47 { 48 Console.WriteLine("登陸成功"); 49 } 50 Console.ReadKey(); 51 52 53 } 54 } 55 }View Code
if-else練習:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _12if_else練習 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //如果小趙的考試成績大於90(含)分,那麼爸爸獎勵他100元錢, 14 //否則的話,爸爸就讓小趙跪方便麵. 15 //Console.WriteLine("請輸入小趙的考試成績"); 16 //int score = Convert.ToInt32(Console.ReadLine()); 17 //if (score >= 90) 18 //{ 19 // Console.WriteLine("獎勵你一百塊"); 20 //} 21 //else 22 //{ 23 // Console.WriteLine("去跪方便麵"); 24 //} 25 //Console.ReadKey(); 26 27 //對學員的結業考試成績評測 28 // 成績>=90 :A 29 //90>成績>=80 :B 30 //80>成績>=70 :C 31 //70>成績>=60 :D 32 // 成績<60 :E 33 34 35 Console.WriteLine("請輸入學員的考試成績"); 36 int score = Convert.ToInt32(Console.ReadLine()); 37 //最正確的做法 38 39 if (score >= 90) 40 { 41 Console.WriteLine("A"); 42 } 43 else if (score >= 80) 44 { 45 Console.WriteLine("B"); 46 } 47 else if (score >= 70) 48 { 49 Console.WriteLine("C"); 50 } 51 else if (score >= 60) 52 { 53 Console.WriteLine("D"); 54 } 55 //else if (score < 60) 56 //{ 57 // Console.WriteLine("E"); 58 //} 59 else 60 { 61 Console.WriteLine("E"); 62 } 63 64 Console.ReadKey(); 65 66 67 68 69 #region if的做法 70 //if (score >= 90 && score < 100) 71 //{ 72 // Console.WriteLine("A"); 73 //} 74 //if (score >= 80 && score < 90)//ctrl+k+d 75 //{ 76 // Console.WriteLine("B"); 77 //} 78 //if (score >= 70 && score < 80) 79 //{ 80 // Console.WriteLine("C"); 81 //} 82 //if (score >= 60 && score < 70)//98 88 83 //{ 84 // Console.WriteLine("D"); 85 //} 86 ////else 87 ////{ 88 //// Console.WriteLine("E"); 89 ////} 90 //if (score < 60) 91 //{ 92 // Console.WriteLine("E"); 93 //} 94 #endregion 95 #region if else-if 96 //if (score >= 90) 97 //{ 98 // Console.WriteLine("A"); 99 //} 100 //else//<90 101 //{ 102 // if (score >= 80) 103 // { 104 // Console.WriteLine("B"); 105 // } 106 // else//<80 107 // { 108 // if (score >= 70) 109 // { 110 // Console.WriteLine("C"); 111 // } 112 // else//<70 113 // { 114 // if (score >= 60) 115 // { 116 // Console.WriteLine("D"); 117 // } 118 // else//<60 119 // { 120 // Console.WriteLine("E"); 121 // } 122 // } 123 // } 124 //} 125 #endregion 126 Console.ReadKey(); 127 128 } 129 } 130 }View Code
練習:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _13_練習 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //比較3個數字的大小 不考慮相等 14 15 //分別的提示使用者輸入三個數字 我們接受並且轉換成int型別 16 //Console.WriteLine("請輸入第一個數字"); 17 //int numberOne = Convert.ToInt32(Console.ReadLine()); 18 //Console.WriteLine("請輸入第二個數字"); 19 //int numberTwo = Convert.ToInt32(Console.ReadLine()); 20 //Console.WriteLine("請輸入第三個數字"); 21 //int numberThree = Convert.ToInt32(Console.ReadLine()); 22 23 24 //三種情況 應該使用 if else-if來做 25 //如果第一個數字大於第二個數字 並且第一個數字還大於第三個數字 26 //if (numberOne > numberTwo && numberOne > numberThree) 27 //{ 28 // Console.WriteLine(numberOne); 29 //} 30 ////如果第二個數字大於第一個數字並且第二個數字大於第三個數字 31 //else if (numberTwo > numberOne && numberTwo > numberThree) 32 //{ 33 // Console.WriteLine(numberTwo); 34 //} 35 ////如果第三個數字大於第一個數字並且第三個數字大於第二個數字 36 //else 37 //{ 38 // Console.WriteLine(numberThree); 39 //} 40 41 42 //我先讓第一個數字跟第二個數字比較 如果大於第二個數字 再讓第一個數字跟第三個數字比較 43 //if (numberOne > numberTwo) 44 //{ 45 // //如果第一個數字大於了第二個數字 再讓第一個數字跟第三個數字比較 46 // if (numberOne > numberThree) 47 // { 48 // Console.WriteLine(numberOne); 49 // } 50 // else//第三個數字要大於第一個數字 51 // { 52 // Console.WriteLine(numberThree); 53 // } 54 //} 55 //else//第二個數字大於了第一個數字 56 //{ 57 // //讓第二個數字跟第三個數字進行比較 如果第二個數字大於第三個數字 第二個數字最大 否則第三個數字最大 58 // if (numberTwo > numberThree) 59 // { 60 // Console.WriteLine(numberTwo); 61 // } 62 // else//第三個數字最大 63 // { 64 // Console.WriteLine(numberThree); 65 // } 66 //} 67 68 69 70 //練習1:提示使用者輸入密碼,如果密碼是“88888”則提示正確,否則要求再輸入一次, 71 //如果密碼是“88888”則提示正確,否則提示錯誤,程式結束。 72 //(如果我的密碼裡有英文還要轉換嗎,密碼:abc1) 73 74 //Console.WriteLine("請輸入密碼"); 75 //string pwd = Console.ReadLine(); 76 //if (pwd == "888888") 77 //{ 78 // Console.WriteLine("登陸成功"); 79 //} 80 //else//要求使用者再輸入一次 81 //{ 82 // Console.WriteLine("密碼錯誤,請重新輸入"); 83 // pwd = Console.ReadLine(); 84 // if (pwd == "888888") 85 // { 86 // Console.WriteLine("輸了兩遍,終於正確了"); 87 // } 88 // else//輸入第二次錯誤 89 // { 90 // Console.WriteLine("兩邊都不對,程式結束"); 91 // } 92 //} 93 94 //Console.ReadKey(); 95 96 97 98 99 //練習2:提示使用者輸入使用者名稱,然後再提示輸入密碼,如果使用者名稱是“admin”並且密碼是“88888”, 100 //則提示正確,否則,如果使用者名稱不是admin還提示使用者使用者名稱不存在, 101 //如果使用者名稱是admin則提示密碼錯誤. 102 //Console.WriteLine("請輸入使用者名稱"); 103 //string name = Console.ReadLine(); 104 //Console.WriteLine("請輸入密碼"); 105 //string pwd = Console.ReadLine(); 106 107 108 ////第一種情況:使用者名稱和密碼全部輸入正確 109 //if (name == "admin" && pwd == "888888") 110 //{ 111 // Console.WriteLine("登陸成功"); 112 //} 113 ////第二種情況:密碼錯誤 114 //else if (name == "admin") 115 //{ 116 // Console.WriteLine("密碼輸入錯誤,程式退出"); 117 //} 118 ////第三種情況:使用者名稱錯誤 119 //else if (pwd == "888888") 120 //{ 121 // Console.WriteLine("使用者名稱錯誤,程式退出"); 122 //} 123 ////第四種情況:使用者名稱和密碼全部錯誤 124 //else 125 //{ 126 // Console.WriteLine("使用者名稱和密碼全部錯誤,程式退出"); 127 //} 128 129 130 131 //練習3:提示使用者輸入年齡,如果大於等於18,則告知使用者可以檢視,如果小於10歲, 132 //則告知不允許檢視,如果大於等於10歲並且小於18, 133 //則提示使用者是否繼續檢視(yes、no),如果輸入的是yes則提示使用者請檢視, 134 //否則提示"退出,你放棄檢視"。 135 136 //第一種情況 >=18 137 //第二種情況 <10 138 //第三種情況 >=10 && <18 139 140 Console.WriteLine("請輸入你的年齡"); 141 int age = Convert.ToInt32(Console.ReadLine()); 142 143 if (age >= 18) 144 { 145 Console.WriteLine("看吧,早晚你都要知道的"); 146 } 147 else if (age < 10) 148 { 149 Console.WriteLine("滾蛋,回家吃奶去"); 150 } 151 else 152 { 153 Console.WriteLine("確定要看麼?yes/no"); 154 //input 要麼是yes要麼是no 155 string input = Console.ReadLine(); 156 if (input == "yes") 157 { 158 Console.WriteLine("看吧,早熟的孩子,後果自負喲"); 159 } 160 else//no 161 { 162 Console.WriteLine("乖孩子,回家吃奶去吧"); 163 } 164 } 165 166 Console.ReadKey(); 167 168 } 169 } 170 }View Code