織夢(mèng)網(wǎng)站怎么上傳友鏈大全
參考書籍:《C#邊做邊學(xué)》;
2.C#基本數(shù)據(jù)類型
2.1 變量與常量
-
變量是程序運(yùn)行過程中用于存放數(shù)據(jù)的存儲(chǔ)單元,變量的值的程序運(yùn)行過程中可以改變;
-
變量定義:
-
定義變量時(shí),必須給每個(gè)變量起名,通過變量名區(qū)分不同的變量;
-
定義變量時(shí),必須為每個(gè)變量指定數(shù)據(jù)類型,變量的類型決定了存儲(chǔ)在變量中的數(shù)值的類型;
-
變量定義語法格式:
// C#變量定義語法格式: 類型標(biāo)識(shí)符 變量名1,變量名2,變量3,...;// 變量定義示例: int iNumber1,iNumber2; float fNumber1,fNumber2; string strName,strID;
-
變量在使用前,先定義,后使用;
-
-
變量賦值:
-
變量是一個(gè)能保存某種類型的具體數(shù)據(jù)的內(nèi)存單元,可以通過變量名來訪問這個(gè)具體的內(nèi)存單元;
-
變量的賦值,是把數(shù)據(jù)保存到變量中的過程,變量賦值語法格式:
// C#變量賦值語法格式: 變量名 = 表達(dá)式;// 定義變量: int iNumber1, iNumber2; float fNumber1, fNumber2;// 賦值變量: iNumber1 = 100; iNumber2 = 200; fNumber1 = 1.23; fNumber2 = 4.56;
-
-
變量初始化:
-
在定義變量的同時(shí)對(duì)變量賦值,稱為變量的初始化,變量初始化語法格式:
// C#變量初始化語法格式: 類型標(biāo)識(shí)符 變量名 = 表達(dá)式;// 變量初始化: int iNumber1 = 100; float fNumber1 = 1.23;
-
-
常量是指那些基于可讀格式的固定數(shù)值,在程序的運(yùn)行過程中其值不可改變的;
-
聲明常量的語法格式:
// 聲明常量的語法格式: const 類型標(biāo)識(shí)符 變量名 = 表達(dá)式;// 聲明常量示例: const double PI = 3.1415926;
-
常量特點(diǎn):
-
程序中,常量只能被賦予初始值,賦予初始值后,常量的值在程序運(yùn)行過程中不允許改變,即無法對(duì)一個(gè)常量賦值;
-
定義常量時(shí),表達(dá)式中的運(yùn)算符對(duì)象只允許出現(xiàn)常量,不能有變量存在;
-
定義常量的示例:
// 正確定義常量與錯(cuò)誤定義常量示例: int iNumber1 = 100; const int iNumber2 = 200; const int iNumber3 = iNumber2 + 100; // 正確,iNumber2是一個(gè)常量; const int iNumber4 = iNumber1 + 100; // 錯(cuò)誤,iNumber1是一個(gè)變量; iNumber2 = 800; // 錯(cuò)誤,常量不允許修改;
-
2.2 基本數(shù)據(jù)類型轉(zhuǎn)換與運(yùn)算
-
基本類型轉(zhuǎn)換:把數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型,類型轉(zhuǎn)換包括隱式轉(zhuǎn)換和顯式轉(zhuǎn)換;
-
隱式轉(zhuǎn)換:隱式轉(zhuǎn)換是 C # {\rm C\#} C#默認(rèn)的以安全方式進(jìn)行的轉(zhuǎn)換,不會(huì)導(dǎo)致數(shù)據(jù)丟失,如:從小的整數(shù)類型轉(zhuǎn)換為大的整數(shù)類型,從派生類轉(zhuǎn)換為基類;
-
顯式轉(zhuǎn)換:顯式轉(zhuǎn)換即強(qiáng)制類型轉(zhuǎn)換,需要強(qiáng)制轉(zhuǎn)換運(yùn)算符,強(qiáng)制轉(zhuǎn)換會(huì)造成數(shù)據(jù)丟失;
-
隱式轉(zhuǎn)換和顯式轉(zhuǎn)換示例:
// CH02_01.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;// 隱式轉(zhuǎn)換和顯式轉(zhuǎn)換示例: namespace CH02_01 {class CH02_01{static void Main(string[] args){// 1.隱式轉(zhuǎn)換:int類型轉(zhuǎn)換為double類型;int iNumber1 = 100;double dNumber1 = iNumber1;Console.WriteLine("隱式轉(zhuǎn)換示例如下:");Console.WriteLine("轉(zhuǎn)換前的值為:" + iNumber1);Console.WriteLine("轉(zhuǎn)換后的值為:" + dNumber1 + "\n");// 2.顯式轉(zhuǎn)換// double類型轉(zhuǎn)int類型:double dNumber2 = 3.14;int iNumber2 = (int)dNumber2;Console.WriteLine("顯式轉(zhuǎn)換double類型轉(zhuǎn)int類型示例:");Console.WriteLine("(double to int)轉(zhuǎn)換前的值為:" + dNumber2);Console.WriteLine("(double to int)轉(zhuǎn)換后的值為:" + iNumber2 + "\n");// string類型轉(zhuǎn)換為其他類型:string sData1 = "584";string sData2 = "5.84";int strToInt = int.Parse(sData1);double strToDouble = double.Parse(sData2);Console.WriteLine("顯式轉(zhuǎn)換string類型轉(zhuǎn)其他類型示例:");Console.WriteLine("(string to int)轉(zhuǎn)換前的值為:" + sData1);Console.WriteLine("(string to int)轉(zhuǎn)換后的值為:" + strToInt);Console.WriteLine("(string to double)轉(zhuǎn)換后的值為:" + sData2);Console.WriteLine("(string to double)轉(zhuǎn)換后的值為:" + strToDouble + "\n");// 其他類型轉(zhuǎn)換為string類型:int iNumber3 = 584;double dNumber3 = 5.84;string intToStr = iNumber3.ToString();string doubleToStr = dNumber3.ToString();Console.WriteLine("其他類型轉(zhuǎn)換為string類型示例:");Console.WriteLine("(int to string)轉(zhuǎn)換前的值為:" + iNumber3);Console.WriteLine("(int to string)轉(zhuǎn)換后的值為:" + intToStr);Console.WriteLine("(double to string)轉(zhuǎn)換前的值為:" + dNumber3);Console.WriteLine("(double to string)轉(zhuǎn)換后的值為:" + doubleToStr);}} }
-
數(shù)據(jù)的輸入與輸出
- 控制臺(tái) ( C o n s o l e ) ({\rm Console}) (Console)的輸入/輸出主要通過命名空間 S y s t e m {\rm System} System中的 C o n s o l e {\rm Console} Console類來實(shí)現(xiàn),提供了從控制臺(tái)讀寫字符的基本功能;
- 控制臺(tái)輸入主要通過 C o n s o l e {\rm Console} Console類的 R e a d ( ) {\rm Read()} Read()方法和 R e a d L i n e ( ) {\rm ReadLine()} ReadLine()方法實(shí)現(xiàn),控制臺(tái)輸出主要通過 C o n s o l e {\rm Console} Console類的 W r i t e ( ) {\rm Write()} Write()方法和 W r i t e L i n e ( ) {\rm WriteLine()} WriteLine()方法實(shí)現(xiàn);
- R e a d L i n e ( ) {\rm ReadLine()} ReadLine()方法用來從控制臺(tái)讀取一行數(shù)據(jù),一次讀取一行字符的輸入,且直到用戶按下 E n t e r {\rm Enter} Enter鍵才會(huì)返回, R e a d L i n e ( ) {\rm ReadLine()} ReadLine()方法不接受回車鍵, R e a d L i n e ( ) {\rm ReadLine()} ReadLine()方法沒有接收到任何輸入,或接收了無效的輸入,則 R e a d L i n e ( ) {\rm ReadLine()} ReadLine()方法返回 n u l l {\rm null} null;
- R e a d ( ) {\rm Read()} Read()方法用來從控制臺(tái)的輸入流讀取下一個(gè)字符, R e a d ( ) {\rm Read()} Read()方法一次只能從輸入流讀取一個(gè)字符,且直到用戶按下回車鍵才返回;
- W r i t e L i n e ( ) {\rm WriteLine()} WriteLine()方法是將信息輸出到控制臺(tái), W r i t e L i n e ( ) {\rm WriteLine()} WriteLine()方法在輸出信息的后面添加一個(gè)回車換行符,用來產(chǎn)生一個(gè)新行;
- W r i t e ( ) {\rm Write()} Write()方法是將信息輸出到控制臺(tái), W r i t e ( ) {\rm Write()} Write()方法在輸出信息到屏幕后不會(huì)產(chǎn)生一個(gè)新行;
2.3 項(xiàng)目實(shí)戰(zhàn)1:求解圓面積和圓周長(zhǎng)
項(xiàng)目需求: 提示用戶輸入圓的半徑,計(jì)算圓的面積和圓的周長(zhǎng),并輸出到控制臺(tái)。
項(xiàng)目代碼:
// CH02_02.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH02_02
{class CH02_02{static void Main(string[] args){// 聲明變量和常量;double circleRadius, circleArea, circleCircumference;const double PI = 3.1415926;string strInput;// 接收輸入數(shù)據(jù),轉(zhuǎn)換為浮點(diǎn)數(shù);Console.WriteLine("請(qǐng)輸入圓的半徑:");strInput = Console.ReadLine();circleRadius = double.Parse(strInput);// 計(jì)算圓的面積和圓的周長(zhǎng);circleArea = PI * circleRadius * circleRadius;circleCircumference = 2 * PI * circleRadius;// 將計(jì)算結(jié)果輸出到控制臺(tái);Console.Write("圓的面積為:{0}", circleArea + "\n");Console.WriteLine("圓的周長(zhǎng)為:" + circleCircumference);}}
}
2.4 項(xiàng)目實(shí)戰(zhàn)2:求解矩形的周長(zhǎng)和面積
項(xiàng)目需求: 已知三個(gè)不同矩形的長(zhǎng)寬,求解各矩形的周長(zhǎng)和面積,并輸出到控制臺(tái)。
項(xiàng)目代碼:
// CH02_03.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH02_03
{class CH02_03{static void Main(string[] args){// 定義不同類型的矩形的長(zhǎng)和寬;int iRecLength = 10, iRecWidth = 20;double dblRecLength = 10.1, dblRecWidth = 20.2;float fRecLength = 10.11F, fRecWidth = 20.22F;int iRecArea, iRecCircumference;double dblRecArea, dblRecCircumference;float fRecArea, fRecCircumference;// 計(jì)算不同矩形的面積和周長(zhǎng);iRecArea = iRecLength * iRecWidth;iRecCircumference = 2 * (iRecLength + iRecWidth);Console.WriteLine("圓1的長(zhǎng)為:{0},圓1的寬為:{1}", iRecLength, iRecWidth);Console.WriteLine("圓1的面積為:{0},圓1的周長(zhǎng)為:{1}", iRecArea, iRecCircumference);Console.Write("\n");dblRecArea = dblRecLength * dblRecWidth;dblRecCircumference = 2 * (dblRecLength + dblRecWidth);Console.WriteLine("圓2的長(zhǎng)為:{0},圓2的寬為:{1}", dblRecLength, dblRecWidth);Console.WriteLine("圓2的面積為:{0},圓2的周長(zhǎng)為:{1}", dblRecArea, dblRecCircumference);Console.Write("\n");fRecArea = fRecLength * fRecWidth;fRecCircumference = 2 * (fRecLength + fRecWidth);Console.WriteLine("圓3的長(zhǎng)為:{0},圓3的寬為:{1}", fRecLength, fRecWidth);Console.WriteLine("圓3的面積為:{0},圓3的周長(zhǎng)為:{1}", fRecArea, fRecCircumference);Console.Write("\n");}}
}
2.5 項(xiàng)目實(shí)戰(zhàn)3:簡(jiǎn)易計(jì)算器,計(jì)算和差積商
項(xiàng)目需求: 接收控制臺(tái)輸入,輸入兩個(gè)整數(shù),計(jì)算兩個(gè)整數(shù)的和、差、積、商,并輸出到控制臺(tái)。
項(xiàng)目代碼:
// CH02_04.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH02_04
{class CH02_04{static void Main(string[] args){// 定義變量;int iNumber1, iNumber2;int iSum, iDifference, iProduct, iQuotient;string strInput1, strInput2;Console.WriteLine("請(qǐng)輸入整數(shù)1:");strInput1 = Console.ReadLine();Console.WriteLine("請(qǐng)輸入整數(shù)2(非零):");strInput2 = Console.ReadLine();// 輸入轉(zhuǎn)換為整數(shù);iNumber1 = int.Parse(strInput1);iNumber2 = int.Parse(strInput2);// 計(jì)算兩個(gè)整數(shù)的和、差、積、商;iSum = iNumber1 + iNumber2;iDifference = iNumber1 - iNumber2;iProduct = iNumber1 * iNumber2;iQuotient = iNumber1 / iNumber2;// 將計(jì)算結(jié)果輸出到控制臺(tái);Console.WriteLine("整數(shù)的和:" + iSum);Console.WriteLine("整數(shù)的差:" + iDifference);Console.WriteLine("整數(shù)的積:" + iProduct);Console.WriteLine("整數(shù)的商:" + iQuotient);}}
}