接上一节的数据类型,表达式。
一个long double类型的常量通常会写成像浮点数常量的样子,在末尾加上大写或者小写的L。如下:1。234e+7L
要显示一个long double型的数字,需要用到L修饰符。所以%Lf将显示一个 long double值的浮点表示法。%Le 在科学计数法的时候将显示同样的值。同样的%Lg将告诉NSLog 将在%Lf核%Le中选择。
加在int定义前面的短修饰符告诉objective-c编译器,这个变量将会存放较小的数值。使用短修饰符的是因为它是节约内存的一个重要方法。当程序需要大量内存而可用的内存量又十分有限时,内存使用方面将是一个大问题。
部分机器中,一个短int型在内存占用方面是普通int型的一半。任何情况下你都不能分配给一个短int型的低于16bits。
在objective-c中不存在将一个常量写成短int型 的方法。要显示一个短int型的变量,将字母h放在那些普通的整形变量前面。如:%hi,%ho或者%hx。另外,你可以使用任意数字字符表示短int型的数字因为在他们被当做NSLog中的参数时将被转换为数字。
你可以使用u和l的联合表示一个整形常量。如:20000UL 将告诉编译器将常量20000看做是无符号长整形。
一个整形常量将不会有U,L跟随,它对于被编译器看做是无符号整形的普通整形来说太大了。如果仍然无法装进一个long int,编译器将生成一个无符号long int。
当定义像long int ,short int,或者unsigned int之类的变量时,你可以省略int关键字。因此,无符号变量counter可以等同定义为:unsigned counter;
你同样可以将char变量定义为unsigned的。
id类型
id数据类型通常用来存放对象类型。在某种意义上,它是一个通用对象类型。举例下面一行代码将定义一个id型的变量number:
方法的返回值可以呗定义为id类型,如:
这定义了一个叫做newObject的实例方法,它只有一个叫做type的,返回类型为id的参数。
下图中列出了基础数据类型和修饰符。

算术表达式
在objective-c中,正如所有的程序语言一样,加好(+)用来计算两个值相加,减号(-)通常计算两个值之间的差,乘号(*),除号(/)也表示相应的意思。
操作优先级
你已经看到了如何在objective-c中执行一个简单的加法运算。接下来将说明减法、乘法、除法的操作。后两种运算将会拥有高的优先级。这块不多介绍了基本都相同。
下面用一个计算器类用来演示。我们准备编写一个计算器类,包含4个简单的方法。分别为加减乘除。
定义文件

实现

main函数

浙公网安备 33010602011771号