2022年4月8日--使用C#迈出第一步--使用C#对数字执行基本运算操作

了解在数值数据上用于执行基本数学运算的运算符和技术。

简介

简单的加法和隐式数据转换

步骤1:添加两个数值数据

若要将两个数字相加,我们将使用加法运算符,其为加号 +。 没错,字符串串联使用的相同的加号 + 也用于加法。 为了多个目的重复使用一个符号有时被称为“重载运算符”,并且经常在 C# 中发生。

int firstNumber = 12;
int secondNumber = 7;
Console.WriteLine(firstNumber + secondNumber);

19

步骤2:混合数据类型以强制执行隐式类型转换

string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + widgetsSold + " widgets.");

Bob sold 7 widgets.

步骤3:尝试添加数字和连接字符串的更高级情况

string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + widgetsSold + 7 + " widgets.");

Bob sold 77 widgets.

步骤4:添加括号,向编译器清楚展现我们的意图

string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + (widgetsSold + 7) + " widgets.");

Bob sold 14 widgets.

回顾

主要理念:

  • 可以对数字执行数学等加法运算。
  • 字符串串联和加法均使用加号 +。 这称为“重载运算符”,编译器根据其运算的数据类型推断合理的使用。
  • 如果 C# 编译器意识到开发者试图连接数字的字符串表示形式来实现演示,则它会隐式将 int 转换为 string
  • 使用括号定义运算顺序,以显式指示编译器我们要在执行其他运算之前执行特定运算。

数学运算符

执行基本的数学运算

步骤1-编写代码以用整数执行加法、减法、乘法和除法运算。

int sum = 7 + 5;
int difference = 7 - 5;
int product = 7 * 5;
int quotient = 7 / 5;

Console.WriteLine("Sum: " + sum);
Console.WriteLine("Difference: " + difference);
Console.WriteLine("Product: " + product);
Console.WriteLine("Quotient: " + quotient);

Sum: 12
Difference: 2
Product: 35
Quotient: 1

+ 是加法运算符
- 是减法运算符
* 是乘法运算符
/ 是除法运算符

步骤2-使用文本小数数据添加代码以执行除法。

要查看除法是否正确有效,我们需要使用支持小数点后的小数位的数据类型,如 decimal

decimal decimalQuotient = 7.0m / 5;
Console.WriteLine("Decimal quotient: " + decimalQuotient);

Decimal quotient: 1.4

为了使其正常运作,商(赋值运算符的左边)必须是类型 decimal 以及被除数或除数必须为类型 decimal(或两者都为该类型)。

decimal decimalQuotient = 7 / 5.0m;
decimal decimalQuotient = 7.0m / 5.0m;

步骤3-使用文本小数数据添加代码以执行除法

要将 int 强制转换为 decimal,请在值之前添加强制转换运算符。 使用在值前面加括号括起来的数据类型名称来强制转换该数据类型。 

int first = 7;
int second = 5;
decimal quotient = (decimal)first / (decimal)second;
Console.WriteLine(quotient);

1.4

步骤4-编写代码以确定整数相除后的余数

余数运算符 % 指示 int 相除后的余数。 

Console.WriteLine("Modulus of 200 / 5 : " + (200 % 5));
Console.WriteLine("Modulus of 7 / 5 : " + (7 % 5));

Modulus of 200 / 5 : 0
Modulus of 7 / 5 : 2

当模数为 0 时,表示被除数除以除数。

运算顺序

在数学中,PEMDAS 是一个首字母缩略词,有助于学生记住执行多个运算的顺序。 此顺序为:

  1. 圆括号 (P)(括号内的内容首先执行)
  2. 指数 (E)
  3. 乘法 (M) 和除法 (D)(从左至右)
  4. 加法 (A) 和减法 (S)(从左至右)

C# 遵循与 PEMDAS 相同的顺序,但指数除外。 虽然在 C# 中没有指数运算符,但可以使用 System.Math.Pow() 方法,此方法可从 .NET 类库中获得。

步骤4-编写代码以执行C#的运算顺序

int value1 = 3 + 4 * 5;
int value2 = (3 + 4) * 5;
Console.WriteLine(value1);
Console.WriteLine(value2);

23
35

回顾

  • 使用如 +-* 和 / 的运算符来执行基本数学运算。
  • 两个 int 值相除,得到小数点后的任意值被截断的结果。 要保留小数点后面的值,需要先将除数或被除数(或两者)由 int 强制转换为浮点数,如 decimal,然后为了避免截断,商必须是相同的浮点类型。
  • 执行强制转换操作,将值暂时视为不同的数据类型。
  • 使用 % 运算符捕获相除后的余数。
  • 操作顺序将遵循首字母缩略词 PEMDAS 的规则。

递增和递减值

递增和递减

通常,你需要递增和递减一个值,尤其是在使用任意循环逻辑或与数据结构交互的代码时,这些数据结构包含多个数据元素。

+= 运算符会将其右侧的值与左侧的值相加,并进行赋值。

int value = 0;
value = value + 5;
value += 5;

++ 运算符将变量的值增加 1。

int value = 0;
value = value + 1;
value++;

步骤1-编写代码以递增和递减值。

int value = 1;

value = value + 1;
Console.WriteLine("First increment: " + value);

value += 1;
Console.WriteLine("Second increment: " + value);

value++;
Console.WriteLine("Third increment: " + value);

value = value - 1;
Console.WriteLine("First decrement: " + value);

value -= 1;
Console.WriteLine("Second decrement: " + value);

value--;
Console.WriteLine("Third decrement: " + value);

First increment: 2
Second increment: 3
Third increment: 4
First decrement: 3
Second decrement: 2
Third decrement: 1

定位增量和减量运算符

步骤2-在值前后使用增量运算符。

int value = 1;
value++;
Console.WriteLine("First: " + value);
Console.WriteLine("Second: " + value++);
Console.WriteLine("Third: " + value);
Console.WriteLine("Fourth: " + (++value));

First: 2
Second: 2
Third: 3
Fourth: 4

回顾

  • 使用复合赋值运算符(如 +=-=*=++ 和 --)执行数学运算(如递增或递减),然后将结果赋给原始变量。
  • 增量和减量运算符的执行方式不同,具体取决于运算符是在操作数之前还是之后。

int fahrenheit = 94;
decimal celsius = (fahrenheit - 32m) * (5m / 9m);
Console.WriteLine("The temperature is " + celsius + " Celsius.");

The temperature is 34.444444444444444444444444447 Celsius.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值