3.2.4 运算操作

  在看了各种类型的变量以后我们来学习如何对各种类型进行运算。运算分数学运算和逻辑运算。通常都会使用各种运算符号(比如+、-、*、/)来进行运算。运算符分为下面几种。

  • 一元运算符。处理一个操作数,比如相反数的操作
    int a = 10;
    int b = -a;

    还有递增和递减的操作。
    int a = 10;
    Console.WriteLine(a
    ++);     //运算结束后 a=11
    Console.WriteLine(++a);     //运算结束后 a=12
    Console.WriteLine(a--);     //运算结束后 a=11
    Console.WriteLine(--a);     //运算结束后 a=10

    “++”操作为操作数+1,“--”操作为操作数-1。操作符放在运算符之前(比如++a)会先进行操作后计算表达式,而操作符放在运算符之后(比如a++)会先计算表达式再进行操作。上面这段代码运算结果是:10,12,12,10。

    第三种一元运算符就是布尔取反,使用!对布尔型变量取反。
    bool bTrue = true;
    bool bFalse = !bTrue;

  • 二元运算符。处理两个操作数,最常见的二元操作符就是+、-、*、/和%。
    double i = 5;
    double j = 3;
    Console.WriteLine(i 
    + j);
    Console.WriteLine(i 
    - j);
    Console.WriteLine(i 
    * j);
    Console.WriteLine(i 
    / j);
    Console.WriteLine(i 
    % j);

    有的时候我们会在运算的同时为变量赋值,比如下面这段代码交换了两个数字的值。
    int i = 5;
    int j = 6;
    = i + j;
    = i - j;
    = i - j;
    Console.WriteLine(
    "i="+i+",j="+j);      //结果为 i=6,j=5

    上术代码还等价于下面代码。
    int i = 5;
    int j = 6;
    += j;     //等价于 i=i+j
    = i - j;
    -= j;     //等价于 i=i- j
    Console.WriteLine("i={0},j={1}",i,j);      //结果为 i=6,j=5

    除了+=、-=、*=、/=、%=以及对应的+、-、*、/、%等数学运算符外还有一些常用的逻辑运算符号。
    int i = 3;
    int j = 4;
    Console.WriteLine(i 
    == j);    //False
    Console.WriteLine(i != j);    //True
    Console.WriteLine(i > j);    //False
    Console.WriteLine(i < j);    //True
    Console.WriteLine(i >= j);    //False
    Console.WriteLine(i <= j);    //True

    “==”判断是否相等,相等返回true,否则返回false;“!=”判断是否不相等,不相等返回true,否则返回false。其他操作符也是这样。

    还有一种逻辑运算是“逻辑与”和“逻辑或”操作
    对于“逻辑与”操作,只有当两个操作数都为true的时候返回结果才是true。
    true    true    true             false    true    false
    true    false    false             false    false   false

    对于“逻辑或”操作,两个操作数有任意一个为true就返回true。
    true    true    true                 false    true    true
    true    false   true                 false    false    false


    C#中使用“&&”和“||”来进行逻辑与和逻辑或操作
    int i = 3;
    int j = 4;
    Console.WriteLine(i 
    >= 3 && j <= 3);    //false
    Console.WriteLine(i != 3 || j == 4);    //true

  • 三元运算符。处理三个操作数。
    C#中只有一个三元运算就是条件运算。比如有以下逻辑:
    bool bGender = true;
    string sGender = bGender ? "" : "";
    Console.WriteLine(sGender);

    条件运算符号A?B:C表示,如果A的逻辑是true的话则返回B否则返回C。对于上述代码就是,如果bGender是true的话返回“男”,否则返回“女”。我们再来看下面这段代码。
    int iNum1 = int.Parse(Console.ReadLine());
    int iNum2 = int.Parse(Console.ReadLine());
    int iResult = int.Parse(Console.ReadLine());
    Console.WriteLine(iNum1 
    + iNum2 == iResult ? "正确" : "错误");

    注:Console.ReadLine()表示从控制台读取一行字符。
    我们让用户连续输入三个数字,如果第三个数字为前两个数字的和,则返回“正确”,否则返回“错误”
posted @ 2008-07-20 13:48  Jack.Net  阅读(187)  评论(0编辑  收藏  举报