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

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

我要捐赠: 点击捐赠

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。

Objective-C之成魔之路【5-选择结构】的更多相关文章

  1. Objective-C之成魔之路【0-序章】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 C语言首创 ...

  2. 《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖

    1. 简介 fixture是pytest的一个闪光点,pytest要精通怎么能不学习fixture呢?跟着我一起深入学习fixture吧.其实unittest和nose都支持fixture,但是pyt ...

  3. Objective-C之成魔之路【16-使用文件】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 语言的设计 ...

  4. Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...

  5. Objective-C之成魔之路【13-预处理程序】

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 预处理提供 ...

  6. Objective-C之成魔之路【19-归档】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 在Obje ...

  7. Objective-C之成魔之路【10-继承性】

    郝萌主倾心贡献.尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 继承性是面 ...

  8. Objective-C之成魔之路【8-訪问成员变量和属性】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 訪问成员变 ...

  9. Objective-C之成魔之路【7-类、对象和方法】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...

随机推荐

  1. MySQL 连接错误Can't connect to MySQL server on (61)

    链接数据库时忽然遇到一个问题.Mac Navicat链接时报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (61). PS. win版Navicat ...

  2. 通过pl/sql计算程序的运行时间

    在sqlplus中运行sql语句或者pl/sql的时候如果需要统计运行的时间,只需要开启set timing on选项即可. SQL> set timing onSQL>SQL> s ...

  3. 通配置文件的方式控制java.util.logging.Logger日志输出

    转自:http://zochen.iteye.com/blog/616151 简单的实现了下利用JDK中类java.util.logging.Logger来记录日志.主要在于仿照log4j方式用配置文 ...

  4. google的开源项目总结

    转自http://www.feng5166.com/blog/424.html google的开源项目值得我们一用的,这些项目很有意义,甚至可以直接用在我们自己的工作上!学习编程的的一个比较好的方式就 ...

  5. 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。

    客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值.     无论是什么的html控件,只要加上了runat="server" ...

  6. Unity3D新手教学,让你十二小时,从入门到掌握!(一) [转]

    http://blog.csdn.net/aries_h/article/details/47307799 版权声明:本文为Aries原创文章,转载请标明出处.如有不足之处欢迎提出意见或建议,联系QQ ...

  7. ubuntu中文设置方法

    1.首先打开ubuntu设置(右上角的齿轮),或者直接在左面找到设置,如下图所示. 2.然后点[language support]设置,如下图所示. 3.在弹出的窗口再点击[install]设置操作, ...

  8. Git 思想和工作原理

    从根本上来讲,Git是一个内容寻址文件系统,并在此之上提供了一个版本控制系统的用户界面,它是一个非常强大且易用的工具,理解Git的工作原理,能够帮助我们更容易学习和使用Git. 本文不会像书籍里那样, ...

  9. BS中保存参数

    开发中经常需要将值存起来,当点击某一项时以便知道点击了哪一项. 一:应用JS页面跳转(牛腩中讲到) HTML: <td class="txt c"><a href ...

  10. 安装PIL的坑

    今天在centos中使用pip安装PIL死活不成功,报错: Could not find a version that satisfies the requirement PIL (from vers ...