ObjC学习2-语法循环、条件,原来像学C语言一样啊!
2013-05-16 00:22
204 查看
回顾昨天学习内容及没解决的问题:
这两种写法暂时不知道又啥区别= = !
Fraction *mf = [[Fraction alloc] init];
Fraction *f = [Fraction new];
问了公司里的大牛得知: 两种其实都是类的初始化,而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
这两种写法暂时不知道又啥区别= = !
Fraction *mf = [[Fraction alloc] init];
Fraction *f = [Fraction new];
问了公司里的大牛得知: 两种其实都是类的初始化,而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
相关文章推荐
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
- Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合
- python学习第二篇——对python语法和循环条件语句的看法
- Python基础语法学习--条件控制与循环语句
- [Python学习] 专题二.条件语句和循环语句的基础知识
- Clojure语法学习-循环
- 学习使用vue.js(三)条件与循环 v-if、 v-for
- C++开发者快速学习Objective-C语言核心语法
- java学习之路 之 基本语法-程序流程控制-循环结构-for 循环练习题
- 【C语言学习】《C Primer Plus》第6章 C控制语句:循环
- yaml语法之 条件测试,循环,tags 介绍(8)
- java学习笔记:Java语法基础2(循环,函数,重载,数组,方法)
- c语言学习笔记之条件编译
- <<Python基础教程>>学习笔记 | 第05章 | 条件、循环和其他语句
- c语言学习--宏定义、条件编译、文件包含(就是include)
- Python基础教程学习笔记----第五章 条件、循环和其他语句
- C语言再学习 -- 循环语句
- 循环控制结构程序06 - 零基础入门学习C语言21
- [学习笔记02]条件、循环、数组