温馨提示×

温馨提示×

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

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

Objective-C基础之基本数据类型

发布时间:2020-07-22 06:59:22 来源:网络 阅读:650 作者:hlr18100403 栏目:开发技术

  Objective-C是C语言的超集,故基本类型是一样的,所以学过C语言的朋友,在面对Objective-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 (浮点计数法)。

向AI问一下细节

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

AI