1. 程式人生 > 其它 >運算子與if結構

運算子與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