Objective-C之成魔之路【5-选择结构】
• 分支语句: if-else, switch
• 循环语句: while, do-while, for
• 与程序转移有关的跳转语句: break, continue, goto
1. 条件语句 if-else
2. 多分支语句 switch
条件语句 if-else。 基本的语法形式例如以下, 当中“[] ” 中的部分能够省略。
if (boolean-expression)
statement1;
[else if (boolean-expression) statement2;]
[else statement3;]
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 (expression){
case value1 : statement1;
break;
…………
case valueN : statemendN;
break;
[default : defaultStatement; ]
}
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);
Objective-C之成魔之路【5-选择结构】的更多相关文章
- Objective-C之成魔之路【0-序章】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 C语言首创 ...
- 《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
1. 简介 fixture是pytest的一个闪光点,pytest要精通怎么能不学习fixture呢?跟着我一起深入学习fixture吧.其实unittest和nose都支持fixture,但是pyt ...
- Objective-C之成魔之路【16-使用文件】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 语言的设计 ...
- Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...
- Objective-C之成魔之路【13-预处理程序】
郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 预处理提供 ...
- Objective-C之成魔之路【19-归档】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 在Obje ...
- Objective-C之成魔之路【10-继承性】
郝萌主倾心贡献.尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 继承性是面 ...
- Objective-C之成魔之路【8-訪问成员变量和属性】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 訪问成员变 ...
- Objective-C之成魔之路【7-类、对象和方法】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...
随机推荐
- QJSON封装好的序列和还原方法
QJSON封装好的序列和还原方法 {*******************************************************}{ }{ QJSON与数据集互转 }{ }{ 版权所 ...
- 18 个最佳代码编辑器/IDE推荐
本文为开发人员收录了18个最好的代码编辑器/IDE工具,希望你会喜欢. 1) chocolatapp Chocolat是最新出现的一款强大的Mac系统文本编辑器,兼具原生的Cocoa及强大的文本编辑功 ...
- 网页中输出漂亮格式的Php数组神器
写网页的时候经常需要在页面中打印数组,但格式特别难看,看看一个html神器吧<pre>标签,能非常标准的显示数组格式 使用的时候只需要这样打印你的数组就OK了,太好用了,神器! 只需要两句 ...
- C++11常用特性的使用经验总结(转载)
C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结.本博客文章是在学习的基础上,加 ...
- C#++c1FlexGrid+帮助文档09
摘自: http://3y.uu456.com/bp-e2746s16s2d380eb62946d27-1.html C#:c1FlexGrid帮助文档:Value-MappedLists(值映射列表 ...
- MongoDB分片集群节点状态stateStr:RECOVERING解决
1.关闭一直处于RECOVERING状态的mongodb server /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo 127.0.0.1:220 ...
- Sqlite-Sqlite3中的数据类型
大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的.刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列. Sqlite使用一个 ...
- linux 遇见错误Could not get lock /var/lib/dpkg/lock
通过终端安装程序sudo apt-get install xxx时出错:E: Could not get lock /var/lib/dpkg/lock - open (11: Resource te ...
- powerdesigner里建物理模型图时choose DBMS为空怎么办?
RT 出现如下对话框,是因为需要“DBMS”的规则文件夹 点击下图文件图标,浏览,找到安装目录里面PowerDesigner 15\Resource Files\DBMS,就可以了. 在此记录一下,希 ...
- Ubuntu切换root用户权限
其实方法很简单,就是需要选对自己使用的linux系统,不同分支的系统切换root的方法不一定一样. Ubuntu切换root的方法很简单,首先一档钱管理员命令执行: sudo passwd root ...