OBJECTIVE-C语言基础

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值