運(yùn)算符
忠告:多練才是王道
清明時(shí)節(jié)雨紛紛,狠敲代碼有大奔
中秋佳節(jié)倍思親,狂敲代碼拿年薪
知識(shí)點(diǎn)
一江掩、 算數(shù)運(yùn)算符及算術(shù)表達(dá)式
(一) 含義
算術(shù)運(yùn)算符: + - * / %(取余數(shù) 取模)
算術(shù)表達(dá)式:由算術(shù)運(yùn)算符連接起來(lái)的式子.
如:1+1 a-b(變量ab前面已聲明并賦初值)
(二) 演示
某學(xué)生三門(mén)課成績(jī)?yōu)?語(yǔ)文:90 數(shù)學(xué):80 英語(yǔ):67,編程求總分和平均分爷怀。
//演示:某學(xué)生三門(mén)課成績(jī)?yōu)?語(yǔ)文:90 數(shù)學(xué):80 英語(yǔ):67,編程求總分和平均分.
int chinese = 90;
int math = 80;
int english = 67;
int sum = chinese + math + english;
Console.WriteLine("總分是{0},平均分是{1}", chinese + math + english, (chinese + math + english) / 3);
Console.ReadKey();
(三) 優(yōu)先級(jí)
先乘除,后加減,有括號(hào)先算括號(hào)里的,相同級(jí)別的從左至右運(yùn)算
小括號(hào)可以無(wú)限制的套用,但一定要成對(duì)出現(xiàn).
int a = ((1 + 5) + 3) * 2;
輸出的結(jié)果是 18
(四) 練習(xí)
1. 練習(xí)1
定義兩個(gè)數(shù)分別為100和20钮蛛,打印出兩個(gè)數(shù)的和昂拂。
2. 練習(xí)2(作業(yè)1)
計(jì)算半徑為5的圓的面積和周長(zhǎng)并打印出來(lái).(pi為3.14)面積:pirr; Perimeter(周長(zhǎng))
3. 練習(xí)3
某商店T恤(T-shirt)的價(jià)格為35元/件,褲子(trousers)的價(jià)格為120元/條.小明在該店買(mǎi)了3件T恤和2條褲子,請(qǐng)計(jì)算并顯示小明應(yīng)該付多少錢(qián)? 打8.8折后呢受神?
int T_Shirt = 35;
int trousers = 120;
int totalMoney = 3 * T_Shirt + 2 * trousers;
Console.WriteLine("總共應(yīng)該付{0}元", totalMoney);
double dzMoney = totalMoney * 0.88;
Console.WriteLine("打88折以后,應(yīng)付{0}元", dzMoney);
Console.ReadKey();
二格侯、 數(shù)據(jù)類(lèi)型轉(zhuǎn)換
(一) 自動(dòng)類(lèi)型轉(zhuǎn)換
1. 規(guī)則
參與運(yùn)算(算術(shù)運(yùn)算和賦值運(yùn)算)的操作數(shù)和結(jié)果類(lèi)型必須一致. 當(dāng)不一致時(shí),滿(mǎn)足下面條件時(shí)鼻听,系統(tǒng)自動(dòng)完成類(lèi)型轉(zhuǎn)換 (隱式轉(zhuǎn)換)
l 兩種類(lèi)型兼容
例如:int 和 double 兼容(都是數(shù)字類(lèi)型)
l 目標(biāo)類(lèi)型大于源類(lèi)型
例如:double > int
對(duì)于表達(dá)式
l 如果一個(gè)操作數(shù)為double型樟结,則整個(gè)表達(dá)式可提升為double型
比如前面打8.8折的練習(xí)題.
求10/3商(Remainder)要想得到3.333的處理.
2. 練習(xí)
int n = 10;
double d = n;
不會(huì)報(bào)錯(cuò)
(二) 強(qiáng)自類(lèi)型轉(zhuǎn)換
1. 問(wèn)題
商店為了結(jié)算方便,只收用戶(hù)整數(shù)部分的錢(qián),如本應(yīng)收用戶(hù)303.6,現(xiàn)在只收用戶(hù)303元,應(yīng)該如何做?
2. 語(yǔ)法
(數(shù)據(jù)類(lèi)型名)待轉(zhuǎn)換的值;
3. 問(wèn)題解決
int result = (int)303.6;
Console.WriteLine(result);
Console.ReadKey();
4. 注意
強(qiáng)制類(lèi)型轉(zhuǎn)換,數(shù)據(jù)類(lèi)型一定要相兼容
5. 練習(xí)
下面的運(yùn)算結(jié)果
int a = 10, b = 3;
int m= a % b;
double q = a / b;
Console.WriteLine(m);
Console.WriteLine(q);
注:
1) 如何讓q,出現(xiàn)在小數(shù)
double q = a * 1.0 / b;
2) 如何保留二位小數(shù)精算。占位符的新用法
Console.WriteLine("{0:0.00}", q);
三瓢宦、 Convert
(一) 問(wèn)題
讓用戶(hù)輸入他的語(yǔ)文和數(shù)學(xué)成績(jī),計(jì)算他的總成績(jī)并顯示出來(lái)?
Console.WriteLine("請(qǐng)首先輸入你的語(yǔ)文成績(jī)");
string strChinese = Console.ReadLine();
Console.WriteLine("在輸入你的數(shù)學(xué)成績(jī)");
string strMath = Console.ReadLine(); //100 90
遇到的問(wèn)題:
需要將用戶(hù)輸入的數(shù)字型的字符串,轉(zhuǎn)換為數(shù)字
(二) Convert類(lèi)型轉(zhuǎn)換
如果要發(fā)生類(lèi)型轉(zhuǎn)換的兩個(gè)變量的類(lèi)型不兼容灰羽,那么這個(gè)時(shí)候使用Convert類(lèi)型轉(zhuǎn)換驮履。
不再僅是內(nèi)存級(jí)別的轉(zhuǎn)換,而是考慮數(shù)據(jù)意義的轉(zhuǎn)換廉嚼。
一切類(lèi)型都可以轉(zhuǎn)換為string類(lèi)型
[圖片上傳失敗...(image-dc64fa-1540628140053)]
(三) 問(wèn)題解決
Console.WriteLine("請(qǐng)首先輸入你的語(yǔ)文成績(jī)");
string strChinese = Console.ReadLine();
Console.WriteLine("在輸入你的數(shù)學(xué)成績(jī)");
string strMath = Console.ReadLine();
int chinese = Convert.ToInt32(strChinese);
int math = Convert.ToInt32(strMath);
(四) 練習(xí)(作業(yè)2)
練習(xí)1:
讓用戶(hù)輸入姓名 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 三門(mén)課的成績(jī)玫镐,然后給用戶(hù)顯示:XX,你的總成績(jī)?yōu)閄X分怠噪,平均成績(jī)?yōu)閄X分
6. 練習(xí)2
讓用戶(hù)輸入天數(shù)恐似,并計(jì)算這個(gè)天數(shù)是幾周零幾天,比如46天是6周零4天
四傍念、 面試題
交換二個(gè)變量的值矫夷。至少用二種方法
(一) 第一種方法:使用中間變量
int n1 = 10;
int n2 = 20;
int temp = n1;
n1 = n2;
n2 = temp;
(二) 第二種方法:不能使用中間變量
int n1 = 10;
int n2 = 20;
n1 = n1 - n2; //n1=-10 n2=20
n2 = n1 + n2;//n1=-10 n2=10;
n1 = n2 - n1;
Console.WriteLine("交換后,n1的值是{0},n2的值是{1}", n1, n2);
Console.ReadKey();