part01.01 C#基础语法与逻辑控制(二)(3. C# 运算符和控制流)

 C# 运算符和控制流

运算符

 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             // 算术二元运算符
 6             int arithmeticBinaryOperatorResult = 4 - 2;  // +,-,*,/,%
 7 
 8             // 赋值运算符
 9             int x = 123;
10             x = x + 2;
11             x += 2;
12             x -= 2;
13             x /= 2;
14             x *= 2;
15             x %= 2;
16 
17             // 自增/减运算符
18             x = x + 1;
19             x++;
20             x--;
21             x = 123;
22             System.Console.WriteLine($"{x++}, {x++}, {x}");  // 123, 124, 125
23             System.Console.WriteLine($"{++x}, {++x}, {x}");  // 126, 127, 127
24             Console.ReadKey();
25 
26             // 常量表达式
27             const int secondsPerDay = 60 * 60 * 24;
28             const int secondsPerWeek = secondsPerDay * 7;
29         }
30     }
Operators

控制流转简介

A. if 条件控制

B. while 和 do 条件控制

C. for 和 foreach 条件控制

D. switch 条件控制

if 条件控制的简单的例子

 1 public class TicTacToe
 2     {
 3         public static void Begin()
 4         {
 5             string input;
 6 
 7             System.Console.Write(
 8                 "1:与计算机玩;\n" +
 9                 "2:与其他人玩。\n" +
10                 "选择:"
11             );
12             input = System.Console.ReadLine();
13 
14             if (input == "1")
15                 System.Console.WriteLine("你选择了与计算机玩。");
16             else
17                 System.Console.WriteLine("你选择了与其他人玩。");
18 
19         }
20     }
if 条件控制的简单例子

嵌套 if 条件控制的简单例子 

 1 public class TicTacToeTrivia
 2     {
 3         public static void Begin()
 4         {
 5             int input;
 6 
 7             System.Console.Write("井字棋最多可以走几步(0 退出):");
 8             input = int.Parse(System.Console.ReadLine());
 9 
10             if (input <= 0)
11                 System.Console.WriteLine("退出...");
12             else
13                 if (input < 9)
14                 System.Console.WriteLine($"井字棋可以走的步数应大于: {input}");
15             else if (input > 9)
16                 System.Console.WriteLine($"井字棋可以走的步数应小于 {input}");
17             else
18                 System.Console.WriteLine("正确。");
19         }
20     }
嵌套 if 条件控制的简单例子

C# 代码块的概念

布尔表达式

 A. 关系或者相等性运算符,通过比较运算符两端的值获取 true 、false 结果。(bool result = input != 9 ;)

B. 逻辑运算符,通过比较逻辑运算符两端的值获取 true 、false 结果

 

while 循环

 1 namespace WhileLoop
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             decimal current;
 8             decimal previous;
 9             decimal temp;
10             decimal input;
11 
12             System.Console.Write("请输入一个正整数:");
13             input = decimal.Parse(System.Console.ReadLine());
14             current = previous = 1;
15             while (current <= input)
16             {
17                 temp = current;
18                 current = previous + current;
19                 previous = temp;
20             }
21             System.Console.WriteLine($"跟随这个数的后一个Fibonacci数是 { current }");
22             Console.ReadKey();
23         }
24     }
25 }
26 /*
27  * 斐波那契数列(Fibonacci sequence),又称黄金分割数列、
28  * 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci  )以
29  * 兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个
30  * 数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐
31  * 波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,
32  * F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
33  */
WhileLoop

do/while 循环

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             bool valid;
 6             do
 7             {
 8                 valid = false;
 9 
10                 // 当前选手输入
11                 System.Console.Write($"\n 选手 {currentPlayer}: 输入:");
12                 string input = System.Console.ReadLine();
13 
14                 // 检查当前选手的输入
15                 // ...
16                 if (input == "1")
17                     valid = true;
18 
19             } while (!valid);
20         }
21 
22         public static object[] currentPlayer { get; set; }
23 
24     }
DoWhileLoop

for 循环

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             int[] intergers = new int[] { 9, 5, 6, 1, 2, 3, 8, 7 };
 6 
 7             for (int i = 0; i < intergers.Length - 1; i++)
 8             {
 9                 for (int j = 0; j < intergers.Length - i - 1; j++)
10                 {
11                     if (intergers[j] < intergers[j + 1])
12                     {
13                         int temp = intergers[j];
14                         intergers[j] = intergers[j + 1];
15                         intergers[j + 1] = temp;
16                     }
17                 }
18             }
19         }
20     }
ForLoop

foreach 循环

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             var languages = new string[] { "C#", "COBOL", "Java", "C++", "Visual Basic", "Pascal", "Fortran", "Lisp", "J#" };
 6 
 7             foreach (var item in languages)
 8             {
 9                 if (item.ToLower() == "java")
10                     Console.Write(item);
11 
12                 // 不能在循环中改变循环体的对象,但对象的属性是可以改变的
13                 // item = "Command";
14             }
15 
16             Console.ReadKey();
17         }
ForeachLoop

switch 选择跳转

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Console.Write(SelectedMemo("C#"));
 6             Console.ReadKey();
 7         }
 8 
 9         public static string SelectedMemo(string word)
10         {
11             var memo = "";
12             switch (word)
13             {
14                 case "C#":
15                     memo = "Micorsoft : 流行的编程语言。";
16                     break;
17 
18                 case "Java":
19                     memo = "Sun : 流行的编程语言。";
20                     break;
21                 default:
22                     break;
23             }
24 
25             return memo;
26         }
27     }
SwitchStatement

 

posted @ 2017-08-03 11:14  能哔哔就别唧唧  阅读(350)  评论(0编辑  收藏  举报