嘿嘿,今天來的早點啦,主要有問題解決不了,希望看到的親們知道怎么整的給我說下,先謝謝哦:-D
<一>首先復習了三元表達式:即 表達式1,表達式2,表達式3;
舉例: bool result = 5 > 3 ? true : false;
<二>隨機數的產生,這個話說用的不多吧,但是還是知道的好 即:
Random r=new Random(); Int number=r.Next(1,11);產生1-10的數
這就是一方法吧,感覺挺好玩的,可以試下。
<三>然后學習了方法,我在雲和學院學習,在這老師給我們的理解是:方法就是將一堆代碼進行重用的一種機制。方法就是一段代碼,這段代碼可能有輸入的值(參數),可能會返回值。一個方法就像一個專門做這件事的人,我們調用它來做一些事情,它可能需要我們提供一些數據給它,它執行完成后可能會有一些執行結果給我們。要求的數據就叫參數,返回的執行結果就是返回值。由於我們現在了解的還不多,所以老師只能簡單的讓我們了解了···
方法的定義:看見static就是靜態方法
[訪問修飾符] [static] 返回值類型 方法名()
{
方法體;
}
今天也學習了幾個實例,但是我寫下我做的練習吧
(1)重復讓用戶輸入一個數,判斷該數是否是質數,輸入q結束?質數的判斷用方法來實現bool IsPrime(int number)
class Program { static void Main(string[] args) { Console.WriteLine("請輸入一個數字:"); int nums = int.Parse(Console.ReadLine()); IsPrime(nums); Console.WriteLine(IsPrime(nums)); Console.ReadKey(); } public static bool IsPrime(int num) { int s=2; string nums = string.Empty; bool flag = false; for (int i = 1; i < s; i++) { flag = s % i == 0; if (nums == "q") { break; } } Console.WriteLine("這是一個質數"); return false; } }
在方法IsPrime中,需要把num轉換成string,就是這句string nums = string.Empty;不知道該怎么改寫,導致最后輸出的不對,很糾結···
(2)用方法實現找出一個int類型數組中最大值和最小值
class Program { static void Main(string[] args) { int[] nums ={23, 45, 12, 3, 2, 56, 58, 46, 59, 12}; int num = Max(nums); int num0 = Min(nums); Console.WriteLine("最大的值{0}",num); Console.WriteLine("最小的值{0}", num0); Console.ReadKey(); } /// <summary> /// 最大值 /// </summary> /// <param name="arrey"></param> /// <returns></returns> public static int Max(int[] arrey) { int max = 0; for (int i = 0; i < arrey.Length; i++) { if (max < arrey[i]) { max = arrey[i]; } } return max; } /// <summary> /// 最小值 /// </summary> /// <param name="arrey"></param> /// <returns></returns> public static int Min(int[] arrey) { int min = 0; for (int i = 0; i < arrey.Length; i++) { if (min > arrey[i]) { min = arrey[i]; } } return min; } }
這個方法比較簡單,寫方法比較簡單,調用起來也沒有好多搞不清楚讓人暈的感覺。。。所以感覺自己還是需要多努力,多寫幾個方法調用練習啦···
(3)用戶只能輸入0到100之間的數寫一個方法否則提示超出范圍
class Program { static void Main(string[] args) { Console.WriteLine("請輸入一個數字:"); int num = int.Parse(Console.ReadLine()); Int(num); Console.WriteLine(num); Console.ReadKey(); } public static int Int(int integ) { if (integ < 0 || integ > 100) { Console.WriteLine("超出范圍"); } return integ; } }
這個題也沒有太難啦,所以就直接寫出來啦···
(4)將一個字符串數組輸出為|分割的形式,比如“梅西|卡卡|鄭大世”(用方法來實現此功能)
class Program { static void Main(string[] args) { string[] nums = {"梅西","卡卡","鄭大世" }; Console.WriteLine(Dividing(nums)); Console.ReadKey(); } public static string Dividing(string[] array) { string name = string.Empty; for (int i = 0; i <array.Length; i++) { name += "|" + array[i]; } return name; } }
這故事添加分隔符的,還可以啦,能寫啦,嘿嘿····
這些都是今天的練習題,明天上課老師會講的,但是我還是像現在搞懂啦,希望能夠幫我拉······
<四>方法的重載,需要注意的是:方法名相同,但是可以是方法的方法的參數個數不同或者方法的類型不同···(這個對我自己說的,在方法中,返回值類型與參數的類型沒有關系···),還有就是返回值類型不同不能定義同方法名的方法··········
舉例看下:
這些 可以看到方法的重載的實例·········
<五> 關鍵字out和ref,舉例如下:
(1)
class Program { static void Main(string[] args) { int x = 5; Add(ref x); Console.WriteLine(x); Console.ReadKey(); } static int Add(ref int x) { x++;//被賦值一份后傳進來的值 return x; }
(2)
class Program { static void Main(string[] args) { int[] Array = {1,4,5,6,7,89 }; int max; Max(Array,out max); Console.WriteLine(max); Console.ReadKey(); } static void Max(int[] Array,out int max) { int m = 0; for (int i = 0; i < Array.Length; i++) { if (Array[i] > m) { m = Array[i]; } } max = m; } }
這兩個關鍵字很重要哦(⊙o⊙)… 而且老師也告訴我們說要記得額··········今天就寫到這啦,還要好多問題要解決啦········