Objective-C的数据类型

Objective-C数据类型可以分为:基本数据类型、对象类型和id类型。基本数据类型有:int、float、double和char类型。对象类型就是类或协议所声明的指针类型,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型。id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量pool也可以声明为id pool。本节中我们重点介绍一下基本数据类型。

1.int类型

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

2. float类型

float类型代表单精度浮点数,要表示float类型浮点数,可以在数值后面加上f或F,例如:13.5f。float浮点数也可以用科学计数法表示,例如:1.7e4。NSLog函数中格式化字符串:%f表示浮点数,%e表示科学计数法,%g表示浮点数。

3. double类型

double类型代表双精度浮点数,与float类型很相似,占用的字节空间double类型大体上是float类型的两倍。大多数计算机是用64位表示double类型。NSLog函数中格式化字符串,与float的%f、%e和 %g相同。

4. char类型

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

数据类型实例如“代码清单2-2 2.3.1-1/2.3.1-1.m”所示。

【代码清单2-1】   2.3.1-1/2.3.1-1.m

#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) { 

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 

         int integerVar = 100; 

         float floatingVar = 331.79; 

         double doubleVar = 8.44e+11; 

         char charVar = 'W'; 

         NSLog(@"integerVar = %i", integerVar); 

         NSLog(@"floatingVar = %f", floatingVar); 

         NSLog(@"doubleVar = %e", doubleVar); 

         NSLog(@"doubleVar = %g", doubleVar); 

         NSLog(@"charVar = %c", charVar); 

         [pool drain]; 

    return 0; 

}

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

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

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

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

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

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

signed char,代表的字符与编译器有关,一般也作为无符合整数使用。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索objective-c
, float
, double
, 数据类型
, 类型
, 整数
, nslog
, 字符串类型
, NSLog输出格式
, double与float
float类型
objective c 数据类型、objective c id类型、objective c 类型转换、objective c 类型判断、objective c 数据库,以便于您获取更多的相关知识。

时间: 2024-10-29 10:55:20

Objective-C的数据类型的相关文章

Objective—C语言的新魅力——Nullability、泛型集合与类型延拓

Objective-C语言的新魅力 一.引言         在Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能.这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的iOS系统,那么这些特性有什么样的用处呢,作为开发者,我保证你一定会爱上他们,如果你可以将这些新特性都应用于你的开发,你的开发效率和代码质量,相比之前,会有一个很大的提升. 二.Nullability检测的支持         在swift语言中

关于PHP中常见数据类型的汇总

 本文整理了有关于PHP中常见的数据类型,感兴趣的朋友可以参考下 PHP 数据类型    PHP 支持八种原始类型(type).    四种标量类型:  string(字符串)  integer(整型)  float(浮点型,也作 double )  boolean(布尔型)    两种复合类型:  array(数组)  object(对象)    两种特殊类型:  resource(资源)  NULL(空)    查看变量类型    通过 gettype() 函数可以方便的查看某个变量的类型:

Java基本数据类型与位运算

赋值运算符 赋值使用操作符"=".它的意思是"取右边的值(即右值),把它复制给左边(即左值)".右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名的变量.也就是说,必须有一个物理空间可以存储等号右边的值. 分类 基本数据类型 与 类数据类型 的不同 1. 对基本数据类型的赋值是很简单的.基本数据存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方. 2. 但是在为

SQL2005数据类型

SQL2005数据类型 一. 整数数据类型 1.INT 或者 INTEGER INT 类型的数据按4 个字节存储,存储范围:2^-31 ~ 2^31 2.SMALLINT SMALLINT 类型占用2 个字节, 存储范围:2^-15 ~ 2^15 3.TINYINT TINYINT数据类型存储从0 到255 之间的所有正整数.每个TINYINT类型的数据占用1 个字节的存储空间. 4.BIGINT BIGINT 类型的数据按8个字节存储,存储范围:2^-63 ~ 2^63 二. 浮点数据类型 1

ORACLE基本数据类型总结

     ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类 型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB) 两种.数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块

AMF学习1数据类型

AMF是Action Message Format协议的简称,AMF协议是Adobe公司自己的协议,主要用于数据交互和远程过程调用,在功能上相当于WebService,但是AMF与WebService中的XML不同的是AMF是二进制数据,而XML是文本数据,AMF的传输效率比XML高.AMF使用HTTP方式传输,目前主要是用于ActionScript中,即实现Flex和Server之间的通信. 我是做.Net开发的,按理说和AMF没有什么关系,主要是最近在耍一款网页游戏:纵横天下,该游戏就是采用

泛函编程(21)-泛函数据类型-Monoid

    Monoid是数学范畴理论(category theory)中的一个特殊范畴(category).不过我并没有打算花时间从范畴理论的角度去介绍Monoid,而是希望从一个程序员的角度去分析Monoid以及它在泛函编程里的作用.从这个思路出发我们很自然得出Monoid就是一种数据类型,或者是一种在泛函编程过程中经常会遇到的数据类型:当我们针对List或者loop进行一个数值的积累操作时我们就会使用到Monoid.实际上Monoid就是List[A] => A的抽象模型.好了,我们就不要越描

c c++编程-c++中 数据类型 变量名(常量) 这样的无法结构是什么意思呢?

问题描述 c++中 数据类型 变量名(常量) 这样的无法结构是什么意思呢? 这是一段c++程序,请问中间那句 double r(3.0)是什么意思?为何 3.0用括号包着?r又不是一个函数.. 解决方案 对变量的初始化的另一种形式. C++支持两种形式的初始化:1:使用赋值操作符的显示语法形式.如:int ival=1024;2: 隐式形式,初始值被放在括号中.如:int ival (1024); 解决方案二: 这样的无法结构是什么意思呢?可能是 数据类型 没有相应的构造函数,具体需要看 数据类

泛函编程(25)-泛函数据类型-Monad-Applicative

    上两期我们讨论了Monad.我们说Monad是个最有概括性(抽象性)的泛函数据类型,它可以覆盖绝大多数数据类型.任何数据类型只要能实现flatMap+unit这组Monad最基本组件函数就可以变成Monad实例,就可以使用Monad组件库像for-comprehension这样特殊的.Monad具备的泛函式数据结构内部的按序计算运行流程.针对不同的数据类型,flatMap+unit组件实现方式会有所不同,这是因为flatMap+unit代表着承载数据类型特别的计算行为.之前我们尝试了Li