C#的初学知识点
初學(xué)C#
?初見Hello,World
第一句源代碼:Console.WriteLine("Hello,World");;
認(rèn)識.Net;
編譯工具:Visual Studio;
主函數(shù):Public static void main(string[] args);
輸出語句:Console.WriteLine("Hello,world");
?變量和數(shù)據(jù)類型
數(shù)據(jù)類型:常見的C#數(shù)據(jù)類型:char.string.int.double
變量:變量的語法:數(shù)據(jù)類型+空格+變量名+“;”;變量的賦值:變量名+“=”+數(shù)據(jù)+“;”
變量的命名:語法:數(shù)據(jù)類型+空格+名稱
變量的使用技巧:變量的三要素:數(shù)據(jù)類型、變量名、變量值
數(shù)據(jù)的運算:double類型和int類型運算,返回類型為double
字符串運算:字符串運算的方式是拼接;拼接符號:“+”
輸入語句:內(nèi)容:Console.ReadLine();
類型轉(zhuǎn)換:任何類型轉(zhuǎn)換到string: 待轉(zhuǎn)換的數(shù)據(jù).ToString();
數(shù)字類型:整數(shù)用int,實數(shù)用double
11轉(zhuǎn)義符“\”:··以反斜線"\"開頭,后跟一個或幾個字符
代碼注釋:單行注釋,多行注釋和文檔注釋
軟件中的錯誤及調(diào)試:編譯錯誤,運行錯誤和邏輯錯誤
?運算符和表達(dá)式
認(rèn)識運算符:一目運算符、二目運算符、三目運算符
小括號:類型轉(zhuǎn)換、改變運算順序、函數(shù)調(diào)用
算術(shù)運算符:
變量名++(--):1.計算返回結(jié)果,與變量相同;2.將變量的值增加1
++(--)變量名:1.計算返回結(jié)果,變量值加1;2.將變量的值增加1
賦值運算符:?=;+=;-=;/=;%=
邏輯運算符:true和false
三目運算符:判斷條件?操作數(shù)1:操作數(shù)2
表達(dá)式:int a=1+2
運算符優(yōu)先級:優(yōu)先級越高的運算符,會優(yōu)先得到執(zhí)行
健康計算器:
while(true){//完成所有的提示工作并存入輸入的變量;Console.WriteLine("請輸入你的性別(男或女):");string input = Console.ReadLine();if (input == "男" || input == "女"){Console.WriteLine("請輸入你的身高(厘米):");double height = double.Parse(Console.ReadLine());Console.WriteLine("請輸入你的體重(千克):");double weight = double.Parse(Console.ReadLine());//計算標(biāo)準(zhǔn)體重double standarWeigtht = input == "男" ? (height - 80) * 0.7 : (height - 70) * 0.6;if (weight < standarWeigtht * 0.9){Console.WriteLine("標(biāo)準(zhǔn)體重的范圍是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之間~");Console.WriteLine("很遺憾!您的體重偏瘦,請注意補(bǔ)充營養(yǎng)!");}else if (weight > 1.1 * standarWeigtht){Console.WriteLine("標(biāo)準(zhǔn)體重的范圍是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之間~");Console.WriteLine("很遺憾!您的體重偏胖,請注意多多鍛煉!");}else{Console.WriteLine("標(biāo)準(zhǔn)體重的范圍是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之間~");Console.WriteLine("恭喜您!您的身材很健康,請繼續(xù)保持~");}Console.ReadLine();break;}else{Console.WriteLine("別開玩笑好嘛!請重新輸入“男”或者“女”t");}}} 健康計算器?
流程控制
流程圖:功能分析和代碼書寫分離;更加專注,便與解決復(fù)雜問題
if判斷:代碼格式:if(條件1){代碼1} ? else if ?(條件2) ?{代碼2} ? else ?{代碼N}
變量作用域:在大括號內(nèi),該變量有效,大括號外無效
收益計算器:
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication1 {class Program{static void Main(string[] args){/*int sum = 0;for (int i = 1; i <= 100;i++ ) {sum += i;}Console.WriteLine(sum);*//*Console.WriteLine("請輸入一個數(shù):");int input = int.Parse(Console.ReadLine());switch(input){case 1: Console.WriteLine("星期一");break;case 2: Console.WriteLine("星期二");break;case 3: Console.WriteLine("星期三");break;case 4: Console.WriteLine("星期四");break;case 5: Console.WriteLine("星期五");break;case 6: Console.WriteLine("星期六");break;case 7: Console.WriteLine("星期日");break;default:Console.WriteLine("錯誤顯示");break;}*/Console.WriteLine("請輸入您的存款金額(萬):");double input = double.Parse(Console.ReadLine());Console.WriteLine("請輸入您要存款的時間(年):");int input2 = int.Parse(Console.ReadLine());if (input2 <= 0){Console.WriteLine("請重新輸入時間:");}if (input2 == 1){if (input <= 0){Console.WriteLine("請重新輸入金額!");}else if (input > 0 && input < 50){double money1 = input * 0.04 * 1;Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息為:" + money1 + "(萬元)");}else{double money2 = 1.1 * input * 0.04 * 1;Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息為:" + money2 + "(萬元)");}}if (input2 >= 2 && input2 <= 5){int time = (int)input2;if (input <= 0){Console.WriteLine("請重新輸入金額!");}else if (input > 0 && input < 50){double money1 = input * 0.048 * time;Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息為:" + money1 + "(萬元)");}else{double money2 = 1.1 * input * 0.048 * time;Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息為:" + money2 + "(萬元)");}}if (input2 > 5){int time = (int)input2;if (input <= 0){Console.WriteLine("請重新輸入金額!");}else if (input > 0 && input < 50){double money1 = input * 0.052 * time;Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息為:" + money1 + "(萬元)");}else{double money2 = 1.1 * input * 0.052 * time;Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息為:" + money2 + "(萬元)");}}Console.ReadLine();}} } 收益計算器Switch選擇:代碼格式:switch() ?{case 1:break; ?case 2:break;}
While循環(huán):代碼格式:while(循環(huán)條件){循環(huán)體} ?//循環(huán)體可以是任意功能,任意數(shù)量的代碼
do While循環(huán):先執(zhí)行一次循環(huán)體
for循環(huán):代碼格式:for(表達(dá)1;表達(dá)式2;表達(dá)式3) ?{ 循環(huán)體}
查找問題:簡單查找:在樣本中,依次尋找目標(biāo)數(shù)據(jù)
?數(shù)組與集合
數(shù)組:數(shù)據(jù)類型 【】 變量名 =new 數(shù)據(jù)類型【長度】
數(shù)組的定長性:長度固定不變
數(shù)組的遍歷:從數(shù)組的第一項開始,依次取完數(shù)組的所有項
交換排序:
for (int i = 0; i < arr.Length; i++){for (int j = i + 1; j < arr.Length; j++){if (arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}for (int i = 0; i < arr.Length; i++){Console.Write(arr[i]);if (i < arr.Length) { Console.Write(","); }} 交換排序數(shù)組分析器:
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication1 {class Program{static void Main(string[] args){Console.WriteLine("請輸入數(shù)組的長度:");int len = int.Parse(Console.ReadLine());int[] arr = new int[len];for (int i = 0; i < arr.Length; i++){Console.WriteLine("請輸入第" + (i + 1) + "項的值");arr[i] = int.Parse(Console.ReadLine());}Console.WriteLine("數(shù)組所有項的值為:");for (int i = 0; i < arr.Length; i++){Console.Write(arr[i]);if (i < arr.Length) { Console.Write(","); }}Console.WriteLine("\n");Console.WriteLine("數(shù)組從小到大排序后是:");for (int i = 0; i < arr.Length; i++){for (int j = i + 1; j < arr.Length; j++){if (arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}for (int i = 0; i < arr.Length; i++){Console.Write(arr[i]);if (i < arr.Length) { Console.Write(","); }}//求是否為奇數(shù)Console.WriteLine("\n");Console.WriteLine("數(shù)組里的奇數(shù)有:");for (int i = 0; i < arr.Length; i++){if (arr[i] % 2 != 0){Console.Write(arr[i]);if (i < arr.Length) { Console.Write(","); }}}Console.WriteLine("\n");Console.WriteLine("數(shù)組里的質(zhì)數(shù)有");for (int i = 0; i < arr.Length; i++){int n = arr[i];bool isFind = false;for (int j = 2; j < n; j++){if (n % j == 0){isFind = true;break;}}if (isFind == true){//bushizhishu }else{Console.Write(n);if (i < arr.Length) { Console.Write(","); }}}Console.ReadLine();}} } 數(shù)組分析器集合:不定長,占用內(nèi)存多,遍歷速度慢
數(shù)組能實現(xiàn)的所有功能,集合都能實現(xiàn)
foreach循環(huán):只能用于遍歷數(shù)組或集合
集合管理器:
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace 集合管理器 {class Program{static void Main(string[] args){List<int> numbers = new List<int>();while (true){Console.WriteLine("集合中現(xiàn)有內(nèi)容如下:");Console.WriteLine("==============================================");//顯示集合if (numbers.Count == 0){Console.WriteLine("集合中沒有元素");}else //集合的遍歷 {foreach (int item in numbers){Console.Write(item+"\t");}Console.WriteLine();//循環(huán)結(jié)束后讓光標(biāo)換行 }Console.WriteLine("==============================================");Console.WriteLine("1.添加數(shù)據(jù)");Console.WriteLine("2.刪除數(shù)據(jù)");Console.WriteLine("3.修改數(shù)據(jù)");Console.WriteLine("4.升序排序");Console.WriteLine("0.退出程序");Console.WriteLine("請選擇(0-4):");int num = int.Parse(Console.ReadLine());if(num==0){break;}else if(num==1){Console.WriteLine("請輸入要添加的數(shù)字:"); //添加數(shù)據(jù)int input=int.Parse(Console.ReadLine());numbers.Add(input);}else if(num==2){//刪除數(shù)據(jù)Console.WriteLine("請輸入要刪除的元素(相同元素只會刪除第一個):");int input=int.Parse(Console.ReadLine());numbers.Remove(input);}else if(num==3){//修改數(shù)據(jù)if(numbers.Count==0){Console.Write("集合中沒有任何數(shù)據(jù)可以修,按回車鍵繼續(xù)。。。");Console.ReadLine();}else{int maxIndex=numbers.Count-1;Console.WriteLine("請輸入你要修改的元素下標(biāo)(0-"+maxIndex+"):");int input1=int.Parse(Console.ReadLine());if(input1<0||input1>maxIndex){Console.WriteLine("輸入錯誤,下標(biāo)超出范圍,按回車鍵繼續(xù)...");Console.ReadLine();}else{Console.WriteLine("請輸入新的數(shù)據(jù):");int input2=int.Parse(Console.ReadLine());numbers[input1]=input2;}}}else if(num==4){//升序排序for (int i = 0; i<numbers.Count-1; i++){for (int j = i+1; j < numbers.Count;j++ ){if(numbers[i]>numbers[j]){int temp = numbers[i];numbers[i] = numbers[j];numbers[j] = temp;}}}}else{Console.WriteLine("請重新選擇!");}Console.Clear();//清屏 }}} } 集合管理器?
?函數(shù)
認(rèn)識函數(shù):具有獨立功能,并能通過名稱重復(fù)使用的代碼
作用域:一個變量,僅在他所定義的大括號中有效
標(biāo)識符:變量名,函數(shù)名,類名,接口名,委托名,其他
聲明帶參數(shù)的函數(shù):聲明帶參數(shù)的函數(shù):static void 函數(shù)名(參數(shù)列表){//注釋內(nèi)容}
調(diào)用帶參數(shù)的函數(shù):函數(shù)編寫時,參數(shù)為形參;函數(shù)調(diào)用 時,
參數(shù)為實參;實參的數(shù)量和類型必須和形參完全對應(yīng)
聲明帶返回值的函數(shù):static 返回類型 函數(shù)名(形參列表){//函數(shù)體}
如果一個函數(shù)不需要返回,那么它的返回類型就會void
當(dāng)代碼運行到return語句時,立即結(jié)束函數(shù)
返回return關(guān)鍵字后面的值,變量或表達(dá)式的結(jié)果
調(diào)用帶返回值的函數(shù):函數(shù)名(實參列表)
返回類型與函數(shù)聲明的返回類型一致
函數(shù)簽名:是一個函數(shù)的函數(shù)名、參數(shù)列表、返回類型的統(tǒng)稱
根據(jù)它實現(xiàn)函數(shù)調(diào)用;根據(jù)它實現(xiàn)函數(shù)體
文檔注釋:符號:///;通常寫到函數(shù)體外,用于描述函數(shù)體外的代碼
函數(shù)重載(overload):是指多個函數(shù)可以使用同一個函數(shù)名,只要他們的參數(shù)列表不同
函數(shù)的相互調(diào)用:在任意一個函數(shù)中,都可以調(diào)用其他的函數(shù)
只要代碼運行到調(diào)用函數(shù)的語句,就回去執(zhí)行調(diào)用的函數(shù)體
遞歸函數(shù):是指一個函數(shù),直接或者間接的調(diào)用自身
遞歸必須有終止條件,否則,將會出現(xiàn)無限遞歸
?
轉(zhuǎn)載于:https://www.cnblogs.com/my-B1og/p/7396180.html
總結(jié)
- 上一篇: 2017百度之星程序设计大赛 - 复赛
- 下一篇: List集合ArrayList,Link