溫故而知新
問:昨天學的是什麼!
答:不知道!
額,開玩笑。昨天我們說了數據類型與運算符(讀者:感覺和沒說一樣。。。。)
那麼啥是數據類型呢?就是數據的類型(廢話。。。),比如什麼整數、小數、字符,這樣的對數據分類的東西就叫做數據類型(就這麼簡單理解唄)
那麼啥是運算符呢?加減乘除唄,當然,這都是簡單的運算符,還有好多好多的複雜的。。。
問:那這些東西又有什麼用呢?
答:知道還在這看什麼鬼。。。。
ok,那我們下面就舉個例子來看看昨天的內容有啥用:
![其實編程一點都不難(一)之函數](http://p2.ttnews.xyz/loading.gif)
圖不重要,看下面的代碼
int a = 0;//定義一個整型變量 a 並賦值為 0
int b = 1;//定義一個整型變量 b 並賦值為 1
int c = a + b;//定義一個整型變量 c 並 賦值為 a + b
這裡的例子做了一個加法的運算,加上下面的代碼看看效果:
Console.WriteLine(c);
![其實編程一點都不難(一)之函數](http://p2.ttnews.xyz/loading.gif)
結果圖
這樣把變量的值寫死了似乎看不出效果,我們來做一個簡單的加法計算器來看看。
代碼·
/*
Console.ReadLine();
這句代碼的意思是從控制檯中讀取一個輸入字符,
也就是說,你可以在黑框框裡面打字了,但是記住了,
你從黑框框中讀取出來的數據的類型是字符串,並不是數字,
這裡有兩個例子,一個是字符串相加,另一個是數字相加,大家看看效果就知道是什麼意思了
*/
//示例1,,字符串相加,這裡將讀取出來的數據不做任何處理,直接相加
Console.WriteLine("請輸入數字1:");//在黑框框中提示輸入數字1
string str_num1 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num1
Console.WriteLine("請輸入數字2:");//在黑框框中提示輸入數字2
string str_num2 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num2
string str_result = str_num1 + str_num2;
Console.WriteLine(str_result);
//示例2,,將字符串轉為數字之後再相加,這裡將讀取出來的數據轉為整型,再進行相加
/*將字符串轉為數字的方法是:
Convert.ToInt32("這裡面放的是數字的字符串");
*/
Console.WriteLine("請輸入數字1:");//在黑框框中提示輸入數字1
str_num1 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num1
Console.WriteLine("請輸入數字2:");//在黑框框中提示輸入數字2
str_num2 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num2
int num1 = Convert.ToInt32(str_num1);
int num2 = Convert.ToInt32(str_num2);
int result = num1 + num2;
Console.WriteLine(result);
效果如下:
計算結果
這個結果裡面我們可以看出,如果是兩個字符串相加,那麼“1”+“1”得到的結果是“11”;如果是兩個數字相加,1+2=3。這是一個最最最最最簡單的例子,也可以看出不同的數據類型在進行同樣的運算的時候會得到不同的效果,這下知道數據類型和運算符有啥用了吧!!!
新的東西!函數!!!
函數!別想的和高中的那麼複雜,但是我們這裡要照顧一下那些看著數學就頭疼的同學,我們這裡就不叫函數了,我們叫它方法(其實這玩意比高中的函數還蛋疼,但是誰叫我的目的就是把新手忽悠進坑呢,是吧)。
平常我們不管做任何事都需要方法,這裡的方法也不外如是,在編程中,方法也是為了解決問題而存在的。就如同我們上文中的向控制檯輸出的方法,或是從控制檯中獲取的方法,都是這樣的方法,是為了解決某一問題而存在的解決辦法,比如:
Console.WriteLine(str_result); 這個方法就是為了解決讓黑框框顯示提示信息的問題,Convert.ToInt32(str_num2);這個方法就是為了解決將字符串轉為數字的問題
為什麼會有函數這個東西呢?
答:偷懶。
為什麼這麼說呢?我們又來舉個例子:
Console.WriteLine("請輸入數字1:");//在黑框框中提示輸入數字1
str_num1 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num1
Console.WriteLine("請輸入數字2:");//在黑框框中提示輸入數字2
str_num2 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num2
int num1 = Convert.ToInt32(str_num1);
int num2 = Convert.ToInt32(str_num2);
int result = num1 + num2;
Console.WriteLine(result);
這個裡面是使用了一些方法,比如轉數字的,比如輸入輸出的等等方法,如果說沒有方法,那這段代碼會變成什麼樣呢?
向黑框框中提示輸入數字1的第一行代碼
向黑框框中提示輸入數字1的第二行代碼
向黑框框中提示輸入數字1的第三行代碼
。。。
向黑框框中提示輸入數字1的第N行代碼
str_num1 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num1
向黑框框中提示輸入數字2的第一行代碼
向黑框框中提示輸入數字2的第二行代碼
向黑框框中提示輸入數字2的第三行代碼
。。。
向黑框框中提示輸入數字2的第N行代碼
str_num2 = Console.ReadLine();//獲取輸入的數字,並將獲取出來的值賦給變量 num2
int num1 = Convert.ToInt32(str_num1);
int num2 = Convert.ToInt32(str_num2);
int result = num1 + num2;
Console.WriteLine(result);
看到了嗎,原本一行代碼可以解決的問題,這裡就變成的很多行才能解決,而且代碼變得極!其!不!利!於!閱!讀!
所以,為了偷懶,不寫這麼多代碼,函數就誕生了!
那麼函數怎麼用呢?
返回值 函數名 (參數){
具體需要執行的代碼1;
具體需要執行的代碼2;
具體需要執行的代碼3;
具體需要執行的代碼4;
....
具體需要執行的代碼N;
}
這裡是定義函數的辦法,定義一個函數需要這麼幾個要素:
- 返回值
- 函數名
- 參數
- 函數體
這幾個都是什麼意思呢?你猜啊~
好了,加班去了,明天再寫。。。
閱讀更多 騎著豬豬的CodeMonkey 的文章