您好,登录后才能下订单哦!
Objective-C是C语言的超集,故基本类型是一样的,所以学过C语言的朋友,在面对Objective-C时也不会太陌生,毕竟数据类型是一样的,只不过对数据的处理方法不一样,那么我们就来一起学习下基本数据类型,为整个Objective-C的学习打好基础
整个数据类型如下图所示
可以看到基本的数据类型包括 ×××,字符型,浮点型,枚举型,此篇博文就主要概述这四种类型
1.×××
整型包括如下几种具体的类型
short int
int
long int
long long
最常用的就是int了,其余三种我们平时用得少,但并不是不用,
short int在内存中占16位,取值范围是-2的15次方到2得15次方,
int类型在内存中占32位,取值范围是-2的31次方到2的31次方,
long int在内存中占64位,取值范围是-2的63次方到2得63次方。
long long和long int 差不多,也是内存占64位,取值范围是-2的63次方到2得63次方。
Objective-C还允许在整型前面添加unsigned关键字,将他们变成无符号整型,而且最大值比没有unsigned还要打一倍,比如short int 的取值范围是-32768-32767 那么unsigned的取值范围是0-65535
2.字符型
字符型代表的单个字符,这个没什么要讲的了,因为学过编程的都见过并且用过,Objective-C中得字符类型只占一个字节,所以字符类型并不支持中文(中文是2个字节)
另外我们常用的转移字符也属于字符型的范畴
常用的如下
\b 退格符
\n 换行符
\r 回车符
\t 制表符
\" 双引号
\' 单引号
\\ 反斜线
这里Objective-C和C有一个区别就是Objective-C的字符类型是单引号括起来,C语言的字符类型是双引号括起来,
3.浮点型
浮点类型有三种:float,double和long double。一般情况下,float占4字节,double占8字节,long double占16字节
除非另有说明,否则,Objective-C 编译器将所有浮点常量均看作 double 值。要清楚地表示 float 常量,需要再数字的尾部添加一个 f 或 F,例如:12.8f
4.枚举型
枚举值也是编程中常用的一种数据结构,他表示变量中包含几种可能的值,例如太阳系行星的变量值有金星,水星,木星,火星,土星,地球,天王星,海王星,像这种就可以定义为枚举
具体使用方法如下
enum season {spring,summer,fall,winter}; enum season myLove=summer;
第一行表示申明一个枚举类型 ,season,它的值只包括 spring,summer,fall,winter四种,第二行的意思是,创建一个season的值,给它赋值为summer,
5.输出格式字符
Objective-C中,有一个输出的函数叫NSlog(),表示输出字符串和其他数据类型,并且可以用到“%”占位符,解释其参数。使用方法如以下代码:
int a = 56;
NSLog(@"==%d==" , a);
NSLog(@"==%9d==" , a); // 输出整数占9位
NSLog(@"==%-9d==" , a); // 输出整数占9位,并且左对齐
NSLog(@"==%o==" , a); // 输出8进制数
NSLog(@"==%x==" , a); // 输出16进制数
long b = 12;
NSLog(@"%ld" , b); // 输出long int型的整数
NSLog(@"%lx" , b); // 以16进制输出long int型的整数
double d1 = 2.3;
NSLog(@"==%f==" , d1); // 以小数形式输出浮点数
NSLog(@"==%e==" , d1); // 以指数形式输出浮点数
NSLog(@"==%g==" , d1); // 以最简形式输出浮点数
NSLog(@"==%9f==" , d1); // 以小数形式输出浮点数,并且最少占用9位
NSLog(@"==%9.4f==" , d1); // 以小数形式输出浮点数,至少占用9位,小数点共4位
long double d2 = 2.3;
NSLog(@"==%lf==" , d1); // 以小数形式输出长浮点数
NSLog(@"==%le==" , d1); // 以指数形式输出长浮点数
NSLog(@"==%lg==" , d1); // 以最简形式输出长浮点数
NSLog(@"==%9lf==" , d1); // 以小数形式输出长浮点数,并且最少占用9位
NSLog(@"==%9.4lf==" , d1); // 以小数形式输出长浮点数,至少占用9位,小数点共4位
NSString *str = @"疯狂iOS";
NSLog(@"==%@==" , str); // 输出Objective-C的字符串
NSDate *date = [[NSDate alloc] init];
NSLog(@"==%@==" , date); // 输出Objective-C对象
%f %e %g三个都是表示浮点型的输出占位符,%f表示浮点值,%e表示科学计数法,&g表示使用常用的浮点计数法还是使用科学计数法来显示浮点值。这一决定取决于指数的值:如果该值小于 -4 或大于 5,采用 %e (科学计数法)表示,否则采用 %f (浮点计数法)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。