2022.01.28 / Microsoft Visual Studio 2022 / C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _01._04_算术运算符
{
internal class Program
{
static void Main(string[] args)
{
//(一)常用的算术运算符:
// 1、一元运算符:增量(n++、++n)、减量(n--、--n)
// 2、二元运算符:加法(+)、减法(-)、乘法(*)、除法(/)、取余(%)
//(二)运算规则:先执行一元运算,再执行二元运算。
int a = 7;
int b = 3;
double c = 3.1;
// 1、加法(+):
int add_1 = a + b; // int类型 + int类型 = int类型
Console.WriteLine("7 + 3 = {0}", add_1);
double add_2 = a + c; // int类型 + double类型 = double类型
Console.WriteLine("7 + 3.1 = {0}", add_2);
// 2、减法(-):
int sub_1 = a - b; // int - int = int
Console.WriteLine("7 - 3 = {0}", sub_1);
double sub_2 = a - c; // int - double = double
Console.WriteLine("7 - 3.1 = {0}", sub_2);
// 3、乘法(*):
int mul_1 = a * b; // int × int = int
Console.WriteLine("7 × 3 = {0}", mul_1);
double mul_2 = a * c; // int × double = double
Console.WriteLine("7 × 3.1 = {0}", mul_2);
// 4、除法(/):
int div_1 = a / b; // int ÷ int = int
Console.WriteLine("7 ÷ 3 商 = {0}", div_1);
double div_2 = a / c; // int ÷ double = double
Console.WriteLine("7 ÷ 3.1 商 = {0}", div_2);
// 5、取余(%):
int rem_1 = a % b; // int ÷ int 余数 = int
Console.WriteLine("7 ÷ 3 余数 = {0}", rem_1);
double rem_2 = a % c; // int ÷ double 余数 = double
Console.WriteLine("7 ÷ 3.1 余数 = {0}", rem_2);
// 6、增量(n++,++n):
// n++ 和 ++n 都相当于 n = n + 1
int n = 5;
Console.WriteLine("执行 n++ 前,n的值为{0}", n);
n++;
Console.WriteLine("执行 n++ 后,n的值为{0}", n);
n = 5;
Console.WriteLine("执行 ++n 前,n的值为{0}", n);
++n;
Console.WriteLine("执行 ++n 前,n的值为{0}", n);
n = 5;
Console.WriteLine("执行 3 + n++ 前,n的值为{0}", n); // n = 5
int result_1 = 3 + n++;
Console.WriteLine("执行 3 + n++ 后,n的值为{0}", n); // n = 5 + 1
Console.WriteLine("执行 3 + n++ 后,result_1的值为{0}", result_1); // result_1 = 3 + 5
n = 5;
Console.WriteLine("执行 3 + ++n 前,n的值为{0}", n); // n = 5
int result_2 = 3 + ++n;
Console.WriteLine("执行 3 + ++n 后,n的值为{0}", n); // n = 5 + 1
Console.WriteLine("执行 3 + ++n 后,result_2的值为{0}", result_2); // result_2 = 3 + ( 5 + 1 )
// 理解:
// 在 3 + n++ 中,++ 在 n 的【后】面,运算过程为:
// 先执行 3 + n(原值),并赋值给result_1,后执行 n(原值) + 1,并赋值给n(新值)。
// 在 3 + ++n 中,++ 在 n 的【前】面,运算过程为:
// 先执行 n(原值) + 1,并赋值给n(新值),后执行 3 + n(新值),并赋值给result_2。
// 膈肌膈肌~膈肌膈肌~膈肌~~膈肌~~:
n = 5;
int result = n + ++n + n + 3 * n++ - n - ++n / 3 - n;
Console.WriteLine("result = {0}。 n = {1}。", result, n);
// 不成熟分析:
// result = 5(原n) + ( 5(原n) + 1 ) + 6(新n) + 3 * 6(新n) - 7(更新n) - ( 7(更新n) + 1 ) / 3 - 8(更更新n)
// 7、减量(n--,--n): 与 增量(n++,++n)类似理解即可。
// 学废了吗?
}
}
}