第三章 类、对象和方法29-51
第四章 数据类型和表达式53-70
第五章 循环结构 72-94
第六章 选择结构 95-128
[ 对象名 方法 ];
[ 对象名 方法名:参数];
请求一个类或实例来执行某个操作时,就是在向它发送一条消息。另一种理解方式
[ 接收者 消息 ];
#import <Foundation/Foundation.h>
// -------@interface 部分--------
@interface Franction: NSObject
-(void) print;
-(void) setNumerator:(int)nNum;
-(void) setDenominator:(int)nDen;
@end
// -------@implementation 部分--------
@implementation Franction
{
int nNumerator;
int nDenominator;
}
-(void) print
{
NSLog(@"%i/%i",nNumerator, nDenominator);
}
-(void) setNumerator:(int)nNum
{
nNumerator = nNum;
}
-(void) setDenominator:(int)nDen
{
nDenominator = nDen;
}
@end
int main(int argc, char * argv[])
{
@autoreleasepool
{
Franction *myFranction;
// 创建一个分数实例
myFranction = [Franction alloc];
myFranction = [myFranction init];
// 设置分数
[myFranction setNumerator:1];
[myFranction setDenominator:3];
// 打印
NSLog(@"The Franction is:");
[myFranction print];
// 4.2以后不用 release了?
}
return 0;
}
@interface 用于描述类和类的方法
@implementation用于描述数据(类对象的实例变量存储的数据),实现接口中的声明方法
定义新类,首先告诉它的父类名。
@interface中还会列出一些元素,称为属性。
@interface NewClassName:ParentClassName
poropertyAndMethodDeclarations;
@end
约定:类名以大写字母开头,对象名如:currentEntry,方法名如:addNewEntry
- (void) setNumerator : (int) nNum;
方法类型 返回值类型 方法名称 有参数 参数类型 参数名称
第四章 数据类型和表达式53-70
id类型:可存储任何类型的对象,它是多态和动态绑定的基础,id,实例nil,NSLog用%p
第五章 循环结构 72-94
整除两个数的最大整数值。最大公约数
#import <Foundation/Foundation.h>
int main(int argc, char * argv[])
{
@autoreleasepool
{
unsigned int uNumA,uNumB,uTemp;
NSLog(@"Input two Number:");
while(EOF != scanf("%u%u",&uNumA, &uNumB))
{
while(0 != uNumB)
{
uTemp = uNumA % uNumB;
uNumA = uNumB;
uNumB = uTemp;
}
NSLog(@"最大公约数为:%u,Ctrl+Z可退出!",uNumA);
}
}
return 0;
}
第六章 选择结构
闰年判断条件:能被4整除并且不能被100整除,或者能被400整除
if ((0 == nYear%4 && 0 != nYear%100) || 0 == nYear%400)
// 就是闰年
质数
#import <Foundation/Foundation.h>
int main(int argc, char * argv[])
{
@autoreleasepool
{
int i,j;
BOOL bIsPrime = FALSE;
for(i = 2; i <= 50; ++ i)
{
bIsPrime = YES;
for(j = 2; j < i; ++ j)
{
if(0 == i % j)
{
bIsPrime = NO;
}
}
if(YES == bIsPrime)
{
NSLog(@"%i",i);
}
}
}
return 0;
}