回顾昨天学习内容及没解决的问题:

这两种写法暂时不知道又啥区别= = !

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语言一样啊!相关推荐

  1. c语言与python的语法区别_来自python的C语言(基本语法),从,Python,看,基础,篇

    一个学过C/C++的咸鱼,最近学起了Python,不得不说,知识还是老知识,语法也简单多了,但就是容易搞混.大致总结一下Python与C的区别,以后别张冠李戴啦,嘻嘻. Part  1.输入与输出 输 ...

  2. php语言要学多久,新手学PHP语言好学吗?PHP学习从入门到会需要多久

    参加PHP培训学习的学员都会问:新手学PHP语言好学吗?PHP学习从入门到会需要多久?专业不是计算机学生,更没有接触过PHP零基础,能学会PHP吗?下面由达内给大家介绍新手学PHP语言好学吗?PHP学 ...

  3. python学习[第十三篇] 条件和循环

    python学习[第十三篇] 条件和循环 if语句 单一if 语句 if语句有三个部分构成,关键字if本身,判断结果真假的条件表达式,以及表达式为真或非0是执行的代码 if expression: e ...

  4. Python基础学习第三天——条件控制与while循环语句

    条件控制语句 1. 条件判断语句 当今世界,很多智能设备,极大方便了我们的生活.比如某种智能空调的设定为:如果室温高于32度就自动打开.这个如果--就--的逻辑就是条件判断.而如果--就--这种最基本 ...

  5. Python学习笔记D2(条件与循环)

    Python学习笔记D2(条件与循环) 条件语句 if expression:(可以利用布尔操作符and,or,not) *****语句- elif:(else if) ***** 语句- else: ...

  6. Python基础学习(二)-条件,循环语句

    Python基础学习(二)-条件,循环语句     一,条件语句    1,if  else           if  判断条件:               执行语句...           e ...

  7. Python学习笔记五:条件循环

    文章目录 一.再谈print和import 1. 打印多个参数 2. 导入时重命名 二.赋值魔法 1. 序列解包 2. 链式赋值 3. 增强赋值 三.代码块:缩进的乐趣 四.条件和条件语句 1. 这正 ...

  8. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型

    oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...

  9. C语言/C++编程学习三种循环用法和区别

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

最新文章

  1. 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...
  2. 集美大学诚毅学院计算机科学与技术学费,集美大学诚毅学院计算机科学与技术...
  3. C/C++基础知识点(三)
  4. 计算机和电子音乐之间的关系,浅析计算机音乐中算法作曲的特点及及作曲技法的对应关系.doc...
  5. 用JavaScript获取页面上被选中的文字的技巧
  6. Introduction to Microservices
  7. java object jsonobject_JSONObject简介
  8. SGX技术与SGX攻击
  9. python xy 2.7下载_pythonxy 安装
  10. 录音软件行业调研报告 - 市场现状分析与发展前景预测
  11. php连接新浪云mysql_新浪云连接数据库php
  12. last_load_time和last_active_time的选择
  13. 一些开源的项目 收藏
  14. 极速office(Word)怎么修改纸张方向
  15. 尚书视频群活动:投资分析师笔试题
  16. 编程语言的主要类型,声明式编程,命令式编程()和函数式编程的区别
  17. Nginx中rewrite的用法详解
  18. 爬虫bing的图片,近千张,下载后自动更换为windows壁纸
  19. 从尾到头打印一个链表
  20. Swift SnapKit 自动布局

热门文章

  1. 华为机试HJ52:计算字符串的距离(动态规划)
  2. 服务器cpu支持DDR4,迟来的惊喜 AMD新处理器支持DDR4内存
  3. 基于matlab的谱估计,基于MATLAB的功率谱估计实验.doc
  4. go list指针_「GCTT 出品」Go 语言机制之内存剖析
  5. javastring转long的方法_被JDK坑的没商量?来试试这些方法吧
  6. mysql数据库技术_MySQL数据库技术(13)[组图]_MySQL
  7. 前端学习与“IT界大佬告诉你,程序员接私活的7大平台利器”
  8. 后端服务接口都在测试什么?怎么测?
  9. php自动跳转函数,迅睿CMS 重写控制网站自动跳转函数
  10. 手机上最好用的五笔输入法_聊聊手机最好用的几个功能