美文网首页
15.C#运算符的优先级

15.C#运算符的优先级

作者: 技术老小子 | 来源:发表于2024-02-24 07:14 被阅读0次

    摘要


    C#中常用的运算符可以分为7个等级,分别是单元运算符和括号、常规算术运算符、位移运算符、比较运算符、逻辑运算符、各种赋值运算符以及右位(后缀)单元运算符。这些运算符的优先级不同,因此在编写程序时需要注意它们的使用方法和顺序。

    1. 单元运算符和括号:在C#中,单元运算符和括号是用于改变表达式的结构和语法的关键符号。它们的优先级比较低,因此在表达式中出现的位置通常是最后的。例如,括号用于分组,使表达式更容易理解和维护。
    2. 常规算术运算符:常规算术运算符包括加、减、乘、除、取余和自增/自减运算符。它们的优先级较高,通常在表达式中排在单元运算符和括号之后。例如,两个数相加或相减时,先执行算术运算符,然后再执行其他运算符。
    3. 位移运算符:位移运算符包括左移和右移运算符,它们的优先级比较高。在进行位移运算时,需要注意二进制表示法和左移右移运算符的顺序。
    4. 比较运算符:比较运算符用于比较两个值的大小或关系。它们的优先级较高,通常在常规算术运算符和位移运算符之后。例如,等于运算符、大于运算符、小于运算符和不等于运算符等。
    5. 逻辑运算符:逻辑运算符用于组合多个布尔表达式。它们的优先级较高,通常在比较运算符之后。例如,与运算符、或运算符和非运算符等。
    6. 各种赋值运算符:赋值运算符用于给变量或常量赋值。它们的优先级较低,通常在常规算术运算符和位移运算符之后。例如,等于运算符、+=、-=、*=和/=等。
    7. 右位(后缀)单元运算符:右位(后缀)单元运算符用于将数值存储

    正文


    第1级:++、--(做为前缀)、()、+、-(做为单元运算符时)、!、~。

    第2级:*、/、%、+、-。

    第3级:<<、>>。

    第4级:<、>、<=、>=、==、!=。

    第5级:&、^、|、&&、||。

    第6级:=、*=、/=、%=、+=、-=、<<=、>>=、&=、^=、|=。

    第7级:++、--(做为后缀)。

    int a = 20;
    int b = 10;
    int c = 15;
    int d = 5;
    int e;
    e = (a + b) * c / d;
    Console.WriteLine("(a + b) * c / d 的值是 {0}", e);
    
    e = ((a + b) * c) / d;
    Console.WriteLine("((a + b) * c) / d 的值是 {0}", e);
    
    e = (a + b) * (c / d);
    Console.WriteLine("(a + b) * (c / d) 的值是 {0}", e);
    
    e = a + (b * c) / d;
    Console.WriteLine("a + (b * c) / d 的值是 {0}", e);
    Console.ReadLine();
    
    
    image.png
    int i = 10;
    int j = 11;
    /*i++
    i>j?i:j
    i+=
    */
    int result = i += i++ > j ? i : j;
    Console.WriteLine(result);
    
    
    image.png
    int i = 10;
    int j = 11;
    /*i++
    i+=
    i>j?i:j
    */
    int result = (i += i++) > j ? i : j;
    Console.WriteLine(result);
    
    
    image.png
    int x, y, z;
    x = y = z = 5;
    //x=(y=(z=5))
    Console.WriteLine(x);
    Console.WriteLine(y);
    Console.WriteLine(z);
    
    
    int x = 10;
    //(x++)+a
    int y=x+++x;
    Console.WriteLine(y);
    
    

    相关文章

      网友评论

          本文标题:15.C#运算符的优先级

          本文链接:https://www.haomeiwen.com/subject/uzngadtx.html