C#入门笔记3 表达式及运算符
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 表达式及运算符的更多相关文章
- C#入门笔记3 表达式及运算符2
关系运算符,也称布尔比较运算符 注:var1为bool类型,var2与var3可以是其它类型.[数据类型看下一节] 运算符 类别 示例表达式 结果说明 == 二元 var1=var2==var3 如果 ...
- Python入门笔记(12):表达式和语句
一.Python语句 if语句.else语句.elif语句.条件表达式.while语句.for语句.break语句.continue语句.pass语句.Iterators(迭代器).列表解析 二.常用 ...
- C Primer Plus学习笔记(四)- 运算符、表达式和语句
基本运算符 赋值运算符:= 在C语言中,=不是“相等”,而是赋值运算符,把左边的值赋给右边的变量 a = 2018; //把值2018赋给变量a 赋值表达式语句的目的是把值储存到内存位置上,用于储存值 ...
- Ruby入门笔记
Ruby入门笔记 一切皆为对象 “Hello”.length 方法 定义:def开头 end结尾 命名一般采用下划线分隔单词
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- MySQL入门笔记(一)
一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...
- MySQL入门笔记(二)
MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询 子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...
- 「Android 开发」入门笔记
「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...
- awk 新手入门笔记
转自:http://www.habadog.com/2011/05/22/awk-freshman-handbook/ awk新手入门笔记 @作者 : habadog@邮箱 : habadog1203 ...
随机推荐
- linguistic相关
Knowing a word means knowing both its sound and its meaning, while being able to use a word requires ...
- git学习笔记(上)
1 安装 win安装 地址 安装之后自报家门 $ git config --global user.name "Your Name" $ git config --global u ...
- [转载] Android raw与assets区别
*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R ...
- POJ2154 Color【 polya定理+欧拉函数优化】(三个例题)
由于这是第一天去实现polya题,所以由易到难,先来个铺垫题(假设读者是看过课件的,不然可能会对有些“显然”的地方会看不懂): 一:POJ1286 Necklace of Beads :有三种颜色,问 ...
- Preface Numbering
链接 分析:先打表需要用到的罗马数字,然后暴力转换,最后统计一下即可 /* PROB:preface ID:wanghan LANG:C++ */ #include "iostream&qu ...
- 使用Oracle数据库实现树形结构表的子-父级迭代(递归)查询和删除,通过级联菜单简单举例
前言: 我们在开发中,常常遇到单表的子-父id级联的表结构,在树形的深度不确定的情况下,一次查询出某个树形结构下的所有具有子-父级关系的数据变得十分困难. 这时,我们使用oracle提供的CONNEC ...
- YouTube视频签名加密算法的破解
密码学方法 多年以前,YouTube的视频源地址是直接encode在页面中的,你甚至可以用一行Perl来下载它们. 直到2012年8月,这个简单的脚本(用在0.0.1版本的You-Get中)仍然可以解 ...
- 微信小程序开发之页面跳转并携带参数
接口: wx.navigateTo({url:......}) 保留当前页面,跳转到应用内指定URL页面,导航栏左上角有返回按钮 wx.redirecTo({url:.....}) 关 ...
- FlashkUI v1.33 发布(提供移动设备支持)
v1.33 Beta更新内容:增加对移动设备的支持,新增自定义双渲染器双层树组件.List增加按数据子项排序功能. <ignore_js_op> 介绍: Flex已经不作为Adobe官方支 ...
- angularjs 切换tab页的一个方法
tab条的 css: .floor-tab-li { float: left; padding: 6px 12px; font-size: 14px; font-weight: normal; lin ...