iOS-打印各种类型数据

一、数据类型简介及输出

1.数据类型简介

数据类型简介 : Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型;
– 基本数据类型 : 整型, 字符型, 浮点型 (float 和 double), 枚举型;
– 构造类型 : 数组类型, 结构体类型, 共用体类型;
– 指针类型 : 最终要的数据类型, 所有的系统类, 自定义类都是指针;
– 空类型 : 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;

2.数据类型输出

NSLog()简介 : NSLog 是 Foundation 框架中功能强大的函数, 可以输出任何类型的数据;
– 占位符 : NSLog() 函数中各式与 C 语言中大致相似, 第一个参数是加了 @ 的字符串, 后面的参数是用于替换占位符的;

整型占位符说明 :
– %d : 十进制整数, 正数无符号, 负数有 “-” 符号;
– %o : 八进制无符号整数, 没有 0 前缀;
– %x : 十六进制无符号整数, 没有 0x 前缀;
– %u : 十进制无符号整数;

– %zd NSInteger
– %tu 无符号NSUInteger

字符占位符说明 :
– %c : 单个字符输出;
– %s : 输出字符串;

浮点占位符说明 :
– %f : 以小数形式输出浮点数, 默认 6 位小数;
– %e : 以指数形式输出浮点数, 默认 6 位小数;
– %g : 自动选择 %e 或者 %f 各式;

其它形式占位符 :
– %p : 输出十六进制形式的指针地址;
– %@ : 输出 Object-C 对象;

占位符附加字符 :
– l : 在整型 和 浮点型占位符之前, %d %o %x %u %f %e %g 代表长整型 和 长字符串;
– n(任意整数) : %8d 代表输出8位数字, 输出总位数;
– .n : 浮点数 限制小数位数, %5.2f 表示 5位数字 2位小数, 字符串 截取字符个数;
– - : 字符左对齐;

二、整型

1.整型类型介绍

四种整型 :
– short int : 短整型, 占16位, mac 上占 2 字节, iOS 上占 2 字节, 范围 -32768(-2^15) ~ 32767(2^15 - 1), 3万;
– int : 整型, 占32位, mac 上占 4 字节, ios 上占 4 字节, 范围 -2147483648(-2^31) ~ 2147483647(2^31 - 1), 21亿;
– long int : 长整型, 占64位, mac 上占 8 字节, ios 上占 4 字节, (-2^63) ~ (2^63 - 1), 922亿亿;
– long long : 占64位, mac 上占 8 字节, ios 上占 8 字节;

整数赋值 : 整型赋值时注意范围, 如果超出赋值范围, 会出现警告, 数据也会丢失;

2.进制介绍

八进制 十六进制赋值 : 八进制由 “0” 开头, 十六进制由 “0x” 或者 “0X” 开头;

3.无符号整型

无符号整型 : 无符号整型 第一位 不是符号位, 范围比原来要大, 例如 short int 范围是 正负3万, unsigned short int 范围是 0到6万, 将5万赋值给 该类型不报错;

三、字符型

字符型数据简介 :
– 单个字符表示 : 使用 ” 将单个字符引起来, 便是字符常量, 如 ‘a’, ‘b’ 等;
– 转义字符表示 : 使用转义符号 \ 来指定字符, 如 ‘\n’ 等;
– 字符占用空间大小 : 每个字符占用一个字节, 因此 Object-C 不支持中文字符, 因为中文字符都是占 2 ~ 3 个字节;

转义字符 : 分为特殊空白字符 和 区别 单双引号 和 反斜线的转义;
– 退格符 : ‘\b’ ;
– 换行符 : ‘\n’ ;
– 回车符 : ‘\r’ ;
– 制表符 : ‘\t’ ;
– 双引号 : ‘\”’ ;
– 单引号 : ‘\” ;
– 反斜线 : ‘\’ ;

int 与 char 类型关系 : char 类型可以当做 8 位无符号整数, 取值范围 0 ~ 255;
– int 赋值给 char : 将 int 类型赋值给 char 变量的时候, 会自动将类型转为 char 类型;

四、浮点型

浮点型数据类型 :
– float : 占 4 字节;
– double : 占 8 字节;
– long double : 占 16 字节;

浮点数表示形式 :
– 十进制形式 : 简单的浮点数, 包含一个小数点, 如 3.8, 38.0, .38 等;
– 科学计数法 : 3.8E2 或者 3.8e2 代表 3.8*10^2, 只有浮点数才能使用科学计数法;

Object-C 与 Java 浮点数区别 :
– Java 浮点数 : Java 的 double 与 float 不同, 浮点数赋值给 float 需要加上 f 后缀;
– Object-C浮点数 : 不区分 double 与 float, 一个浮点数 3.8 可以赋值给两种类型的变量;

浮点数的特殊值 :
– 正无穷大 : 正浮点数除以 0.0 得到正无穷大, 正无穷大都相等, 正整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 32767(2^15 -1);
– 负无穷大 : 负浮点数除以 0.0 得到负无穷大, 负无穷大都相等, 负整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 -32768(2^15);
– 非数 : 0.0 除以 0.0 得到一个非数, 非数与任何数包括其本身都不相等;

五、布尔型数据

BOOL 类型简介 :
– BOOL 类型值 : 该类型至右两个值 YES 和 NO ;
– BOOL 类型本质 : 该类型本质是 signed char, YES 是 1, NO 是 0, 在处理的时候 YES 会被当成真处理, NO 会被当成假处理;

BOOL 类型赋值 :
– BOOL 类型判断 : BOOL 类型会将非 0 数字当做 YES 处理;
– 大数字赋值 : 注意 BOOL 类型只有 8 位, 赋值的时候, 只要最后8位不为0, 那么 BOOL 类型就是 YES, 如果后 8 位为0, 那么 BOOL 为 NO;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值