從零開始學習Object-C---第四天(3),object-c---第四天

來源:互聯網
上載者:User

從零開始學習Object-C---第四天(3),object-c---第四天

今天首先是總結之前的資料類型:

註:id資料類型是OC的一種特殊的資料類型,可用來儲存任何資料類型,是多態和動態綁定的基礎。

開始新的講解--算術運算式

一段代碼開始今天的學習:

1 // 2 // main.m 3 // Demo5 4 // 5 // Created by lee on 14/11/6. 6 // Copyright (c) 2014年 lee. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h>10 11 int main(int argc, const char * argv[]) {12 @autoreleasepool {13 int a = 100;14 int b = 2;15 int c = 25;16 int d = 4;17 int result;18 result = a-b;19 NSLog(@"a - b = %i", result);20 21 result = b * c;22 NSLog(@"b * c = %i", result);23 24 result = a / c;25 NSLog(@"a / c = %i", result);26 27 result = a + b * c;28 NSLog(@"a + b * c = %i", result);29 30 result = a * b + c * d;31 NSLog(@"a * b + c * d = %i", result);32 }33 return 0;34 }35 輸出結果:36 2014-11-06 01:16:40.458 Demo5[651:34029] a - b = 9837 2014-11-06 01:16:40.458 Demo5[651:34029] b * c = 5038 2014-11-06 01:16:40.458 Demo5[651:34029] a / c = 439 2014-11-06 01:16:40.459 Demo5[651:34029] a + b * c = 15040 2014-11-06 01:16:40.459 Demo5[651:34029] a * b + c * d = 30041 Program ended with exit code: 0View Code

註:OC中演算法優先順序和其他語言的優先順序相同,先乘除後加減,括弧能改變計算順序

運用算數運算式的規則寫出計算機類,來實現基本的算術:

首先定義介面:包含 初始化(clear),get set方法,加(add)減(subtract)乘(mutiply)除(devide)方法定義

1 // 2 // NSObject+Calculator.h 3 // Demo5 4 // 5 // Created by lee on 14/11/6. 6 // Copyright (c) 2014年 lee. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h>10 11 @interface Calculator : NSObject12 {13 double accumulator;14 }15 //accmulator16 -(void) setAccumulator: (double) value;17 -(void) clear;18 -(double) getAccumulator;19 20 //arithetic methods21 -(void) add: (double) value;22 -(void) subtract: (double) value;23 -(void) multiply: (double) value;24 -(void) devide: (double) value;25 @endView Code

然後定義實作類別,實現介面中定義的方法

1 // 2 // NSObject+Calculator.m 3 // Demo5 4 // 5 // Created by lee on 14/11/6. 6 // Copyright (c) 2014年 lee. All rights reserved. 7 // 8 9 #import "NSObject+Calculator.h"10 11 @implementation Calculator12 -(void) setAccumulator:(double)value13 {14 accumulator = value;15 }16 17 -(void) clear18 {19 accumulator = 0;20 }21 22 -(double) getAccumulator23 {24 return accumulator;25 }26 27 -(void) add:(double)value28 {29 accumulator += value;30 }31 32 -(void) subtract:(double)value33 {34 accumulator -= value;35 }36 37 -(void) multiply:(double)value38 {39 accumulator *= value;40 }41 42 -(void) devide:(double)value43 {44 accumulator /= value;45 }46 47 @endView Code

最後方法調用以及輸出結果

1 // 2 // main.m 3 // Demo5 4 // 5 // Created by lee on 14/11/6. 6 // Copyright (c) 2014年 lee. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h>10 #import "NSObject+Calculator.h"11 12 int main(int argc, const char * argv[]) {13 @autoreleasepool {14 Calculator *deskCalc;15 deskCalc = [[Calculator alloc] init];16 17 [deskCalc clear];18 [deskCalc setAccumulator: 10];19 NSLog(@"The result id %g", [deskCalc getAccumulator]);20 [deskCalc add: 200];21 NSLog(@"The result id %g", [deskCalc getAccumulator]);22 [deskCalc devide: 15.0];23 NSLog(@"The result id %g", [deskCalc getAccumulator]);24 [deskCalc subtract: 10.0];25 NSLog(@"The result id %g", [deskCalc getAccumulator]);26 [deskCalc multiply: 5];27 NSLog(@"The result is %g", [deskCalc getAccumulator]);28 }29 return 0;30 }31 輸出結果:32 2014-11-06 00:50:19.874 Demo5[601:25952] The result id 1033 2014-11-06 00:50:19.875 Demo5[601:25952] The result id 21034 2014-11-06 00:50:19.875 Demo5[601:25952] The result id 1435 2014-11-06 00:50:19.875 Demo5[601:25952] The result id 436 2014-11-06 00:50:19.875 Demo5[601:25952] The result is 2037 Program ended with exit code: 0View Code

類和方法定義和使用參考:http://www.cnblogs.com/likun-java/p/4058448.html


怎學習object-c

去買本資料書吧,如果你學過java就簡單些了。加油
 
從零開始學初中數學一天4個半小時,3個月可以到達什水平?

~~如果 你是男生的話 理解能力按常哩 來說應該是比女生強的
~~如果你是女生的話聽了這話也不要著急~~
~~你是從零開始學的~~可是在初中以前的`如果要是用心的話 在三天之內也可以學完的 ~~## 初一和初二的最多也就是一個半星期吧~~
~~以為是一氣學的 所以關於概念的 一定要::仔細::看看
~~千萬不可大意~~ 因為這對以後的學習太重要了
~~只要你找到了 學習的重點才能學的更快
~~你大約用一個半月就可以學完初中的所有課程了
~~因為高一的課程只是些基礎知識,所以也不太難
~~在3周也可以看的差不多了~~在這時你在把初中的在看一下~~
大約用一周的時間來複習吧 ~~
你在開始學習~~高二的課程~~用一個月的時間 也可學得不錯了
~~~學完高二 也該 3個月了吧

~~~~~由於你的基礎 不紮實~~在學完以後多看看 要不白學了~~~
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.