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]-翻译数字
随机推荐
- 【通过操作指针,与指针做函数參数'实现字串在主串中出现的次数,然后将出现的部分依照要求进行替换
】
#include<stdio.h> #include<stdlib.h> int strTime(const char *str1, const char *str2, int ...
- fullCalendar:中文API
1.与google日历连接,别忘记加入<script type='text/javascript' src='js/gcal.js'/> events: $.fullCalendar.gc ...
- C#编程实践–产假方案优化版
前言 既然作为一个踏踏实实学习技术的人,就要有一颗谦卑.虚心和追求卓越的心,我不能一次就写出很完美的代码,但我相信,踏踏实实一步一步的优化,代码就可以变得趋近完美,至少在某一个特定场景下相对完美,这和 ...
- 【转】android中TextAppearanceSpan的使用
android中TextAppearanceSpan的使用 Posted on April 17, 2011 在android中如何想word中一样对文字进行丰富的风格设置呢? TextAppeara ...
- jQuery百叶窗图片滑块
超酷的jQuery百叶窗图片滑块实现教程 今天我们要来分享一款基于jQuery的百叶窗焦点图插件,也可以说是图片滑块插件.这种jQuery焦点图插件的应用非常广泛,在早些年前,我们需要用flash ...
- 【分享】史上最全的Python电子书教程资源下载
网上搜集的,点击即可下载,希望提供给有需要的人^_^ O'Reilly.Python.And.XML.pdf 2.02 MB OReilly - Programming Python 2nd. ...
- Visual Studio 2013 Use HTTPS (SSL) On Web Application Projects
公司调试HTTPS接口会用到,原文:http://www.codeproject.com/Tips/766918/Visual-Studio-Use-HTTPS-SSL-On-Web-Applicat ...
- Linux下监控磁盘空间的四个命令
无论是运行简单的Linux桌面还是大型Linux服务器,都需要了解可供应用程序使用的空间,并跟踪系统的磁盘使用情况.下面介绍四个核心命令行命令来管理Linux系统上的介质环境. 一.mount命令 m ...
- iOS基础 - Quartz 2D绘图的基本步骤
一.使用Quartz 2D绘图的基本步骤 1) 获取上下文context(绘制图形的地方) 2) 设置路径(路径是用来描述形状的) 3) 将路径添加到上下文 4) 设置上下文属性(设置颜色,线宽, ...
- linux时间校准设置,解决与本地时间不一致问题
时间安装脚本 从NTP上把时间同步到本地 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 更新本地时间 ntpdate us.pool.nt ...