重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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 (浮点计数法)。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。