C#入门笔记3 表达式及运算符2
关系运算符,也称布尔比较运算符
注:var1为bool类型,var2与var3可以是其它类型。【数据类型看下一节】
| 运算符 | 类别 | 示例表达式 | 结果说明 |
| == | 二元 | var1=var2==var3 | 如果var2等于var3,var1值为true,否则为false |
| != | 二元 | var1=var2!=var3 | 如果var2不等于var3,var值为false,否则为true |
| < | 二元 | var1=var2<var3 | 如果var2小于var3,var1值为true,否则为false |
| > | 二元 | var1=var2>var3 | 如果var2大于var3,var1值为true,否则为false |
| <= | 二元 | var1=var2<=var3 | 如果var2小于等于var3,var1的值为true,否则为false |
| >= | 二元 | var1=var2>=var3 | 如果var2大于等于var3,var1的值为true,否则为false |
| ! | 一元 | var1!var2 | 如果var2为false,var1的值为true,否则为false(逻辑非) |
| & | 二元 | var1=var2&var3 | 如果var2与var3都为true,var1的值为true,否则为false(逻辑与) |
| | | 二元 | var1=var2|var3 | 如果var2或var3其它一个为true(或者二个都为true),var1的值为true,否则为false(逻辑或) |
| ^ | 二元 | var1=var2^var3 | 如果var2或var3其它一个为true,var1的值为true,否则为false(逻辑异或) |
| && | 二元 | var1=var2&&var3 | 如果var2与var3都为true,var1的值为true,否则为false(逻辑与) |
| || | 二元 | var1=var2||var3 | 如果var2或var3其它一个为true(或者二个都为true),var1的值为true,否则为false(逻辑或) |
为什么有了:‘&’与‘&&’ 及 ‘|’与 ‘||’,功能都一样,为什么还需要?一个重要区别:'&&','||'性能比较好。使用 '&'及‘|’运算符,需要考虑var2与var3二边的操作数。使用'&&'运算符,如果第一个操作数为false,即不需要考虑第二个操作数的值,第二个操作数的值是什么,var1结果为:false。同样,'||'运算符返回true,如果第一个操作数为true,无需考虑第二个操作数的值。
布尔赋值运算符
| 运算符 | 类别 | 示例表达式 | 结果说明 |
| &= | 二元 | var1&=var2 | var1的值为var1&var2的结果 |
| |= | 二元 | var1|=var2 | var1的值为var1|var2的结果 |
| ^= | 二元 | var1^=var2 | var1的值var1^var2的结果 |
位移运算符
| 运算符 | 类别 | 示例表达式 | 结果 |
| >> | 二元 | var1=var2>>var3 | 把var2的二进制值向右移动var3位,就得到var1的值 |
| << | 二元 | var1=var2<<var3 | 把var2的二进制值向左移动var3位,就得到var1的值 |
位移赋值运算符
| 运算符 | 类别 | 示例表达式 | 结果 |
| >>= | 一元 | var1>>=var2 | 把var1的二进制值向右移动var2位,就得到:var1的新值 |
| <<= | 一元 | var1<<=var2 | 把var1的二进制值向左移动var2位,就得到:var1的新值 |
C#入门笔记3 表达式及运算符2的更多相关文章
- C#入门笔记3 表达式及运算符
C#表达式 表达式,把变量.字面值与运算符组合起来,就创建表达式,是计算的基本构件.字面值:是源代码中键入的数字.字符串,表示指定类型的值.常用有几种:整数.实数.字符.字符串. 整数字面量[也能使用 ...
- 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 ...
随机推荐
- 「51Nod1639」绑鞋带(概率
1639 绑鞋带 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 有n根鞋带混在一起,现在重复n次以下操作:随机抽出两个鞋带头,把它们绑在一起.可 ...
- BZOJ3648:寝室管理
浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...
- CF 438 E & bzoj 3625 小朋友和二叉树 —— 多项式开方
题目:http://codeforces.com/contest/438/problem/E https://www.lydsy.com/JudgeOnline/problem.php?id=3625 ...
- Zigbee协议栈--Z-Stack的使用
使用方法简介:一般情况下用户只需要额外添加三个文件就可以完成一个项目.一个是主文件,存放具体的任务事件处理函数:一个是这个主文件的头文件:另外一个是以Osal开头的操作系统接口文件,是专门存放任务处理 ...
- 10 Vue 学习 shortList页面
1: shortList页面代码如下: <template> <div class="fillcontain"> <head-top></ ...
- 1.改变项目 动态库、静态库属性。 2.使用运行库 /MD、/MT、/LD说明
/MD./MT./LD(使用运行库) 有关 C 运行库以及使用 /clr(公共语言运行时编译) 进行编译时要使用哪些库的更多信息,请参见 CRT 库功能. 传递给链接器的给定调用的所有模块都必须使用相 ...
- [51nod1102]面积最大的矩形(单调栈||预处理)
题意:求序列上某区间最小值乘区间长度的最大值. 解题关键:很早就在<挑战程序设计竞赛>中见过了,单调栈模板题,注意弹栈时如何处理后面的元素. 法一:单调栈 #include<bits ...
- xgene:之illumina,,ion-torrent
illumina技术: 工具:flowcell(流动池):8通道,每个通道都有 2种DNA引物 种在玻璃表面(用共价键连到Flowcell上),这引物和文库中的接头互补 Flowcell:8个l ...
- linux c实现的提取文件名的小程序
/*@author etangyushan *工作中很多时候会和文件名打交道,有时候只需要文件名称,就写了这么一个小程序 *这个函数实现了把一个文件的绝对路径和后缀去除,只留下文件名的功能 * */ ...
- CentOS快速搭建LAMP环境
LAMP -- Linux Apache MySQL PHP 在CentOS安装的顺序,我一般是Apache -> MySQL -> PHP 第一步.安装并配置Apache 1.使用yu ...