企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
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变量的使用更容易。 一种特性就是特殊类型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。