ObjC学习2-语法循环、条件,原来像学C语言一样啊!
回顾昨天学习内容及没解决的问题:
这两种写法暂时不知道又啥区别= = !
Fraction *mf = [[ Fraction alloc ] init ];
Fraction*f = [Fractionnew];
问了公司里的大牛得知: 两种其实都是类的初始化,而new出来的类必须继承于NSObject才可以调用new的方法。
好了,今天的学习记录开始。
1.像那年学C一样的循环!
for循环:
int s =0;//必须先生命初始化不然在循环里没值
for(int i =0;i<10;i++)
{
s+=i;
NSLog(@"%i %i",i,s);
}
这里S必须初始化,然后在循环里会找不到值。
嵌套循环 - NSLog不知道可不可以不用换行输出呢~
for(int i =1 ; i<=10;i++)
{
for(int k=1;k<=i;k++)
{
NSLog(@"%2i * %i = %2i",i,k,i*k);
}
}
while 循环:
bool isOk =YES;
int i = 0;
while(isOk)
{
i+=1326;
NSLog(@"%2i",i);
if(i >=13260)
{
isOk =NO;
}
}
do-while循环
isOk=YES;
do
{
i-=1326;
NSLog(@"%2i",i);
if(i==0)
{
isOk=NO;
}
}while (isOk!=NO) ;
太久没用dowhile 循环 ,while条件都不会写了。。
isOk!=NO 表示当is不为NO时程序继续执行 DW循环无论条件成立与否都至少执行一次。
break;终止循环 continue;跳过后面的代码
for(int i =1;i<=10;i++)
{
NSLog(@"%i",i);
if(i>5)
{
//continue;
break;
}
i++;
}
2.选择结果 if switch conditional
实现的类
//
// FractionIf.m
// Test
//
// Created by lenbol on 13-5-15.
// Copyright (c) 2013年 lenbol. All rights reserved.
//
#import "FractionIf.h"
@implementation FractionIf
-(void) print
{
NSLog(@" %i/%i",num1,num2);
}
-(void) setN2:(int)n2
{
num2= n2;
}
-(void) setN:(int)n
{
num1 = n;
}
-(int) num1
{
return num1;
}
-(int ) num2
{
return num2;
}
-(double) convertToNum
{
if(num2!=0)
{
return (double)num1/num2;
}else{return0.0;}
}
@end
--主程序方法
FractionIf *fif = [[FractionIfalloc] init];
FractionIf *fif2= [[FractionIfalloc] init];
[fifsetN:1];
[fifsetN2:2];
[fifprint];
NSLog(@"=");
NSLog(@"%g",[fifconvertToNum]);
//不初始化
[fif2print];
NSLog(@"=");
NSLog(@"%g",[fif2convertToNum]);
[fifrelease];
[fif2release];
结果:
2013-05-15 23:42:40.664 Test[761:c07] 1/2
2013-05-15 23:42:40.666 Test[761:c07] =
2013-05-15 23:42:40.668 Test[761:c07] 0.5
2013-05-15 23:42:40.669 Test[761:c07] 0/0
2013-05-15 23:42:40.670 Test[761:c07] =
2013-05-15 23:42:40.671 Test[761:c07] 0
复合条件:
for(int i =0 ;i<100;)
{
NSLog(@"%i",i);
if(i>0&&i<50)
{
i++;
}
i++;
}
注:在50之前i每次循环+2
一道经典的题目:计算闰年!
//计算闰年
int year = 2005;
if((year%4==0 && year%100!=0) ||year%400==0)
{
NSLog(@"it's a leap year");
}else
{
NSLog(@"not~");
}
嵌套IF
在本类定义一个新方法
-(bool) testY
{
return YES;
}
主程序调用 : self 难道是调用自身方法? 好像发现一个相当于别的语言的this的东西,不知和this有啥区别 *
if([self testY] ==YES)
{
NSLog(@"1y");
if([self testY] !=YES)
{
NSLog(@"2y");
}
else
{
NSLog(@"2n");
}
}
else
{
NSLog(@"1n");
}
else if :
if([selftestY]!=YES)
{
NSLog(@"1y");
}
else if([selftestY]==YES||[selftestY]!=YES)
{
NSLog(@"else if y");
}
else
{
NSLog(@"2n");
}
*条件冲突时取前面
switch:
bool ok = ![selftestY];
switch (ok) {
case YES :
NSLog(@"1326");
break;
case NO:
NSLog(@"8023");
break;
default:
break;
}
int i = 3;
switch (i) {
case 1:
NSLog(@"1326");
break;
case 2:
NSLog(@"8023");
break;
default:
NSLog(@"none");
break;
}
用bool类型做switch条件时会有一个warning~
传说中的三元运算符 :
int n1 =1;
n1 = (n1>0)?10:20;
NSLog(@"%i",n1);
结果:10
ObjC学习2-语法循环、条件,原来像学C语言一样啊!相关推荐
- c语言与python的语法区别_来自python的C语言(基本语法),从,Python,看,基础,篇
一个学过C/C++的咸鱼,最近学起了Python,不得不说,知识还是老知识,语法也简单多了,但就是容易搞混.大致总结一下Python与C的区别,以后别张冠李戴啦,嘻嘻. Part 1.输入与输出 输 ...
- php语言要学多久,新手学PHP语言好学吗?PHP学习从入门到会需要多久
参加PHP培训学习的学员都会问:新手学PHP语言好学吗?PHP学习从入门到会需要多久?专业不是计算机学生,更没有接触过PHP零基础,能学会PHP吗?下面由达内给大家介绍新手学PHP语言好学吗?PHP学 ...
- python学习[第十三篇] 条件和循环
python学习[第十三篇] 条件和循环 if语句 单一if 语句 if语句有三个部分构成,关键字if本身,判断结果真假的条件表达式,以及表达式为真或非0是执行的代码 if expression: e ...
- Python基础学习第三天——条件控制与while循环语句
条件控制语句 1. 条件判断语句 当今世界,很多智能设备,极大方便了我们的生活.比如某种智能空调的设定为:如果室温高于32度就自动打开.这个如果--就--的逻辑就是条件判断.而如果--就--这种最基本 ...
- Python学习笔记D2(条件与循环)
Python学习笔记D2(条件与循环) 条件语句 if expression:(可以利用布尔操作符and,or,not) *****语句- elif:(else if) ***** 语句- else: ...
- Python基础学习(二)-条件,循环语句
Python基础学习(二)-条件,循环语句 一,条件语句 1,if else if 判断条件: 执行语句... e ...
- Python学习笔记五:条件循环
文章目录 一.再谈print和import 1. 打印多个参数 2. 导入时重命名 二.赋值魔法 1. 序列解包 2. 链式赋值 3. 增强赋值 三.代码块:缩进的乐趣 四.条件和条件语句 1. 这正 ...
- oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型
oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...
- C语言/C++编程学习三种循环用法和区别
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
最新文章
- 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...
- 集美大学诚毅学院计算机科学与技术学费,集美大学诚毅学院计算机科学与技术...
- C/C++基础知识点(三)
- 计算机和电子音乐之间的关系,浅析计算机音乐中算法作曲的特点及及作曲技法的对应关系.doc...
- 用JavaScript获取页面上被选中的文字的技巧
- Introduction to Microservices
- java object jsonobject_JSONObject简介
- SGX技术与SGX攻击
- python xy 2.7下载_pythonxy 安装
- 录音软件行业调研报告 - 市场现状分析与发展前景预测
- php连接新浪云mysql_新浪云连接数据库php
- last_load_time和last_active_time的选择
- 一些开源的项目 收藏
- 极速office(Word)怎么修改纸张方向
- 尚书视频群活动:投资分析师笔试题
- 编程语言的主要类型,声明式编程,命令式编程()和函数式编程的区别
- Nginx中rewrite的用法详解
- 爬虫bing的图片,近千张,下载后自动更换为windows壁纸
- 从尾到头打印一个链表
- Swift SnapKit 自动布局
热门文章
- 华为机试HJ52:计算字符串的距离(动态规划)
- 服务器cpu支持DDR4,迟来的惊喜 AMD新处理器支持DDR4内存
- 基于matlab的谱估计,基于MATLAB的功率谱估计实验.doc
- go list指针_「GCTT 出品」Go 语言机制之内存剖析
- javastring转long的方法_被JDK坑的没商量?来试试这些方法吧
- mysql数据库技术_MySQL数据库技术(13)[组图]_MySQL
- 前端学习与“IT界大佬告诉你,程序员接私活的7大平台利器”
- 后端服务接口都在测试什么?怎么测?
- php自动跳转函数,迅睿CMS 重写控制网站自动跳转函数
- 手机上最好用的五笔输入法_聊聊手机最好用的几个功能