object C 数据类型

简介: <p>Objective-C数据类型可以分为:基本数据类型、对象类型和id类型。基本数据类型有:int、float、double和char类型。对象类型就是类或协议所声明的指针类型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型。id类型可以表示任何类型,一般只是表示对象类型,不表示

Objective-C数据类型可以分为:基本数据类型、对象类型和id类型。基本数据类型有:int、float、double和char类型。对象类型就是类或协议所声明的指针类型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型。id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量pool也可以声明为id pool。本节中我们重点介绍一下基本数据类型。

1.int类型

int类型代表整数,它的十六进制表示方式:0xFFED0D,在使用NSLog函数中格式化字符串使用%i表示十进制的整数,%o(字母o)表示8进制整数,%#x表示十六进制整数。它的取值范围是与设备相关的,无法一概而论。

2. float类型

float类型代表单精度浮点数,要表示float类型浮点数,可以在数值后面加上f或F,例如:13.5f。float浮点数也可以用科学计数法表示,例如:1.7e4。NSLog函数中格式化字符串:%f表示浮点数,%e表示科学计数法,%g表示浮点数。

3. double类型

double类型代表双精度浮点数,与float类型很相似,占用的字节空间double类型大体上是float类型的两倍。大多数计算机是用64位表示double类型。NSLog函数中格式化字符串,与float的%f、%e和 %g相同。

4. char类型

char类型代表字符类型,存放点个字符,用单引号引用起来。例如: 'A',如果要表示一些特殊字符,要使用转义字符“\”。

数据类型实例如“代码清单2-2 2.3.1-1/2.3.1-1.m”所示。

【代码清单2-1】   2.3.1-1/2.3.1-1.m

 

 
    #import <Foundation/Foundation.h> 
     
    int main (int argc, const char * argv[]) { 
     
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
     
             int integerVar = 100; 
     
             float floatingVar = 331.79; 
     
             double doubleVar = 8.44e+11; 
     
             char charVar = 'W'; 
     
             
     
             NSLog(@"integerVar = %i", integerVar); 
     
             NSLog(@"floatingVar = %f", floatingVar); 
     
             NSLog(@"doubleVar = %e", doubleVar); 
     
             NSLog(@"doubleVar = %g", doubleVar); 
     
             NSLog(@"charVar = %c", charVar); 
     
             
     
             [pool drain]; 
     
        return 0; 
     
    } 


输出结果如下:

2011-09-16 10:30:26.921 2.3.1[707:a0f] integerVar = 100

2011-09-16 10:30:26.923 2.3.1[707:a0f] floatingVar = 331.790009

2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.440000e+11

2011-09-16 10:30:26.924 2.3.1[707:a0f] doubleVar = 8.44e+11

2011-09-16 10:30:26.924 2.3.1[707:a0f] charVar = W

Obejctive-C中数据类型可以在int、float、double和char类型前面加上限定词,限定词有:long、long long、short、unsigned和signed,这些限定词从而增强了基本类型。

·           long int,在大部分计算机中代表32位整数,在整数后面加L(或l)表示,例如:long int numberOfPoints = 131071100L,NSLog函数中格式化字符串使用%li表示;

·           long long int可以指定更加宽泛的整数类型,保证变量至少64位宽度。NSLog函数中格式化字符串使用%lli表示;

·           long double ,可以指定更加宽泛的double类型,要显示这个可以在尾部使用L(大小写)表示,1.234e+7L。NSLog函数中格式化字符串使用%Lf、%Le和%Lg表示;

·           short int用来指定存放相对小的整数,一般是占用int类型的一半。大部分计算机是16位;

·           unsigned int,告诉编译器只是接受整数,在数值之后放字母u(或U)表示,例如:0x00ffU;编写整数时候,可以将字母u(或U)和l(或L)组合起来,例如:20000UL;

signed char,代表的字符与编译器有关,一般也作为无符合整数使用。

目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
编程笔记 html5&css&js 073 JavaScript Object数据类型
编程笔记 html5&css&js 073 JavaScript Object数据类型
|
8月前
|
JavaScript 前端开发 Java
为什么使用typeof判断数据类型的时候null出来是object?
为什么使用typeof判断数据类型的时候null出来是object?
|
9月前
|
C#
C#数据类型(object)
C#数据类型(object)
81 0
|
11月前
|
存储 索引
带你读《Elastic Stack 实战手册》之20:——3.4.2.5.Object数据类型(上)
带你读《Elastic Stack 实战手册》之20:——3.4.2.5.Object数据类型(上)
|
11月前
|
项目管理 微服务
带你读《Elastic Stack 实战手册》之20:——3.4.2.5.Object数据类型(下)
带你读《Elastic Stack 实战手册》之20:——3.4.2.5.Object数据类型(下)
判断Object中数据类型(已知类型、未知类型))
判断Object中数据类型(已知类型、未知类型))
108 0
|
JavaScript 前端开发 开发者
带你读书之“红宝书”:第三章 语法基础(中)之 数据类型中部分 Object 类型
带你读书之“红宝书”:第三章 语法基础(中)之 数据类型中部分 Object 类型
67 0
带你读书之“红宝书”:第三章 语法基础(中)之 数据类型中部分 Object 类型
|
安全 Java
Java——匿名内部类、Object类、Scanner类、String类、StringBuffer类、基本数据类型包装类和数组排序
Java——匿名内部类、Object类、Scanner类、String类、StringBuffer类、基本数据类型包装类和数组排序
157 0
Java——匿名内部类、Object类、Scanner类、String类、StringBuffer类、基本数据类型包装类和数组排序
|
存储 索引
Object 数据类型— Elastic Stack 实战手册
设计索引 Mapping 时,需要设计的对象中包含对象(非数组),此时就可以使用 Object 类型来存储对象。
200 0
Object 数据类型— Elastic Stack 实战手册