OBJECTIVE-C语言基础

原创 2013年12月02日 17:00:13

1. OC语言的特点
Objective-C,通常写作ObjC, OC和较少用的
Objective C或Obj-C,是扩充C的面向对象编程语言。
Objective-C是静态的,强类型定义的语言。
只允许单根继承(Cocoa中的根是NSObject)。

2. 常量
程序运行过程中,值不能被改变的量称为常量。
比如1, -1.2, ‘a’等等。

3. 变量
什么是变量(Variables);
变量应该有名字,变量命名规范:
1. a-z, A-Z, 0-9, _, $;
2. 首字符不可以是数字;
3. 不可以用系统保留字;
4. 比较推荐的命名规范;
(此规范同时也适用于函数名的命名)
tip:注意变量名和变量值的区别。

4. 关键字
语言当中已经定义好的,具有特殊意义和用途的标识
符,又称保留字。
比如:
int, float, id
if, for
continue, return
interface, implementation
self, super
public, private等等

5. 数据类型
为什么要有数据类型 (data type)?
数据类型有哪些?
int, float, double, BOOL, char, NSString等;
Objective-C中特殊的数据类型:id, nil, SEL;

6. 语句
一行可以执行的代码,以分号(;)结束
比如:
int a =3;
NSString* str = [[NSString alloc]initWithFormat:@"
%@",strPara];
空语句:只有由分号“;”组成的语句。
空语句是什么也不执行的语句;
在程序中可以用空语句来做空循环体,比如:
while(YES){
;
{

 方法(一)
什么是方法?
Obj-C中的方法的声明包括以下的部分:
- 类方法或实例方法的标识;
- 方法的返回值类型;
- 方法名称;
- 方法参数的个数,顺序和类型;
例如:
- (id)initWithFrame:(CGRect)frame
+ (id)buttonWithType:(UIButtonType)buttonType

 方法(二)
和其他语言的对比
void initializeRectangle(int x1, int y1, int x2, int y2);
void initializeRectangeWithLeftUpX: (int)x1
LeftUpY: (int)y1 RightBottomX: (int)x2
RightBottomY:(int)y2;
方法调用的格式:用一对中括号括起来.

7. 运算符
常用的运算符有以下几类:
1.算术运算符 (+ - * / %)
2.关系运算符 (> < == >= <= !=)
3.逻辑运算符 (! && ||)
4.条件运算符 (? :)
5.求字节数运算符 (sizeof)
6.自增、自减运算符 (++ --)
7.赋值运算符 (=)

8. 运算符举例
1. 以下的写法有问题么?
if(i = 3){
NSLog(@”YES”);
}
2. 下面的程序输出是什么?
! int i = 3;!
! printf("%d\n", i++);
! int j = i;
! printf("%d\n", j);
! printf("%d\n", ++i);
(tip: 注意NSLog和printf)

9. @符号
1. @符号
Objective-C中大部分的关键字都是以@开头的
比如@interface, @implementation, @end, @class等等。
单纯从语法上来说,这点比较像动态编程语言。
2. @””
这个符号表示将一个C的字符串转化为Objective-C中的
字符串对象NSString.

 

NS前缀
NS来自于NeXTStep的一个软件NeXT Software;
Objective-C中不支持命名空间(namespace);
NS是为了避免命名冲突而给的前缀;
看到NS前缀就知道是Cocoa中的系统类的名字;

 

NSLOG和格式化输出
NSLog和printf的比较:
NSLog(@”%d, %f, %c, %@”,
intVar, floatVar, charVar, objectVar);
printf(”%d, %f, %c”, intVar, floatVar, charVar);

 

流程控制(一)
条件判断语句:
1. if语句
2. switch语句:
switch(表达式)

case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;
...
case 常量表达式n:语句n; break;
default :语句年+1; break;

 

流程控制 (二)
循环语句:
1. while语句
2. do while语句
3. for语句
while(YES){
NSLog(@”I love you”);
}
for(int i=1; i<3; i++){
NSLog(@”I love you”);
}

 

流程控制(三)
跳转语句:
break, continue, return
例如:
-(BOOL) test{
! for (int i=0; i<=10; i++){! !
! ! if (i==3){
! ! ! continue;
! ! }
! ! NSLog(@"%d",i);
! }
! return YES;
}
tip: break和continue的区别.

 

注释:
Objective-C中的注释有两种:
单行注释://
多行注释:/* */
程序编译时,不对注释做任何处理;
注释可以出现在程序的任何位置;

 

#pragma mark
一个编译指令,它的作用是提供了一种可以清晰地给
众多的方法做组织分类的手段。
或者说,它可以帮助我们更好地组织实现代码。

黑马程序员--Objective-C语言基础知识--面向对象

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 面向对象和面向过程思想objective-c语言是面向对象,c语言是面向过程的。面向对象和面向过程是两种不同解决...

黑马程序员--Objective-C语言基础知识--三大特性

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 封装封装就是对类内部的东西进行保护,不被外界轻易访问甚至修改。封装的好处就是变量更加安全,隐藏内部实现细节开发更...

黑马程序员--Objective-C语言基础知识--Foundation框架的常见用法

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- Foundation框架简介框架是由很多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使开发变得更容易。...

objective-c语言基础知识总结(二)[201110101650]

。类的继承[NSObject 是根类],继承之后可以用supper调用父类的方法,也可以重载方法,也可以添加新的方法 @interface classname:NSObject @end ...
  • xfflj
  • xfflj
  • 2011年10月10日 17:24
  • 167

黑马程序员--Objective-C语言基础知识--特有语法

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-分类(Category)一、 在不改变原来类模型的前提下,给类扩充方法,除了可以利用继承特性设计一个子类外,还可...

Objective-C语言基础学习日志(三)

Objective-C(学习日志三) Objective-C 类声明,定义,实例,初始化 Objective-C中,调用方法被称为发送消息 ,通知对象执行某种操作。语法如下:[shap...

objective-c语言教程

  • 2012年11月02日 13:45
  • 815KB
  • 下载

Objective-C和C语言混编的计算器

  • 2011年09月13日 12:43
  • 40KB
  • 下载

Objective-C语言--属性和实例变量

Objective-C属性和实例变量
  • AddyChen
  • AddyChen
  • 2014年09月24日 17:22
  • 13221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OBJECTIVE-C语言基础
举报原因:
原因补充:

(最多只允许输入30个字)