码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C数据类型、数据类型转换

时间:2015-04-02 23:59:40      阅读:687      评论:0      收藏:0      [点我收藏+]

标签:

数据类型

1.Objective-C数据类型可以分为:基本数据类型、对象数据类型和id类型。

2.基本数据类型有:int、float、double和char类型。

3.对象类型就是类或协议所声明的指针类型,例如:

    NSAutoreleasePool *pool ,其中,NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型或叫对象类型。

4.id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量可以声明pool也可以声明为id pool。

 


基本数据类型——int类型

int类型代表整数,它的十六进制表示方式:OxFFED0D.

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

 


基本数据类型——float类型

1.float类型表示代表双精度浮点数,与float类型很相似,可以在数值后面加上f或者F,例如:13.5f。float浮点数也可以用科学计数法表示,例如:1.7e4。

2.NSLog函数中格式化字符串:%f表示浮点数(会保留后面6位小数),%e表示科学计数法,%g表示浮点数。

 


基本数据类型——double类型 

1.double类型代表双精度浮点数,与float数相似,占用的字节空间double类型大体上是float类型的两倍。大多数计算机是使用64位,表示double类型。

2.NSLog函数中格式化字符串,与float的%f、%e和%g相同。

 


基本数据类型——char类型(在计算机内部以int类型存储) 

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

2.NSLog函数中格式化字符串:%c。

 


数据类型限定词:老外写的好有这些东西。

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

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

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

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

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

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

signed char(char在计算机中存的也是整数,所以有符号和无符号之分。):代表的字符和编译器有关,一般也作为无符号整数使用。

 


布尔类型(在计算机内部以int类型存储) 

布尔类型是_Bool(别名BOOL),取值范围是1或0,其中1可以用TURE和YES表示,0可以用FALSE和NO表示。

 


枚举类型(在计算机内部以int类型存储) 

如果需要定义一组相关常量,可以采用枚举类型,把这些常量定义成一个类型,例如游戏在上、下、左、右方向,可以枚举类型:enum direction{up,down,left,right}.其中,up从0开始,down是1,以此类推加1。如果不想从0开始,也可以指定初始值,如:enum direction{up=1,down,left,right}。

 

 

 



数据类型转换

 

1.谈到数据类型,就必然有数据类型转换的特点。

2.按照数据类型占用存储不同可以自动类型转换或强制类型转换,总的原则是小存储容量类型可以自动转换成大存储容量数据类型。

3.不同类型数据间按照下面关系的从左到右(从低到高)自动转换。如下:

_Bool、char、short int、枚举类型——>int——>long int——>long long int 

——>float——>double——>long double.

4.类型转换先后顺序表

技术分享

5.强制类型转换

如果遵守类型转换是右到左情况,就需要强制类型转换了。强制类型转换语法形式上很简单,就是在数据前面加上(目标类型),但是这种转换是存在风险的,有可能造成数据的丢失,需要谨慎进行。

 

Objective-C数据类型、数据类型转换

标签:

原文地址:http://www.cnblogs.com/123qw/p/4388629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!