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

一、字面量:

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

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

字面量可以分为:

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

² 实数字面量;1.9(double类型); 0.3F(float类型);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语句下面的每一个分支都需要有跳转语句跳出来:如break,return,throw之类的。

C#_02.16_基础七_.NET表达式&运算符的更多相关文章

  1. C#_02.15_基础六_.NET类

    C#_02.15_基础六_.NET类 一.类继承是一个类在另一个类的基础上进行的扩展. 继承的子类拥有父类的全部成员.索引子类拥有本身的全部成员以及父类的全部成员. 可以对基类成员进行隐藏,如果必须的 ...

  2. C#_02.13_基础四_.NET方法

    C#_02.13_基础四_.NET方法 一.方法概述: 方法是一块具有名称的代码.可以通过方法进行调用而在别的地方执行,也可以把数据传入方法并接受数据输出. 二.方法的结构: 方法头  AND  方法 ...

  3. C#_02.14_基础五_.NET类

    C#_02.14_基础五_.NET类 一.类实例: 我们前面说过类是一个模板,我们通过类创建一个又一个的实例,通常情况下类当中的变量是每一个实例都各有一份的,互相不影响,而静态字段是除外的,静态字段是 ...

  4. C#_02.13_基础三_.NET类基础

    C#_02.13_基础三_.NET类基础 一.类概述: 类是一个能存储数据和功能并执行代码的数据结构,包含数据成员和函数成员.(有什么和能够干什么) 运行中的程序是一组相互作用的对象的集合. 二.为类 ...

  5. C#_02.12_基础二_.NET类型存储和变量

    C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...

  6. C#_02.10_基础一_.NET框架

    C#_02.10_基础一_.NET框架 一.概念: .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境. 解读: 1..net框架是一个编程环境, 2.可以进行多语言的开发和 ...

  7. Web基础了解版07-EL表达式-运算符-11个隐式对象

    EL EL(Expression Language)是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作.EL在得到某个数据时,会自动进 ...

  8. C语言- 基础数据结构和算法 - 09 栈的应用_中缀表达式转后缀表达式20220611

    09 栈的应用_中缀表达式转后缀表达式20220611 听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/ ...

  9. day 72 Django基础七之Ajax

    Django基础七之Ajax   本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 六 同源策略与 ...

随机推荐

  1. Python_collections_Counter计数器部分功能介绍

    counter():是对字典的补充,用来方便的计数,继承了字典 import collections obj = collections.Counter('yigbavfsdcfdsfdsd') pr ...

  2. net core体系-web应用程序-4net core2.0大白话带你入门-2asp.net core新建项目

    新建asp.net core项目   开发环境:Windows Server R2 2008 开发工具:Microsoft Visual Studio 2017 新建asp.net core项目 创建 ...

  3. Codeforces 781D Axel and Marston in Bitland 矩阵 bitset

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF781D.html 题目传送门 - CF781D 题意 有一个 n 个点的图,有 m 条有向边,边有两种类型: ...

  4. BZOJ4409 [Usaco2016 Feb]Circular barn 动态规划 斜率优化

    原文链接http://www.cnblogs.com/zhouzhendong/p/8724739.html 题目传送门 - BZOJ4409 题意 有一个N个点的环,相邻两个点距离是1.点顺时针标号 ...

  5. Balanced Number 数位dp

    题意: 给出求ab之间有多少个平衡数   4139为平衡数   以3为轴   1*1+4*2==9*1 思路很好想但是一直wa  : 注意要减去前导零的情况 0 00 000 0000   不能反复计 ...

  6. git checkout 撤销多个文件,撤销整个文件夹

    git checkout 撤销多个文件,撤销整个文件夹 git checkout <folder-name>/ git checkout -- <folder-name> 这样 ...

  7. 队列queue实现线程的消费者和生产者

    import threading import queue import random import time qq = queue.Queue(4) #实例化一个队列,因为是一个进程的线程,所以共资 ...

  8. Sunscreen POJ - 3614(贪心)

    To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with s ...

  9. 6486: An Ordinary Game(规律)

    题目描述 There is a string s of length 3 or greater. No two neighboring characters in s are equal.Takaha ...

  10. HDU 5178 pairs【二分】||【尺取】

    <题目链接> 题目大意: 给定一个整数序列,求出绝对值小于等于k的有序对个数. 解题分析: $O(nlong(n))$的二分很好写,这里就不解释了.本题尺取$O(n)$也能做,并且效率很不 ...