zoukankan      html  css  js  c++  java
  • C#_02.16_基础七_.NET表达式&运算符

    C#_02.16_基础七_.NET表达式&运算符

    一、字面量:

    字面量和变量的关系来理解字面量会比较简单:

     

    因此字面量是源代码中键入已知的(我们知道它是多少的)值。也可以理解是等号右边的非创建实例的值。可以是布尔、字符、null等。

    字面量可以分为:

    ² 数字字面量;1,2,3-1-2-3

    ² 实数字面量;1.9double类型); 0.3Ffloat类型);0.3e-19

    ² 字符字面量;a

    ² 字符串字面量;a

    ² 布尔字面量;true / false

     

    其中字符字面量会有一堆的转义字符:

     

                            (图片引自C#图解)

     

    二、运算符的优先级:

     

                                      (图片引自C#图解)

     

    三、运算符:

    在这个当中需要注意的是:

    1

    逻辑运算符:

     

    2、位移运算符:

    位移运算符意思是堆与一个数值的二进制进行左移或者右移,左移时右边用0补足,右移时益处的部分不管他:

     

     

    3、条件运算符:

     条件运算符是三元运算符,其实使用if else是完全可以实现和三元运算符同样功能的,但是我们为什么要这样子做呢?因为if else是控制流语句,返回的应该是两种行为中的一个,而三元运算符是运算符,返回的应该是值。

    4、typeof大法:

    Typeof运算符作用是获取指定类的信息:

    类如下:

     

    结果如下:

     

    另外还有一个方法GetType();这个方法对每一个类型的实例都有效,可以获得对应实例的类型名。Eg

     

    四、关于语句的一点点思考:

     在说关于运算符的时候书本上面提到了一点是:运算符完成操作可能产生副作用,但是我并不明白副作用是什么意思,现在明白了:

     运算符进行操作就会产生一个返回值,如1+2,这个运算符进行操作就会产生返回值3.这个是我们都知道的,但是其他的一些运算符比如“=”,这个运算符也会产生返回值。举栗子:

    X=10

    以上表达式使用了赋值运算符,我们都知道把X的值赋值为10,但是事实上这个我们想要的效果是一个副作用。怎么说呢?运算符进行操作会产生返回值,X=10是赋值操作也是会产生返回值,返回值是X的新值,也就是说X=10这个操作返回了一个值“10”,这个才是这个运算符的正规的效果,而使x的值变成了10是一个副作用,因为原本运算符的操作就是为了返回值,让x=10只是这一个操作的一个副作用,在内存中存储了x的值,分配了内存空间,这个是副作用,而我们却没有用变量接收这个赋值操作的返回值。所以有一些运算符副作用才是我们想要的。我们可以进行测试:

     

     

    以上测试我们发现:赋值运算是返回了a的新值。

    Switch语句下面的每一个分支都需要有跳转语句跳出来:如breakreturnthrow之类的。

     

     

  • 相关阅读:
    刘志博 作业 2.15
    刘志博 作业2.6
    作业一
    2.6
    张靖悦
    java 2.15
    java 2.6
    java 1.12
    java 1.8
    java 1.3
  • 原文地址:https://www.cnblogs.com/heisehenbai/p/6848898.html
Copyright © 2011-2022 走看看