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

Objective-C 2.0 学习笔记四(循环结构和选择结构)

2011-10-19 16:02 609 查看

变更履历

V1.0

介绍

这一章主要学习了 OC 的循环和选择结构,这是一个两章合一的篇章。从循环和选择结构来说,OC 与 Java 语言的区别并不大。

关系运算符

OC 与 Java 的关系运算符没什么不同。

运算符含义例子
==等于count == 10
!=不等于flag != DONE
<小于a < b
>=小于等于low <= high
>大于points > POINT_MAX
>=大于等于j >= 0

循环结构 for、while、do

for

for ( init_expression; loop_condition; loop_expression)
program statement;


示例如下:

#import <Foundation/Foundation.h>

int main(int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

int n, number, triangularNumber, counter;

for ( counter = 1; counter <= 5; ++counter ) {
NSLog(@"What triangualr number do you want?");
scanf("%i", &number);

triangularNumber = 0;

for ( n = 1; n <= number; ++n )
triangularNumber += n;

NSLog(@"Triangualr number %i is %i", number, triangularNumber);
}

[pool drain];
return 0;
}


总的来说,OC 的 for 循环与 Java 没有什么区别。

while

while ( loop_condition ) {
program statement;
}


do

do {
program statement;
} while ( expression )


break

退出循环语句

continue

跳过当前循环,继续下次循环

选择结构 if、switch

if

if ( expression )
program statement




if ( expression )
program statement
else
program statement


switch

switch ( expression )
{
case value1:
program statement;
program statement;
...
break;
case value2:
program statement;
program statement;
...
break;
case valuen:
program statement;
program statement;
...
break;
default:
program statement;
program statement;
...
break;
}


Boolean 变量

// Program to generate a table of prime numbers
// second version using BOOL type and predefined values
#import <Foundation/Foundation.h>
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int p, d;
BOOL isPrime;
for ( p = 2; p <= 50; ++p ) {
isPrime = YES;

for ( d = 2; d < p; ++d )
if ( p % d == 0 )
isPrime = NO;

if ( isPrime == YES )
NSLog (@”%i ", p);
}
[pool drain];
return 0;
}


一个特殊的类型 Bool,它可以用于声明值非真即假的变量。另一种内置的值是 YES 和 NO。在程序中使用它们更易于读写。但需要注意的是,Bool 并不是真实的 Boolean 类型,它是使用预处理程序机制添加的。

条件运算符

condition ? expression1 : expression2


一个三目运算符,用法与 Java 一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: