免费开源的iOS开发学习平台

OC选择结构:1-if语句

对于任何程序语言来说,有能力进行判断是一项基本的特性,例如在循环语句中就需要判断何时来终止循环。Objective-C兼容了C语言的特性,所以C语言中的几种选择结构仍然适用于Objective-C语言:包括if语句、switch语句、conditional运算符。

if语句

if语句是Objective-C语言提供的具有判断能力的语言结构,通过判定所给条件的真假来选择需要执行的操作。if语句有如下几种常见的使用形式。

  • 简单if语句。if语句可以设置一个条件表达式,当条件表达式的返回结果为真时,执行特定的操作。
if (表达式)  {
  //表达式为真时执行的语句
  ...
}

例如:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 3, y = 5;
        if (x < y) {
            NSLog(@"Wecome to www.99iOS.com!");
        }
    }
    return 0;
}

  • if-else语句。if-else语句可以实现当条件表达式的返回值为真以及为假时,各自需要执行的操作。
if (表达式){
  //表达式为真时执行的语句
  ...
} else  {
  //表达式为假时执行的语句
  ...  
}

例如:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 3, y = 5;
        if (x > y) {
            NSLog(@"Wecome to www.99iOS.com!");
        } else {
            NSLog(@"欢迎访问九九学院!");
        }
    }
    return 0;
}

  • if-else if-else语句。在该形式下,可以设置多个判断条件,以及满足各个条件时需要执行的操作。
if (表达式1){
  //表达式1为真时执行的语句
  ...
}  else if (表达式2) {
 //表达式2为真时执行的语句
 ...
}  else if (表达式3) {
 //表达式3为真时执行的语句
 ...
}  ...
else {
 //以上所有表达式为假时执行的语句
 ...
} 

例如:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 4, y = 4;
        if (x < y) {
            NSLog(@"九九学院欢迎您!");
        } else if (x > y) {
            NSLog(@"学iOS就来九九学院吧!");
        } else {
            NSLog(@"www.99ios.com");
        }
    }
    return 0;
}

运行结果:

另外,if语句也是可以多层嵌套的,在多层嵌套的if语句中,每个判断条件下的语句都应该使用大括号括起来,避免发生歧义。

示例代码

https://github.com/99ios/2.4.1