21篇C#博客的配套源码
算术运算符
(+ 加 -减 * 乘 / 除 % 取模 ++ 自增 – 自减)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 运算符和表达式
{
class Program
{
static void Main(string[] args)
{
// + =
//先计算赋值号的右侧 将右侧的计算结果保存在变量中
int ret = + ;
Console.WriteLine(ret);
ret = - ;
Console.WriteLine(ret);
ret = / ;
Console.WriteLine(ret);
//整数除以整数 如果不能整除 计算结果将会是两个整相除的商
ret = / ;
Console.WriteLine(ret);
//下面的结果也是正确,稍后讲解
//取整操作 得到的是商
float retFloat = / ;
Console.WriteLine(retFloat);
Console.WriteLine("retFloat={0}", retFloat);
double retdouble = / ;
Console.WriteLine("retdouble={0}", retdouble);
/*
* 除法总结:
* 整数/整数 得到整数 如果不整除 那么得到的是商
* float类型的浮点数/整数 得到float类型的浮点数
* double类型的浮点数/整数 得到double 类型的浮点数
*
*
*/
ret = * ;
Console.WriteLine(ret);
//取模操作 也就是得到余数
ret = % ;
Console.WriteLine(ret);
Console.WriteLine("-----------------------------");
int num1 = ;
//num1++; // 同 num1 = num1 + 1;
num1 = num1 + ;
Console.WriteLine(num1);
Console.WriteLine("*******************************");
int num2 = ;
//++num2; // num2 = num2 + 1;
num2 = num2 + ;
Console.WriteLine(num2);
Console.WriteLine("****num3****");
int num3 = ;
//先打印num3的值 再进行加法运算
Console.WriteLine(num3++); // 10
Console.WriteLine("num3={0}",num3); //11
int num4 = ;
//先进行加法运算 然后再打印num4的值
Console.WriteLine(++num4);
Console.WriteLine("++++++++++++++++++++++++++++++++");
int num5 = ;
//下面的代码等同于 Console.WriteLine(num5++);
Console.WriteLine(num5); //10
num5 = num5 + ;
int num6 = ;
//下面的代码等同于 Console.WriteLine(++num6);
num6 = num6 + ;
Console.WriteLine(num6);
/*
* 总结 :i++ 是先使用i 的值 然后在进行i = i+1; 的运算
*
* ++i 是先进行i=i+1运算 在使用i的值
*/
}
}
}
赋值运算符
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 赋值运算
{
class Program
{
static void Main(string[] args)
{
int num1 = ;
int num2 = ;
int ret = num1 + num2;
Console.WriteLine(ret);
num1 += num2; //num1 = num1 + num2;
Console.WriteLine();
// 1+ 2 + 3 + 4 +5
int result = ;
result += ; // result = result + 1;
Console.WriteLine(result);
result += ; // result = result + 2;
Console.WriteLine(result);
result += ; // result = result + 3;
Console.WriteLine(result);
result += ; // result = result + 4;
Console.WriteLine(result);
result += ; // result = result + 5;
Console.WriteLine(result);
int num3 = ;
int num4 = ;
num3 *= num4; //num3 = num3 * num4;
Console.WriteLine(num3);
num3 = ;
num4 = ;
Console.WriteLine(num3%=num4);
}
}
}
位运算
Console.WriteLine(&);
Console.WriteLine(|);
Console.WriteLine(~);
Console.WriteLine(^);
Console.WriteLine(^);
Console.WriteLine(^);
//异或交换
int num1 = ;
int num2 = ;
//13 6 11
num1 = num1 ^ num2;
//6 13 11
num2 = num1 ^ num2;
//11 13 6
num1 = num1 ^ num2;
/*
* 位运算 总结:
* 按位与:全1才为1
* 按位或:全0才是0
* 按位非:-(数字+1)
* 按位异或:相同为0 不同为1
*
*
*/
bool ret1 = <= ;
Console.WriteLine(ret1);
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9cmaOJTWU9EMNpmTzsGWlZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zNxQzM0cDNzEzNxcDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
算术运算符优先级
算术运算符有很多,我们只需要记住复制号=的优先级最低 小括号的优先级最高()即可,在模棱两可的时候,可以通过加()来避免代码发生歧义