C#表达式

表达式,把变量、字面值与运算符组合起来,就创建表达式,是计算的基本构件。
字面值:是源代码中键入的数字、字符串,表示指定类型的值。常用有几种:整数、实数、字符、字符串

整数字面量【也能使用十六进制表式】:

    • 123   //整形
    • 123L   //长整形
    • 123U   //无符号整形
    • 123UL   //无符号长整形

实数字面量:

    • 1.5F   //float类型
    • 1.5   //double类型
    • 1.5M   //decimal类型

字符字面量:

    • 'a'   //char类型
    • '\n'   //简单转义序列:反斜杠+单个字符
    • '\x0061'  //十六进制转义序列
    • '\u005a'  //Unicode转义序列

字符串字面量:

  • "Hi There";
  • "Val\t5,val\t10";
  • @"C:\Program Files\Microsoft";

注:字符串以@为前缀,在双引号中的所有内容,包括通常被认为是转义序列的内容,被严格按字符串中列出的打印。

运算符,大致分为3类。

  • 一元运算符,处理一个操作数
  • 二元运算符,处理两个操作数【大部分】
  • 三元运算符,处理三个操作数

数字运算符

运算符  类别 示例表达式 结果
+ 二元 var1=var2+var3 var1的值是var2与var3之和
- 二元 var1=var2-var3 var1的值是var2与var3之差
* 二元 var1=var2*var3 var1的值是var2与var3之积
/ 二元 var1=var2/var3 var1的值是var2除以var3所得值
% 二元 var1=var2%var3 var1的值是var2除以var3所得余数
+ 一元   var1=+var2 var1的值等于var2的值
- 一元 var1=-var2 var1的值等于var2的值乘以-1

字符串运算符

运算符 类型 示例表达式 结果
+ 二元   var1=var2+var3 var1的值是存储在var2和var3中的两个字符串连接值

递增和递减运算符

  • ++总是使用操作数加1
  • --总是使用操作数减1
运算符 类型 示例表达式 结果
++ 一元   var1=++var2; var1的值是var2+1,var2递增1
-- 一元 var1=--var2; var1的值是var2-1,var2递减1
++   一元 var1=var2++;   var1的值是var2,var2递增1
-- 一元 var1=var2--; var1的值是var2,var2递减1

赋值运算符

运算符 类型 示例表达式 结果
= 二元 var1=var2;   var1被赋予var2的值
+= 二元 var1+=var2;   var1被赋予var1与var2的和
-= 二元   var1-=var2; var1被赋予var1与var2之差
*=   二元 var1*=var2; var1被赋予var1与var2乘积
/= 二元 var1/=var2; var1被赋予var1与var2相除所得的结果
%= 二元 var1%=var2; var1被赋予var1与var2相除所得的余数

运算符优先级

优先级 运算符

++,--(用作前缀);+,-(一元)
*,/,%
+,-
=,*=,/=,%=,+=,-=
++,--(用作后缀)

注:用括号可用于重写优先级顺序。

C#入门笔记3 表达式及运算符的更多相关文章

  1. C#入门笔记3 表达式及运算符2

    关系运算符,也称布尔比较运算符 注:var1为bool类型,var2与var3可以是其它类型.[数据类型看下一节] 运算符 类别 示例表达式 结果说明 == 二元 var1=var2==var3 如果 ...

  2. Python入门笔记(12):表达式和语句

    一.Python语句 if语句.else语句.elif语句.条件表达式.while语句.for语句.break语句.continue语句.pass语句.Iterators(迭代器).列表解析 二.常用 ...

  3. C Primer Plus学习笔记(四)- 运算符、表达式和语句

    基本运算符 赋值运算符:= 在C语言中,=不是“相等”,而是赋值运算符,把左边的值赋给右边的变量 a = 2018; //把值2018赋给变量a 赋值表达式语句的目的是把值储存到内存位置上,用于储存值 ...

  4. Ruby入门笔记

    Ruby入门笔记 一切皆为对象 “Hello”.length 方法 定义:def开头 end结尾 命名一般采用下划线分隔单词

  5. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  6. MySQL入门笔记(一)

    一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...

  7. MySQL入门笔记(二)

    MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询   子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...

  8. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

  9. awk 新手入门笔记

    转自:http://www.habadog.com/2011/05/22/awk-freshman-handbook/ awk新手入门笔记 @作者 : habadog@邮箱 : habadog1203 ...

随机推荐

  1. nyoj 269 VF

    VF 时间限制:1000 ms  |  内存限制:65535 KB 链接:NYOJ269 原创在:点击打开链接 题意:1-1000000000之间,各位数字之和等于给定s的数的个数. 每行给出一个数s ...

  2. hadoop源码剖析--RawLocalFileSystem

    RawLocalFileSystem是hadoop中实现的本地文件系统,在该类中与文件元数据和目录相关的操作,都是通过适配方式适配到java.io.File的对应API来完成的,适配过程简单,代码清晰 ...

  3. bzoj 2006 [NOI2010]超级钢琴——ST表+堆

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2006 每个右端点的左端点在一个区间内:用堆记录端点位置.可选区间,按价值排序:拿出一个后也许 ...

  4. centos7使用ceph-deploy部署ceph

    准备阶段 准备yum源 删除默认的源,国外的比较慢 yum clean all rm -rf /etc/yum.repos.d/*.repo 下载阿里云的base源 wget -O /etc/yum. ...

  5. vscode实现列编辑

    ctrl + shift + 左键选择要编辑的列 好用,再也不用使用\n替换了

  6. (转)data Table的用法大全

    jqyery dataTable 基本用法 一:官方网站:[http://www.datatables.net/] 二:基本使用:[http://www.guoxk.com/node/jquery-d ...

  7. linux之打包压缩命令

    tar:主选项:[一条命令以下5个参数只能有一个]-c: --create 新建一个压缩文档,即打包-x: --extract,--get解压文件-t: --list,查看压缩文档里的文件目录-r:- ...

  8. 5 pyspark学习---Broadcast&Accumulator&sparkConf

    1 对于并行处理,Apache Spark使用共享变量.当驱动程序将任务发送给集群上的执行者时,集群中的每个节点上都有一个共享变量的副本,这样就可以用于执行任务了. 2 两种支持得类型 (1)Broa ...

  9. 【网络爬虫】【python】网络爬虫(二):网易微博爬虫软件开发实例(附软件源码)

    对于urllib2的学习,这里先推荐一个教程<IronPython In Action>,上面有很多简明例子,并且也有很详尽的原理解释:http://www.voidspace.org.u ...

  10. MyEclipse10.0安装SVN的三种方法

    最简单的一种: 首先下载zip包(svn:http://subclipse.tigris.org) 1.直接在MyEclipse10安装目录下的dropins文件夹下新建一个svn文件夹 2.把解压出 ...