您的位置:首页 > 移动开发 > Objective-C

OBJECTIVE-C语言基础

2013-12-02 17:00 281 查看
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

一个编译指令,它的作用是提供了一种可以清晰地给

众多的方法做组织分类的手段。

或者说,它可以帮助我们更好地组织实现代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: