当前位置: 首页 > news >正文

算数运算符

算术运算符是用于数值类型变量计算的运算符。
它的返回结果是数值。

赋值符号

=
关键知识点:先看右侧,再看左侧,把右侧的值赋值给左侧的变量。
附上代码:

string myName = "唐唐";
int myAge = 18;
float myHeight = 177.5f;

加 +

//用自己计算,先算右侧的结果,再赋值给左侧的变量
int i = 1;
//3
i = i + 2;
Console.WriteLine(i);
//连续运算,先算右侧结果,再赋值给左侧变量
//99
i = 1 + 3 + 89 + i + i;
Console.WriteLine(i);
//4
i = 1 + 2 + 1;
Console.WriteLine(i);
//初始化时就运算,先算右侧结果,再赋值给左侧变量。
int i2 = 1 + 2 + 4;
Console.WriteLine(i2);

减 -

//用自己计算,先算右侧的结果,再赋值给左侧的变量
int j = 1;
j = j - 1;
Console.WriteLine(j);
//连续运算,先算右侧结果,再赋值给左侧变量
j = 1 - 2 - 3;
Console.WriteLine(j);
j = 1 - j;
Console.WriteLine(j);//5
//初始化时就运算,先算右侧结果,再赋值给左侧变量。
int j2 = 1 - j - 0;
Console.WriteLine(j2);

乘 *

//用自己计算,先算右侧的结果,再赋值给左侧的变量
int c = 1;
c = c * 10;
Console.WriteLine(c);
//连续运算,先算右侧结果,再赋值给左侧变量
c = 1 * 2 * 3;
Console.WriteLine(c);
c = 2 * c * 2;
Console.WriteLine(c);//5
//初始化时就运算,先算右侧结果,再赋值给左侧变量。
int c2 = c * 2;
Console.WriteLine(c2);

除 /

//用自己计算,先算右侧的结果,再赋值给左侧的变量
int chu = 1;
chu = 10 / chu;
Console.WriteLine(chu);
//连续运算,先算右侧结果,再赋值给左侧变量
//...
//初始化时就运算,先算右侧结果,再赋值给左侧变量。
//...
chu = 1;
chu = 1 / 2;
Console.WriteLine(chu);
//默认的整数是int,如果用来做除法运算,要注意,会丢失小数点后的小数
//如果想用浮点数来存储,一定是在运算时要有浮点数的特征
float f = 1 / 2f;
Console.WriteLine(f);

取余 %

//用自己计算,先算右侧的结果,再赋值给左侧的变量
int y = 4;
// 4 % 3 得到余数 1
y = y % 3;
Console.WriteLine(chu);
//连续运算,先算右侧结果,再赋值给左侧变量
y = y % 3 % 2;
Console.WriteLine(y);
//初始化时就运算,先算右侧结果,再赋值给左侧变量。
//...

算数运算符的优先级

优先级是指在混合运算时的运算顺序。
乘除取余优先级高于加减,先算乘除取余后加减。
括号可以改变优先级,优先计算括号内内容。
多组括号,先算最里面括号,依次往外算。
示例代码;

//1 + 3 + 1 + 6
int a = 1 + 2 * 3 / 2 + 1 + 2 * 3;
Console.WriteLine(a);a = 1 + 4 % 3 * 3 / 2 + 1;
Console.WriteLine(a);a = 1 + 4 % (2 * 3 / 2) + 1;
Console.WriteLine(a);a = 1 + 4 % (2 * (3 / 2)) + 1;
Console.WriteLine(a);

算术运算符的复合运算符

固定写法,运算符=
+=、-=、*=、/=、%=
复合运算符是用于自己=自己进行运算。
示例代码:

int i3 = 1;
i3 = i3 + 2;
Console.WriteLine(i3);i3 = 1;
i3 += 2;//i3 = i3 + 2;
Console.WriteLine(i3);i3 = 2;
i3 += 2;//4
i3 -= 2;//2
i3 /= 2;//1
i3 *= 2;//2
i3 %= 2;//0
Console.WriteLine(i3);int i4 = 10;
i4 += 20 * 2 / 10;
Console.WriteLine(i4);

注意:复合运算符,只能进行一种运算,不能混合运算。
例如:i4 */-= 2是错误的。

算术运算符的自增减

int a2 = 1;
a2 = a2 + 1;a2 = 1;
a2 += 1;//自增运算符,让自己+1
a2 = 1;
a2++;//先用在加
Console.WriteLine(a2);
++a2;//先加再用
Console.WriteLine(a2);a2 = 1;
Console.WriteLine(a2++);//1
//2
Console.WriteLine(++a2);//3//自减运算符,让自己-1
a2 = 1;
a2--;//先用在减
Console.WriteLine(a2);
--a2;//先减再用
Console.WriteLine(a2);

相关文章:

  • 58. 最后一个单词的长度
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • java 对接农行支付相关业务(二)
  • Mac免费软件推荐
  • AI办公自动化:kimi批量新建文件夹
  • 【Python音视频技术】用moviepy实现图文成片功能
  • 【活动】开源与闭源大模型:探索未来趋势的双轨道路
  • 安装WordPress
  • 【Python爬虫】图片验证码的处理
  • DNS 解析过程
  • SpringBoot 微服务中怎么获取用户信息 token
  • 《web应用技术》第9次课后作业
  • Dropbear SSH服务器的安装和优化
  • 视频集中存储LntonCVS视频监控汇聚平台智慧园区应用方案
  • 案例研究|MeterSphere助力万物云构建高效自动化测试平台
  • (三)从jvm层面了解线程的启动和停止
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【5+】跨webview多页面 触发事件(二)
  • 【Amaple教程】5. 插件
  • ECMAScript入门(七)--Module语法
  • IOS评论框不贴底(ios12新bug)
  • jquery cookie
  • Map集合、散列表、红黑树介绍
  • mongo索引构建
  • MQ框架的比较
  • Next.js之基础概念(二)
  • SQLServer之创建显式事务
  • text-decoration与color属性
  • vue数据传递--我有特殊的实现技巧
  • 从0实现一个tiny react(三)生命周期
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 第十八天-企业应用架构模式-基本模式
  • 回顾 Swift 多平台移植进度 #2
  • 技术胖1-4季视频复习— (看视频笔记)
  • 强力优化Rancher k8s中国区的使用体验
  • 人脸识别最新开发经验demo
  • 在Unity中实现一个简单的消息管理器
  • 中文输入法与React文本输入框的问题与解决方案
  • AI算硅基生命吗,为什么?
  • 积累各种好的链接
  • ​520就是要宠粉,你的心头书我买单
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #vue3 实现前端下载excel文件模板功能
  • (2.2w字)前端单元测试之Jest详解篇
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (三)SvelteKit教程:layout 文件
  • (三十五)大数据实战——Superset可视化平台搭建
  • (五十)第 7 章 图(有向图的十字链表存储)
  • .cfg\.dat\.mak(持续补充)
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET 命令行参数包含应用程序路径吗?
  • .net访问oracle数据库性能问题
  • @Conditional注解详解