美文网首页
数据类型简介及输出

数据类型简介及输出

作者: 梁大大大大大壮_ | 来源:发表于2017-03-11 19:22 被阅读81次

    (1) 数据类型简介

    数据类型简介: Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型;

    --基本数据类型: 整型, 字符型, 浮点型 (float 和 double), 枚举型;

    --构造类型: 数组类型, 结构体类型, 共用体类型;

    --指针类型: 最终要的数据类型,所有的系统类, 自定义类都是指针;

    --空类型: 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;

    (2) 数据类型输出

    NSLog()简介: NSLog 是 Foundation 框架中功能强大的函数, 可以输出任何类型的数据;

    --占位符: NSLog() 函数中各式与 C 语言中大致相似, 第一个参数是加了 @ 的字符串, 后面的参数是用于替换占位符的;

    整型占位符说明:

    --%d: 十进制整数, 正数无符号, 负数有 "-" 符号;

    --%o: 八进制无符号整数, 没有 0 前缀;

    --%x: 十六进制无符号整数, 没有 0x 前缀;

    --%u: 十进制无符号整数;

    字符占位符说明:

    --%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万赋值给 该类型不报错;

    3. 字符型

    字符型数据简介:

    --单个字符表示: 使用 '' 将单个字符引起来, 便是字符常量, 如 'a', 'b' 等;

    --转义字符表示: 使用转义符号 \ 来指定字符, 如 '\n' 等;

    --字符占用空间大小: 每个字符占用一个字节, 因此 Object-C 不支持中文字符, 因为中文字符都是占 2 ~ 3 个字节;

    转义字符: 分为特殊空白字符 和 区别 单双引号 和 反斜线的转义;

    --退格符: '\b' ;

    --换行符: '\n' ;

    --回车符: '\r' ;

    --制表符: '\t' ;

    --双引号: '\"' ;

    --单引号: '\'' ;

    --反斜线: '\\' ;

    int 与 char 类型关系: char 类型可以当做 8 位无符号整数, 取值范围 0 ~ 255;

    --int 赋值给 char: 将 int 类型赋值给 char 变量的时候, 会自动将类型转为 char 类型;

    4. 浮点型

    浮点型数据类型:

    --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 得到一个非数, 非数与任何数包括其本身都不相等;

    5. 枚举类型

    (1) 定义普通枚举

    定义方式: 格式enum enum_name {elem1, elem2, elem3 ...};

    --示例: enum day{Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

    定义枚举变量: 格式enum enum_name var1, var2;

    --示例: enum day today, tomorrow, 注意 today tomorrow 两个变量的取值只能是 day 枚举中定义的值;

    枚举变量赋值: 格式variable = elm1;

    --示例: today = Sunday; tomorrow = Friday;

    (2) 定义匿名枚举

    匿名枚举格式: enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday} today, tomorrow ;

    --说明: 两个枚举变量 today 和 tomorrow 只能取值 enum 中得枚举值;

    (3) 枚举值简介

    枚举值常量: 在 {} 中得是枚举常量 或者 枚举元素, 该元素不是变量, 不能对齐进行赋值, 枚举的值按照定义的顺序 0, 1, 2, 3 以此类推;

    枚举值本质: 枚举值属于无符号整数, 可以使用 %u 占位符打印出来, 其值也能进行大小比较, 和四则运算;

    枚举初值: 枚举值可以在定义的时候赋予一个初值;

    6. 布尔型数据

    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;

    原博地址  本博仅作个人记录。

    相关文章

      网友评论

          本文标题:数据类型简介及输出

          本文链接:https://www.haomeiwen.com/subject/xslzgttx.html