算术运算符
(+ 加 -减 * 乘 / 除 % 取模 ++ 自增 – 自减)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 运算符和表达式
{
class Program
{
static void Main(string[] args)
{
// 1+2 = 3
//先计算赋值号的右侧 将右侧的计算结果保存在变量中
int ret = 12 + 15;
Console.WriteLine(ret);
ret = 56 - 32;
Console.WriteLine(ret);
ret = 9 / 3;
Console.WriteLine(ret);
//整数除以整数 如果不能整除 计算结果将会是两个整相除的商
ret = 18 / 4;
Console.WriteLine(ret);
//下面的结果也是正确,稍后讲解
//取整操作 得到的是商
float retFloat = 18 / 4;
Console.WriteLine(retFloat);
Console.WriteLine("retFloat={0}", retFloat);
double retdouble = 12.56 / 4;
Console.WriteLine("retdouble={0}", retdouble);
/*
* 除法总结:
* 整数/整数 得到整数 如果不整除 那么得到的是商
* float类型的浮点数/整数 得到float类型的浮点数
* double类型的浮点数/整数 得到double 类型的浮点数
*
*
*/
ret = 3 * 9;
Console.WriteLine(ret);
//取模操作 也就是得到余数
ret = 18 % 4;
Console.WriteLine(ret);
Console.WriteLine("-----------------------------");
int num1 = 10;
//num1++; // 同 num1 = num1 + 1;
num1 = num1 + 1;
Console.WriteLine(num1);
Console.WriteLine("*******************************");
int num2 = 10;
//++num2; // num2 = num2 + 1;
num2 = num2 + 1;
Console.WriteLine(num2);
Console.WriteLine("****num3****");
int num3 = 10;
//先打印num3的值 再进行加法运算
Console.WriteLine(num3++); // 10
Console.WriteLine("num3={0}",num3); //11
int num4 = 10;
//先进行加法运算 然后再打印num4的值
Console.WriteLine(++num4);
Console.WriteLine("++++++++++++++++++++++++++++++++");
int num5 = 10;
//下面的代码等同于 Console.WriteLine(num5++);
Console.WriteLine(num5); //10
num5 = num5 + 1;
int num6 = 10;
//下面的代码等同于 Console.WriteLine(++num6);
num6 = num6 + 1;
Console.WriteLine(num6);
/*
* 总结 :i++ 是先使用i 的值 然后在进行i = i+1; 的运算
*
* ++i 是先进行i=i+1运算 在使用i的值
*/
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
赋值运算符
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 = 100;
int num2 = 200;
int ret = num1 + num2;
Console.WriteLine(ret);
num1 += num2; //num1 = num1 + num2;
Console.WriteLine();
// 1+ 2 + 3 + 4 +5
int result = 0;
result += 1; // result = result + 1;
Console.WriteLine(result);
result += 2; // result = result + 2;
Console.WriteLine(result);
result += 3; // result = result + 3;
Console.WriteLine(result);
result += 4; // result = result + 4;
Console.WriteLine(result);
result += 5; // result = result + 5;
Console.WriteLine(result);
int num3 = 5;
int num4 = 6;
num3 *= num4; //num3 = num3 * num4;
Console.WriteLine(num3);
num3 = 10;
num4 = 3;
Console.WriteLine(num3%=num4);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
位运算
Console.WriteLine(6&11);
Console.WriteLine(6|11);
Console.WriteLine(~6);
Console.WriteLine(6^11);
Console.WriteLine(13^6);
Console.WriteLine(13^11);
//异或交换
int num1 = 6;
int num2 = 11;
//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 = 4 <= 5;
Console.WriteLine(ret1);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
算术运算符优先级
算术运算符有很多,我们只需要记住复制号=的优先级最低 小括号的优先级最高()即可,在模棱两可的时候,可以通过加()来避免代码发生歧义