Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸

Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸

7.7 Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸 标准函数函数除了可以根据参数列表的有无分为无参函数和有参函数,还可以从定义角度分为用户自定义函数和标准函数两种。以上的示例都是用户自定函数。Swift提供了74个标准函数,这些函数都可以直接去使用,不需要进行定义。本节将针对常用的标准函数进行详细的讲解。

7.7.1  绝对值函数abs()Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸

abs()函数的功能是求数值的绝对值。其语法形式如下:

abs(数值)

函数的返回值是一个零或者正数。

【示例7-18】以下将使用abs()函数获取-10、10、0、-1.233、1.233的绝对值。代码如下:

import Foundation

//求整数的绝对值

let value1=abs(-10)

let value2=abs(10)

let value3=abs(0)

//求浮点数的绝对值

let value4=abs(-1.233)

let value5=abs(1.233)

println(“value1=\(value1)”)

println(“value2=\(value2)”)

println(“value3=\(value3)”)

println(“value4=\(value4)”)

println(“value5=\(value5)”)

在此代码中,正数的绝对值是它本身;负数的绝对值为正数;0的绝对值还为0。运行结果如下:

value1=10

value2=10

value3=0

value4=1.233

value5=1.233

Program ended with exit code: 0

注意:abs()中的参数必须是数值,不可以是数值以外的东西,如字符、字符串等。如以下的代码,将获取字符串”aaa”的绝对值。代码如下:

import Foundation

let value1=abs(“aaa”)

println(“value1=\(value1)”)

由于abs()的参数为字符串导致程序出现了以下错误:

Type ‘String’ does not conform to protocol ‘SignedNumberType’

7.7.2  最大值函数max()/最小值min()Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸

在编程中,经常需要计算几个参数的最大值或者最小值,此时可以使用标准函数中的max()和min()函数实现。以下是对这两个函数的详细讲解。

1.获取最大值

max()函数可以获取几个参数的最大值。其语法形式如下:

max(参数1,参数2,参数3,…)

其中,参数可以是数值,也可以是字符串或字符。

【示例7-19】以下将使用max()函数,依次获取1.9和10的最大值,13.8、20、88.88的最大值以及字符串”Hello”、”Swift”、”Zone”的最大值。代码如下:

import Foundation

let maxValue1=max(1.9,10)

let maxValue2=max(13.8,20,88.88)

let maxValue3=max(“Hello”,”Swift”,”Zone”)

println(“maxValue1=\(maxValue1)”)

println(“maxValue2=\(maxValue2)”)

println(“maxValue3=\(maxValue3)”)

在对字符串进行比较时,是对字符串中的字符进行比较。首先会判断3个字符的首字符哪个大。如果找到最大的字符,就以此字符开头的字符串为最大值;如果判断的3个首字符相同,那么在进行第二个字符的比较,以此类推。运行结果如下:

maxValue1=10.0

maxValue2=88.88

maxValue3=Zone

Program ended with exit code: 0

2.获取最小值

min()函数可以获取几个参数的最小值。其语法形式如下:

min(参数1,参数2,参数3,…)

其中,参数同样可以是数值、字符串或字符。

【示例7-20】以下将使用min()函数,获取1.9和10的最小值,获取13.8、20、88.88的最小值,字符串”Swift”、”Hello”、”iOS”的最小值。代码如下Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸:

import Foundation

let minValue1=min(1.9,10)

let minValue2=min(13.8,20,88.88)

let minValue3=min(“Swift”,”Hello”,”iOS”)

println(“minValue1=\(minValue1)”)

println(“minValue2=\(minValue2)”)

println(“minValue3=\(minValue3)”)

运行结果如下:

minValue1=1.9

minValue2=13.8

minValue3=Hello

Program ended with exit code: 0

注意:在使用max()、min()时如果是数值,比较的参数都是数值。如果是字符或者字符串,比较的参数也是字符或者字符串。不可以在一个函数中同时比较数值和字符串、字符。以下的代码将比较1.9、10和字符串”Hello”的最小值。代码如下Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸:

import Foundation

let minValue=min(1.9,10,”Hello”)

println(“minValue=\(minValue)”)

在此代码中,由于min()函数对数值和字符串进行比较,导致程序出现了以下的错误:

Extra argument in call

Swift 1.1语言标准函数绝对值函数abs() 最大值函数max()/最小值min()Swift 1.1语言快速入门大学霸

Comments are closed.