Objective-C之成魔之路【5-选择结构】

郝萌主倾心贡献。尊重作者的劳动成果,请勿转载。

假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主。捐赠数额任意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源代码下载:点我传送


Objective-C中的控制语句有下面几类: 
• 分支语句: if-else, switch
• 循环语句: while, do-while, for
• 与程序转移有关的跳转语句: break, continue, goto

对于不论什么程序语言来说,有能力进行推断是一项基本特性。


if-else语句
分支语句提供了一种控制机制, 使得程序的运行能够跳过某些语句不运行, 而转去运行特定的语句。 
1. 条件语句 if-else
2. 多分支语句 switch
条件语句 if-else。 基本的语法形式例如以下, 当中“[] ” 中的部分能够省略。

 

if (boolean-expression)
    statement1;
[else if (boolean-expression) statement2;]
[else statement3;]


举比例如以下:
int number1 = 0;
int number2 = 1;
int max = 0;
if (number1 > number2) {
max = number1;
} else {
max = number2;
}
// 打印最大值max
NSLog(@"The maximum is %i ", max);

对于if语句。以下的代码非常有价值:

int numerator;

int denominator;

-(double) convertToNum

{

if (denominator != 0) { //这里防止分母为0非常必要

return (double) numerator /denominator;//这里double强转非常有必要,否则小数位的值就丢了。

} else {

return NAN;//这里NAN表示一个数字,这个符号被定义在系统头文件math.h中。

}

}

推断整数是否能整除2

remainder = number_to_test % 2;

if ( remainder == 0) {

//整除2

xxoo

}


最后对于if的条件表达式,要求用括号括起来,不要过度依赖于优先级

尽量预測程序可能失败或产生非预期结果的情形。然后採取预防性措施应付这些情况。

是编写优秀而可靠的程序的必要部分。

事实上,这个条件语句,写的好不好。主要看逻辑思维缜密不缜密。


Objective-C中有两个内置的特性,能够使Boolean变量的使用更easy。

一种特性就是特殊类型BOOL。它能够用于声明值非真即假的变量。

第二种是提前定义的值YES和NO。

非零意味着满足和零意味着不满足。



switch语句
多分支语句 switch它的语法形式例如以下, 当中“[]”中的部分能够省略。

 

switch (expression){
     case value1 : statement1;
    break;
    …………
     case valueN : statemendN;
    break;
    [default : defaultStatement; ]
   }

举比例如以下:
int score = 0;
scanf("%i", &score);
int scoreVal = score / 10;
char resChar = ' ';
switch (scoreVal ) {
case 9:
resChar = 'A';
break;
case 8:
resChar = 'B';
break;
case 7:
resChar = 'C';
break;
case 6:
resChar = 'E';
break;
default :
resChar = 'F';
}
NSLog(@"你的分数是: %c", resChar);

使用 switch语句一定要注意的是: 
表达式expression的返回值类型必须是整数或可以自己主动转换成整数的类型都可以, 
因此能够是_Bool、 char、 short int、 枚举类型、 int、 long int、 longlong以及它们的无符号类型等。 
但不能是float和double等浮点类型。

case子句中的值valueN必须是常量, 并且全部case子句中的值应是不同的。 
default子句是可选的。
break语句用来在运行完一个case分支后, 使程序跳出switch语句, 
即终止switch语句的运行。

 

在一些特殊情况下。 多个不同的case值要运行一组同样的操作。 这时能够不用 break。
原文地址:https://www.cnblogs.com/jhcelue/p/7284881.html