zoukankan      html  css  js  c++  java
  • 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:与计算机玩;
    " +
     9                 "2:与其他人玩。
    " +
    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($"
     选手 {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
  • 相关阅读:
    mysql新建用户的方法
    工具网站
    如何做好站内锚文本?
    js 创建对象与继承
    js tips
    js作用域链 js没有块级作用域
    css
    instanceof
    问题
    传递,引用副本传递
  • 原文地址:https://www.cnblogs.com/huangzewei/p/7274107.html
Copyright © 2011-2022 走看看