🔍 1.2.5 Math类介绍¶
本节我们将介绍提供了丰富数学计算工具的Math类。所谓“类”,就是一种在本章介绍的这些C#为你提供的“原生”内置数据类型以外,可以自定义的数据类型。我们稍后会详细介绍“类”,但现在可以用一个简单的比喻让你对“类”有大概的印象。
假设现在有个“电饭锅”类(它是静态的,至于什么是静态我们以后再说),它包括品牌、容量、以及额定电压等“字段”。提到品牌,我们就会说“电饭锅.品牌”,意思就是电饭锅的牌子;提到容量,我们就说“电饭锅.容量”,这非常符合直觉。
另一方面,电饭锅还有许多功能,比如煲饭、保温,更智能的产品甚至还可以联网更新菜谱等等。我们把这些功能叫做这个类的“方法”。既然是功能嘛,自然就是要对一些东西进行操作,而操作的对象会被括号括住。比如“电饭锅.煲饭(米, 水)”就是把米和水煲成饭。当然啦,有的操作不需要提供操作对象,这样的话把括号留空就好了:“电饭锅.更新菜谱()”。
除了电饭锅类,我们可能还有炒锅类、豆浆机类、抽油烟机类、洗衣机类……等等。为了方便管理这么多的类,不如把它们按功能归类整理。把电饭锅类、炒锅类、豆浆机类、抽油烟机类放到厨房里,洗衣机类放到阳台或者别的什么地方。像厨房这样,存放这些类的地方就叫“命名空间”。
说了这么多,其实就是想让你明白:Math是命名空间System中的一个类。System里面存放了很多我们经常会使用的基础工具,回忆一下我们目前接触了哪些?控制台Console类,还有各类数据类型System.Int32等等等等。
好吧,不扯那么多了。我们来看看Math类怎么用吧。
字段¶
一共就3个,都是数学常量。比如圆周率π、自然对数的底e:
方法¶
方法挺多的,下面挑几个常用的介绍:
绝对值¶
取各类有符号数字的绝对值。
取整¶
double a = 4.25;
// 1. 四舍五入
double b = Math.Round(a);
// 2. 向上取整
double c = Math.Ceiling(a);
// 3. 向下取整
double d = Math.Floor(a);
取极值¶
幂运算¶
关于Math类的用法,完整的介绍在这里。根本没必要把它们统统记住,要用到的时候再来查阅文档。换句话说,那些经常用的功能(比如取极值、开平方)你会自然而然地记住;不经常用的功能即使现在背下来了,过段时间也会忘记。