数据类型和常量

——–数据类型和常量——–

在Objective-C中,任何数字,单个字符或者字符串通常都称为常量。例如,数字58表示一个整型常量值。字符串@”Hello World.”表示一个常量字符串对象。表达式 @5 表示一个常量数字对象。

每个值无论是字符、整数还是浮点数字,都有与其对应的值域。这个值域与系统为特定类型的值分配的内存量有关。一般来说,在语言中没有规定这个量,他通常依赖于所运行的计算机,因此,叫做设备和机器相关量。例如,一个整数可在计算机上占用32位,或者64位存储。如果使用64位存储,整型变量将会存储比64为更大的数值。

int :

      int类型变量只能用于保存整型值,也就是不包含小数位数的值。整数常量有一个或多个数字的序列组成。序列前的正号/负号表示该值是一个正数/负数。数字中间不允许插入空格,并且不能使用逗号。

float :

    float类型的变量可以存储浮点数,也就是包含小数位数的值。浮点常量也能用所谓的科学计数法来表示。值 1.7e4 表示 1.7 x 104

double :

    double类型和float类型一样,通常,double类型的变量可存储的范围大概是float类型的两倍。

char :

      char数据类型可存储单个字符,将字符串放入一对单引号中就能得到字符常量。因此, ‘a’ 、 ‘;’ 和 ‘0’ 都是合法的字符常量。第一个表示字母 a,第二个表示分号,第三个表示字符0,他不等同于数字0。字符常量是放在单引号中的单个字符,而字符串则是放在双引号中的任意个数字符。前面有@字符并且放在双引号中的字符串是NSString字符串对象。字符常量 ‘\n’ (即换行符) 是一个特殊的但是合法的字符常量,编译器是将字符 ‘\n’ 看做是单个字符的。其他特殊字符也是一反斜杠字符开头的。

限定词 : long 、 long long 、short 、unsigned 及 signed

    long : 如果直接把限定词 long 放在 int 声明之前,那么所声明的整型变量在某些计算机上具有拓展的值域(即能保存更大的数值)。 long 变量的具体范围也是由具体的计算机系统决定的。short : 把限定词 short 放在 int 声明之前,它将告诉 OC 编译器要声明的特定变量用来存储相当小的整数。之所以使用 short 变量 ,主要是对于节约内存空间的考虑。unsigned : unsigned 是在整数变量只用来存储正整数的时候来使用的。

枚举数据类型:

Objective – C 编译器实际上将枚举类型当做整型常量来处理。不参加内存的占用和释放 枚举定义变量即可直接使用,不用初始化.枚举数据类型的定义以关键字 enum 开头,之后是枚举数据类型的名称,然后是标识符序列(包含在一对大括号内),定义了所有允许给这个类型指派的值。(例: enum flag {false , true}; )定义枚举数据类型时,也允许有所变化:可以省略数据类型的名称,定义类型可以将变量声明为特定枚举数据类型中的一个。(例: enum { value1 , value2 , value3 }Identifier; ) 。定义了一个未命名的枚举数据类型。

typedef 语句:

通过 typedef 语句, Objective – C 编译器允许编程者为数据类型另外指派一个名称。(例: typedef int Counter ; 定义名称 Counter 等价于 Objective-C 数据类型 int。 在随后的变量就可以声明成 Counter 类型,效果会与 int 类型相等)

typedef 与 枚举 结合:

typedef enum {//以下是枚举成员    TestA = 0,       TestB,      TestC,      TestD }Test;//枚举名称亦可以如下定义(推荐:结构比较清晰):typedef NS_ENUM(NSInteger, Test1) {//以下是枚举成员    Test1A = 0,    Test1B = 1,    Test1C = 2,    Test1D = 3};枚举的定义还支持位运算的方式定义,如下: 等于号后面必须等于1typedef NS_ENUM(NSInteger, Test) {    TestA = 1, //1 1 1    TestB = 1 << 1, //2 2 10 转换成 10进制 2    TestC = 1 << 2, //4 3 100 转换成 10进制 4    TestD = 1 << 3, //8 4 1000 转换成 10进制 8    TestE = 1 << 4 //16 5 10000 转换成 10进制 16};

我要准备好行李启程了,谢谢关心我的家人和朋友,

数据类型和常量

相关文章:

你感兴趣的文章:

标签云: