温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

object C 数据类型

发布时间:2020-06-18 00:03:06 来源:网络 阅读:970 作者:tony关东升 栏目:移动开发

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

1.int类型

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

2. float类型

float类型代表单精度浮点数,要表示float类型浮点数,可以在数值后面加上fF,例如:13.5ffloat浮点数也可以用科学计数法表示,例如:1.7e4NSLog函数中格式化字符串:%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

 

  1. #import <Foundation/Foundation.h> 
  2.  
  3. int main (int argc, const char * argv[]) { 
  4.  
  5.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
  6.  
  7.          int integerVar = 100; 
  8.  
  9.          float floatingVar = 331.79; 
  10.  
  11.          double doubleVar = 8.44e+11; 
  12.  
  13.          char charVar = 'W'
  14.  
  15.          
  16.  
  17.          NSLog(@"integerVar = %i", integerVar); 
  18.  
  19.          NSLog(@"floatingVar = %f", floatingVar); 
  20.  
  21.          NSLog(@"doubleVar = %e", doubleVar); 
  22.  
  23.          NSLog(@"doubleVar = %g", doubleVar); 
  24.  
  25.          NSLog(@"charVar = %c", charVar); 
  26.  
  27.          
  28.  
  29.          [pool drain]; 
  30.  
  31.     return 0; 
  32.  

输出结果如下:

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中数据类型可以在intfloatdoublechar类型前面加上限定词,限定词有:longlong longshortunsignedsigned,这些限定词从而增强了基本类型。

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

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

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

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI