C# —— 算数运算符

算术运算符: 用于数值类型进行变量计算的运算符

他的返回结果是数值

赋值运算符

= : 先看右侧 再看 左侧 将右侧的数据赋值给左侧的变量

cs 复制代码
int num = 5;
string name = "老王";
float myHeight = 187.5f;

加 +

先计算 再赋值

// 进行数据的加法运算

cs 复制代码
int num_one = 10;
int num_two = 20;
// 数值变量的计算 右边两个值相加 赋值给左边
int num_three = num_one + num_two;
Console.WriteLine(num_three);
// 自身的运算 先进行加法运算 再进行赋值
num_one = num_one + num_two;
Console.WriteLine(num_one);
// 连续加法运算 想进行右侧加法运算 再赋值
num_one = num_one + num_two + num_three; // 80
Console.WriteLine(num_one);
// 变量初始化时 先进行右侧的计算 再进行赋值给左边的变量
int num1 = 1 + 2 + 3;
Console.WriteLine(num1);

减 -

同加法相同

// 先计算右侧的结果 然后赋值给左侧变量

cs 复制代码
int num2 = 5;
num2 = 5 - 9;

int num3 = 1 - 5 - 6;

乘 *

同加减一样

cs 复制代码
int num4 = 5;
num4 = num4 * 5;
Console.WriteLine(num4);

除 /

除法运算同乘法一样

// 注意: 整数除法运算 如果除法运算除不尽 则会直接省略掉小数部分

cs 复制代码
int num5 = 14;
num5 = num5 / 3;
Console.WriteLine(num5);

取余 %

取余同上一样 整数取余是没有小数的

// 小数取余是有小数的

cs 复制代码
int num6 = 5;
num6 = num6 % 2;  // 1
float num7 = 2.5f;
num7 = num7 % 2;
Console.WriteLine(num7);

算数运算符的优先级

优先级 是指在进行算数运算时 混合运算的先后运算顺序

// 乘除取余 高于加减 先算乘除 再算加减

// 括号可以改变优先级 先算括号内部的 再算括号外部的

// 多组括号 先算最里层括号 依次往外算

复合运算符

*= /= += -= %=

// 复合运算符 其实就是相当于 自己 = 自己进行运算

复合运算符 只能进行一种运算 不能混合运算

// num8 + -*= 8;

cs 复制代码
int num8 = 8;
int num_eight = 8;
num8 = num8 + 8; // num += 8;
num_eight += 8; // num_eight = num_eight + 8;
Console.WriteLine(num8);  // 16
Console.WriteLine(num_eight);// 16

增和自减

cs 复制代码
自增和自减: 在原有数据基础上进行加+1 或减-1操作
            int number = 10;
            // 加加在后 先赋值给左边的变量 再增加自身的值
            int number2 = number++;   
            Console.WriteLine(number2); // 10
            Console.WriteLine(number); //  11
            /*Console.WriteLine(number++); // 11
            Console.WriteLine(number); // 12*/
            // 加加在前 先进行自增运算  然后再赋值给左边的变量
            number2 = ++number;
            Console.WriteLine(number2); // 12
            // 自减同自增一样
            // 减减在后 先进行赋值 再进行运算
            number--;
            // 减减在前 先进行运算 再进行赋值
            --number;
相关推荐
七夜zippoe13 分钟前
Java性能调优工具篇:JMH基准测试与Profiler(JProfiler/Async-Profiler)使用指南
java·开发语言·jprofiler·jmh·async-profiler
csdn_wuwt1 小时前
有C#可用的开源的地图吗?
后端·c#·gis·map·开发·设计·地图
6极地诈唬1 小时前
【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
windows·sqlite·c#
小龙报1 小时前
《嵌入式成长系列之51单片机 --- Keil5创建工程》
c语言·开发语言·c++·单片机·嵌入式硬件·51单片机·学习方法
我只有一台windows电脑1 小时前
C# 对多个任务进行符合管理
c#
无限进步_1 小时前
【C语言】贪吃蛇游戏设计思路深度解析:从零开始理解每个模块
c语言·开发语言·c++·git·游戏·github·visual studio
听风吟丶1 小时前
Java 函数式编程深度实战:从 Lambda 到 Stream API 的工程化落地
开发语言·python
数据的世界012 小时前
JAVA和C#的语法对比
java·windows·c#
rainFFrain2 小时前
qt显示类控件--- Label
开发语言·qt
渡我白衣2 小时前
深入理解 OverlayFS:用分层的方式重新组织 Linux 文件系统
android·java·linux·运维·服务器·开发语言·人工智能