在C#语言中有许多对变量进行处理的运算符,把变量和操作数与运算数组合起来就可以创建一个表达式。
程序语句是由表达式构成,表达式由常量、变量和运算符构成,运算符的运用范围非常广泛,有简单的,也有复杂的,在C#语言中,有算术运算符、比较运算符、逻辑运算符、赋值运算符、条件运算符 。下图列出常见的运算符及对应的类别。
需要重点介绍“ + ” 作为字符串拼接的运用。其实前面的综合案例中已经初步接触了这个应用,这里需要重点讲解: 区分什么时候它用作加法运算:
如果+ 两边是整数或数字时 ,作加法运算;
如果+ 两边的运算数只要有一边的类型是字符串时(不是字符串类型的一边会自动转换为字符串),作字符串拼接。
介绍++,-- 运算符
应该说明 i++或++i相当于 i=i+1;说明 i--或--i相当于 i=i-1;
1)强调不能使用常数,比如 ++3;
2)强调++i 和 i++ 的 区别.可以使用下面的例子:
int i = 3;
int j = i++;//结果为3
int k = i;//结果为4
i=3;
j = ++i;//结果为4
k=I;//结果为4
同样--i 和 i--也有这种区别
介绍各个运算符的用法时,应该用C# 写出具体例子的表达式,加深学员的认识
比如 a=2;b=3; c=a+b或者 c=a+3;
比较运算符
下图是比较运算符的用法;
运算符和表达式
逻辑运算符
&& || !
赋值运算符
= += -= *= /= %=
条件运算符
?:
下图是运算符的优先级
需要提醒注意方法中使用的括号不是运算符,比如 ConSole.Write( )。
同一个优先级的执行顺序是从左到右的。
列举表达式的例子说明。
int i=3; ++i * 5 + 6 结果为26
2+7 >=10-2 结果为true
2+7 >=10-2 && 10%2==5 结果为false
int i=3; i+1>4 ? (i+1): (i-1) 结果为 2
在编写程序时,也常常需要对条件进行判断,那就是控制程序流程的另两种方法:分支结构和循环结构。
循环结构是重复执行相同的语句(重复执行一定的次数,或者在满足测试条件后停止执行)。
分支结构是有条件的执行代码,控制下一步要执行那些代码的过程。这里介绍C#中的分支机构:if语句和Switch语句。
If语句语法如下;
if(表达式
{
代码块
}
if(表达式
{
代码块1
}
else
{
代码块2
}
多重if语句语法如下;
if(表达式1)
{
代码块1
}
else if (表达式2 )
{
代码块2
}
……
else
{
代码块n
}
嵌套if语句语法如下;
if(表达式1
{
if(表达式2
{
代码块1
}
else
{
代码块2
}
}
else
{
代码块3
}
switch选择语句的使用
switch语句语法如下;
switch(表达式)
{
case 常量表达式1
语句1
break
……
default:
语句n
break
}
switch语句根据某个传递的参数的值来选择执行的代码。在if语句中,if语句只能测试单个条件,如果需要测试多个条件,则需要书写冗长的代码。而switch语句能有效的避免冗长的代码并能测试多个条件。
声明switch选择语句
Switch语句的语法如下所示。
switch (参数的值)
{
case 参数的对应值1: 操作1; break;
case 参数的对应值2: 操作2; break;
case 参数的对应值3: 操作3; break;
}
从上述语法格式中可以看出switch的语法格式。在switch表达式之后跟一连串case标记相应的switch块。当参数的值为某个case对应的值的时候,switch语句就会执行对应的case的值后的操作,并以break结尾跳出switch语句。若没有对应的参数时,可以定义default条件,执行默认代码,示例代码如下所示。
int x;
switch (x) //switch语句
{
case 0: Console.WriteLine("this is 0"); break; //x=0时执行
case 1: Console.WriteLine("this is 1"); break; //x=1时执行
case 2: Console.WriteLine("this is 2"); break; //x=2时执行
default:Console.WriteLine(“这是默认情况”);break;
}
在上述代码中,当x等于0的时候,就会执行case 0的操作,就执行了Console.WriteLine("this is 0")。如果x等于1,语句就会执行case 1的操作。switch不仅能够通过数字进行判断,还能够通过字符进行判断。
使用break跳出语句
从上述代码中可以看出,每一个操作后面都使用了一个break语句。在C/C++中,程序员可以被允许不写break而贯穿整个switch语句,但是在C#中不以break结尾是错误的,并且编译器不会通过。因为C#的switch语句不支持贯穿操作,因为C#中是希望避免在应用程序的开发中出现这样的错误。
注意:在C#中,可以使用goto语句模拟,继续执行下一个case或default。尽管在程序中可以这样做,但是会降低代码的可读性,所以不推荐使用goto语句。
switch的执行顺序
switch语句能够对相应的条件进行判断,示例代码下代码所示。
int x;
switch (x) //switch语句
{
case 0: Console.WriteLine("this is 0"); break; //x=0时执行
case 1: Console.WriteLine("this is 1"); break; //x=1时执行
case 2: Console.WriteLine("this is 2"); break; //x=2时执行
default: Console.WriteLine("no one"); break; //都不满足时执行
}
从上述代码中分析,整型变量x被声明,并初始化,执行switch语句,当x的值为0的时候,case 0之后的语句就会执行,即会执行Console.WriteLine("this is 0");执行完毕后,语句执行break跳出switch语句。当x的值等于3的,switch操作会发现在case中没有与之相等的标记,则会执行default标记并执行默认的代码块。
注意:在switch语句中,default语句并不是必须的,但是编写default是可以为条件设置默认语句。
使用枚举类型
在switch表达式中,参数的类型必须为整型、字符型、字符串型、枚举类型或是能够隐式转换为以上类型的数据类型。在switch中常常会用到枚举类型,示例代码如下所示。
enum season { spring,summer,autumn,winter } //声明枚举类型
static void Main(string[] args)
{
season mySeason=season.summer; //初始化
switch (mySeason)
{
case season.spring: Console.WriteLine("this is spring"); break; //mySeason=spring时
case season.summer: Console.WriteLine("this is summer"); break; //mySeason=summer时
case season.autumn: Console.WriteLine("this is autumn"); break; //mySeason=autumn时
case season.winter: Console.WriteLine("this is winter"); break; //mySeason=winter时
default: Console.WriteLine("no one"); break;
}
Console.ReadKey(); //等待用户按键
}
组合case语句
在某些情况下,一些条件所达成的效果是相同,这就要求在switch中往往需要对多个标记使用同一语句。switch语句能够实现多个标记使用同一语句,代码如下所示。
switch (mySeason)
{
case season.spring:
case season.summer: Console.WriteLine("this is spring and summer"); break;//组合case
case season.autumn:
case season.winter: Console.WriteLine("this is autumn and winter"); break; //组合其他条件
default: Console.WriteLine("no one"); break; //默认case
}

转载于:https://blog.51cto.com/yueyuanyuan/319098

ASP.NET--表达式、运算符与分支结构相关推荐

  1. Java标识符命名规则,运算符,分支结构

    Java标识符命名规则,运算符,分支结构 1 Java标识符命名规则 1.1命名规则案例 163邮箱,注册邮箱名限制6~18个字符,可使用字母,数字,下划线,需要以字母开头命名规则分析1.有长度限制2 ...

  2. D05运算符和分支结构

    运算符和分支结构 1.运算符 1.1关系运算符 > < >= <= == != 关系运算符的结果有且只有 true or false 用于在开发中的条件判断使用 public ...

  3. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...

  4. day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  5. day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  6. c语言双分支结构运算符,c语言——运算符、分支结构、循环结构

    一.运算符 关系运算符 关系运算符含  义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...

  7. C#笔记03 运算符和分支结构

    文章目录 一二元运算符 分支结构 布尔表达式 三元.空接合.按位运算符 一二元运算符 一元运算符(+.-) 二元运算符(%.etc.) 注意结合性与优先级.浮点数运算位数等问题.const声明常量. ...

  8. C语言分支循环结构1,c语言——运算符、分支结构、循环结构(示例代码)

    一.运算符 关系运算符 关系运算符含  义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...

  9. Java基础知识 变量 基本类型 类型转换 标识符 关键字 运算符 循环 分支结构 JVM

    标题JVM **java语言是跨平台的,之所以跨平台是因为在不同的系统中安装不同的JVM这是Java跨平台的前提** 2.JDK:开发工具包-开发必须安装 JRE:运行时环境 JVM:Java虚拟机, ...

最新文章

  1. 甘肃张掖祁连山境内出现雪豹
  2. CORE ANIMATION的学习备忘录
  3. 秒懂云通信:选云通信到底哪家强?
  4. 不用加减乘除完成两数相加
  5. php异步传输,php 异步处理-上传文件
  6. 部署项目,所谓“部署”到底是在干什么?
  7. ethercat如何编程 台达50mc_台达可编程控制器DVP-50MC系列产品介绍
  8. 《Java并发编程的艺术》第3章 Java内存模型
  9. 获取并反编译微信小程序源码(仅供学习)
  10. Python爬虫教程入门(附源码)
  11. MetLife - 美国大都会人寿保险公司
  12. 技术方向决策的几点思考
  13. chapter8 Pull Complexity Downwards
  14. 嵌入式Linux使用TFT屏幕:使用树莓派4B的MIPI-DSI接口点亮ST7701S屏幕
  15. [二] X 名称空间
  16. EC200 EC600 EC20接入工业互联网云平台
  17. 《Android源码设计模式解析与实战》读书笔记(七)——策略模式
  18. Unity尝试从零创建一个敌人
  19. 单片机应用系统设计技术——计数器
  20. 回溯算法---过河问题(商人过河)

热门文章

  1. 有效电子邮件地址的最大长度是多少?
  2. 仿真器如何工作以及如何编写? [关闭]
  3. win11鼠标怎么在轮滑时只滚动一个屏幕 Windows11鼠标设置轮滑只滚动一个屏幕的步骤方法
  4. js空格占位符_灵活使用 console 让 js 调试更简单
  5. java循环打印三角形_Java for循环打印三角形(基础)
  6. Vue使用wangEditor 封装成独立组件实现富文本编辑器
  7. java字面量和符号引用_JVM中的直接引用和符号引用
  8. 7个JavaScript在IE和Firefox浏览器下的差异写法
  9. java----动态绑定
  10. 常见的javascript日期和时间戳互相转化