iOS开发-OC语言 (一)oc数据类型
分享一套以前学习iOS开发时学习整理的资料,后面整套持续更新:
oc数据类型
数据类型:基本数据类型、指针数据类型
基本数据类型:数值型、字符型(char)、布尔型、空类型(void)
指针数据类型:类(class)、id
数值型:整数类型int、浮点型float、double
c和oc的基本数据类型
int:声明整型变量
double:声明双精度变量
float:声明浮点型变量
char:声明字符型变量
id:通用的指针类型
enum:声明枚举类型
long:声明长整型变量或函数
short:声明短整型变量或函数
signed:声明有符号类型变量
struct:声明结构体变量
union:声明共用体(联合)数据类型
unsigned:声明无符号类型变量
void:声明函数无返回值或无参数
数据类型格式化说明符
数据类型 oc关键字 格式说明引导符
整型 int %d.%i
短整型 short int %hd.%hi
长类型 long int %ld.%li
无符号短整型 unsigned int %u
无短整型 unsigned short %hu
无符号长整型 unsigned long %lu
浮点型 float %f
双精度型 double %f
长双精度型 long double %lf
字符型 char %c
具体的数据类型
整数类型
oc中整数类型用int来表示,格式化符号用%i或%d来表示
比如:int a=100;
oc语言的整型常量默认为int型,声明long型常量可以后加“l”或“L”,如:
int b=600;//long c=888888888L;
类型 占用存储空间 值域范围
Byte 1个字节 -128—127
short 2个字节 -2′15—2′15-1
int 4个字节 -2′31—2′31-1
long 8个字节 -2′63—2′63-1
注释:2‘63为2的63次方
浮点类型
浮点类型的变量可以存储包括小数的值
oc中有两种浮点类型
·float 有效数字为6-7位 格式化说明符号用%f表示
·double 有效数字为15-16位 格式化说明符号用%f.%e或%g表示
oc中浮点型常量默认为double型,如果要声明一个常量为float,在数字的后面加f或F
例如:double m=3.14159;//正确 float f=3.14f;
类型 占用存储空间 值域范围
float 4字节 -3.403E38
double 8字节 -1.798E308—1.798E
字符串char
char型数据用来表示通常意义上的“字符”,格式化说明符用%c表示
字符常量为用单引号括起来的单个字符,
例如:char achar='a';char b='0';char cChar='苹';值域范围:-128—127
"\n"、oc编译器把这个当做单个字符
unsigned char 值域范围:0~255
oc字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,
例如:char c1='\u0061';
注:Unicode是全球语言统一编码
逻辑型Boolean(布尔型)
Boolean类型指的是用于存储真值和假值的变量,一般用于程序流程控制。
Boolean类型数据允许取值true或false,也可以是0或非0的整数代替true和false,这点和java语言不同。
实例:
Boolean flag=true
if(flag)
{
NSLog(@"hello iphone");
}
限定词
·long int:声明变量XX为long的整型变量,格式化符号为¥%li,如:long int a;
·long long int:声明变量XX为long long的整型变量,格式符号位%lli,如:long long int b;
·long double:跟int基本相同;
·unsigned int:声明无符号的整型变量,如:unsigned int c;
·signed int:声明有符号的整型变量。如:signed int d。
void类型(空类型)
告诉编译器没有任何范围类型的值
不能像其他数据类型一样来声明变量
例如:void i=10;//错误
void通常与方法一起搭配使用,比如:
-(void)test
{
//code
}
id类型
id类型是oc中独有的数据类型,它可以存储任何类型的对象,从某种意义上说,它就是一般的对象类型。
·将number声明为id类型的变量,
如:id number;
·格式化说明符:%p
iOS开发-OC语言 (一)oc数据类型的更多相关文章
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- 李洪强漫谈iOS开发[C语言-043]-判断较早日期
李洪强漫谈iOS开发[C语言-043]-判断较早日期
- 李洪强漫谈iOS开发[C语言-043]-练习
李洪强漫谈iOS开发[C语言-043]-行李重量计算价格
- 李洪强漫谈iOS开发[C语言-042]-简单计算器
李洪强漫谈iOS开发[C语言-042]-简单计算器
- 李洪强漫谈iOS开发[C语言-041]-计算月份天数
李洪强漫谈iOS开发[C语言-041]-计算月份天数
- 李洪强漫谈iOS开发[C语言-040]-switch case
李洪强漫谈iOS开发[C语言-039]-switch case 补充:
- 李洪强漫谈iOS开发[C语言-039]-剪刀石头布
李洪强漫谈iOS开发[C语言-039]-剪刀石头布
- 李洪强漫谈iOS开发[C语言-038]-if else if语句
李洪强漫谈iOS开发[C语言-038]-if else if语句
- 李洪强漫谈iOS开发[C语言-037]-if else 语句
李洪强漫谈iOS开发[C语言-037]-if else 语句
- 李洪强漫谈iOS开发[C语言-044]-翻译数字
李洪强漫谈iOS开发[C语言-044]-翻译数字
随机推荐
- Asterisk 未来之路3.0_0005
原文:Asterisk 未来之路3.0_0005 第二章: Asterisk的架构 Asterisk 和其他众多传统的PBX是有区别的,拨号方案针对各种通道处理本质上采用同一种方式. 在传统的PB ...
- socket计划——一个简单的例子
从一个简单易用TCP样品开始socket计划,的基本过程例如下列: server client +++ ...
- QualityCenter的备份
1.停止QC Server:2.备份Domain repository,它囊括每个项目的大量数据(包括自动化测试数据.附件.设置和格式表单等).要想知道某个项目所使用的数据库的名字,可以在Site A ...
- validate的使用
日期和时间验证或者按照指定的格式进行验证,或者使用的标准格式指定的区域设置. 日期验证 - 验证日期转换为java.util.Date的类型. 日历验证 - 验证日期转换为java.util.Cale ...
- ExtJs之表格控件入门
extjs的表格功能非常强大,包括了排序,缓存,拖动,隐藏某一列,自动显示行号,列汇总,单元格编辑等实用功能.表格由类Ext.grid.GridPanel定义,继承自Panel,其xtype为grid ...
- IP地址爬取
ip_spider.py= = = #!/usr/bin/python # coding: utf-8 import os import sys import requests import re i ...
- C#算两个时间段相差的时间
在数据中经常算两个时间差或者在某个时间段的内容 在数据库中设计表字段类型的时候设计为varchar类型,然后进行可以再Sql语句中书写>=或者<=这样的进行比较就可以查询出某个时间段的内容 ...
- 【IOS开发】搜索和排序(好友列表,通讯录的实现,searchbar)
一.效果图: 二.概述 实现一个好友列表,可以分为男女两个选项,并且实现搜索和排序功能.我的数据是放在plist文件中. 三.代码简述 代码结构如图,首先自定义一个Cell. cell.h #impo ...
- nginx 重定向到index.php
location /keywords { index index.php; try_files $uri $uri/ /keywords/i ...
- DeviceIoControl方式 sys和exe通信
常识: IRP:I/O Request Package 即输入输出请求包 exe和sys通信时,exe会发出I/O请求.操作系统会将I/O请求转化为相应的IRP数据, 不同类型传递到不同的d ...