A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卧龙小 中级黑马   /  2014-9-22 14:47  /  1296 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卧龙小 于 2014-9-22 15:39 编辑

Objective-C 的基本数据类型为 int float  double char

1.int类型
数据常量由一个或多个数字的系列组成,系类前的负号表示该值是一个负值

2.float类型
float类型可以存储包含小数位的值,要区分浮点常量,可以看是否包含小数点。可以通过NSLog %s %g 进行转换。也可以使用科学计数法。1.7e4表示 1.7* 10 4

3.double类型
double类型和float 相似,可存储的范围是float 的两倍

4.chart 类型
chart可存储当个字符。

例如:
  1. int main (int  argc,char * argv[])
  2. {
  3. @autoreleasepool{

  4.   int integerVar=100;
  5.   float floatVar=331.2;
  6.   double doubleVar=8.44e+11;
  7.   char charVar = 'W';

  8.   NSLog(@"integerVar=%i",integerVar);
  9.   NSLog(@"floatVar=%f",floatVar);
  10.   NSLog(@"doubleVar=%e",doubleVar);
  11.   NSLog(@"doubleVar=%g",doubleVar);
  12.   NSLog(@"integerVar=%c",charVar);
  13. }

  14. }  
复制代码



二 限定词
Objective-c  有以下限定词:long ,long long , short , unsigned signed
1.long
把限定词long 放在int 前面,所申明的整形变量在某些计算机上具有扩展的值域。

例子:
long int factorial;
这条语句讲factorial申明为long的整形变量,long 变量的具体范围是由系统而定,在许多系统上,int与long int具有相同的值域,而且任何一个都能存储4个字节(1个字节8位),32位宽(2,147,483,647)的整型值。long在限定整型的时候,实际相当于双精度的short。



2.long long
双长整型相当于双精度long。
例子:
long long int factorial;
变量具有特定扩展精度的双长整型变量,该扩展精度保证变量至少8个字节,具有64位的宽度

3.short
把限定词short放在int声明之前时,它告诉Objective-C编译器要声明的特定变量用来存储相当小的整数。之所以使用short变量,主要原因是对节约内存空间的考虑,当程序员需要大量内存而可用的内存量又十分有限时,比如iPhone开发的时候,就可用short变量来解决这个问题。short int占用的内存空间是常规int变量所占空间的一半。在任何情况下,确保分配给short int的空间数量不少于2个字节,16位。

4.  unsigned
顾名思义,这个最终限定词就是无符号,可放在int变量之前,当整数变量只用来存储正数的情况下使用最终限定符。以下语句
unsigned int factorial;
向编译器声明:变量factorial 只用来保存正值。通过限制整型变量的使用,使它专门存储正整数,可以扩展整型变量的精度。一般unsigned int可简写为uint。

5.signed
signed限定词可明确地告诉编译器特定变量是有符号的。它主要用在char声明前面,

简写:
将变量声明为long int,short int或unsigned int类型时,关键字int 可以省略。

long factorial;
short factorial;
unsigned  factorial;



三 ID 类型
ID 类型可以储存类型的对象,可以认为是一般对象类型,它是多态和动态邦定的基础。
例如:
id graphicObject
将 graphicObject 申明为id类型的变量,可以将 方法的返回值为 id
-(id) newObject:(int):type;
方法名为newObject,参数是type,返回值为id

基本类型和和限定词表
类型
常量实例
NSlog字符
Char
‘a’,’/n’
%c
Short int
--
%hi,%hx,%ho
Unsigned short int
--
%hu,%hx,%ho
Int
12,-97,0xFFE0,0177
%i,%x,%o
Unsigned int
12u,100U,0xFFu
%u,%x,%o
Long int
12L,-200l,0xffffL
%li,%lx,%lo
Unsigned long int
12UL,100ul,0xffeeUL
%lu,%lx,%lo
Long long int
0xe5e5c5e5LL,500ll
%lli,%llx,%llo
Unsigned long long int
12ull,0xffeeULL
%llu,%llx,%llo
Float
12.34f,3.1e-5f,
%f,%e,%g,%a
Double
12.34,3.1e-5,0x.1p3
%f,%e,%g,%a
Long double
12.34l,3.1e-5l
%Lf,%Le,%Lg
id
nil
%p



说明:
表中整数常量以0开头的表示常量为8进制,Ox开头表示16进制,数字Ox.lp3 表示16进制浮点常量,前缀为f,l(L),u(U),ll(LL)分别表示float,long,unsigned,long long 类型

1 个回复

倒序浏览
黑马的 代码 粘贴怎么这样?全是HTML
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马