主要內(nèi)容

類型轉(zhuǎn)換
1、類型如果相兼容的兩個變量,可以使用自動類型轉(zhuǎn)換或者強(qiáng)制類型轉(zhuǎn)換,
2、如果兩個類型的變量不兼容,比如 string與int或者string 與double,
這個時(shí)候我們可以使用一個叫做Convert的轉(zhuǎn)換工廠進(jìn)行轉(zhuǎn)換。
注意:使用Convert進(jìn)行類型轉(zhuǎn)換,也需要滿足一個條件:
面兒上必須要過的去。
static void Main(string[] args)
{
//顯示類型轉(zhuǎn)換 、自動類型轉(zhuǎn)換 (類型需要兼容)
//double->int int->double
string s = "13232";
//將字符串轉(zhuǎn)換成 int 或者 double 類型
int n = Convert.ToInt32(s);
double d = Convert.ToDouble(s);
Console.WriteLine(n);
Console.WriteLine(d);
//讓用戶輸入姓名 語文數(shù)學(xué) 英語 三門課的成績
//然后給用戶提示 xx,你的總成績xx分,平均成績xx分。
Console.WriteLine("請輸入姓名");
string name = Console.ReadLine();
Console.WriteLine("請輸入語文成績");
double chineseScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請輸入數(shù)學(xué)成績");
double matheScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請輸入英語成績");
double englishScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("{0},你的總成績{1}分,平均成績{2:0.00}", name, chineseScore + matheScore + englishScore, (chineseScore + matheScore + englishScore) / 3);
Console.ReadKey();
}
Convert 支持的轉(zhuǎn)換類型有很多,可以通過 To來查看支持類型
{2:0.00} 保留兩位小數(shù)

算數(shù)運(yùn)算符
++:分為前++和后++,不管是前++還是后++,最終的結(jié)果都是給這個變量加1。
區(qū)別表現(xiàn)表達(dá)式當(dāng)中,如果是前++,則先給這個變量自身加1,然后帶著這個加1后的值去參與運(yùn)算。
如果是后++,則先拿原值參與運(yùn)算,運(yùn)算完成后,再將這個變量自身加1。
--:同上。
關(guān)系運(yùn)算符
>> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
關(guān)系運(yùn)算符是用來描述兩個事物之間的關(guān)系
由關(guān)系運(yùn)算符連接的表達(dá)式稱之為關(guān)系表達(dá)式。
bool類型
在c#中我們用bool類型來描述對或者錯。
bool類型的值只有兩個 一個true 一個false
邏輯運(yùn)算符
&& 邏輯與
|| 邏輯或
! 邏輯非
與邏輯運(yùn)算符連接的表達(dá)式叫做邏輯表達(dá)式
邏輯運(yùn)算符兩邊放的一般都是關(guān)系表達(dá)式或者bool類型的值。
5>3 && true
3>5 || false



!表達(dá)式
邏輯表達(dá)式的結(jié)果同樣也是bool類型
小例子
static void Main(string[] args)
{
//讓用戶輸入小明的語文和數(shù)學(xué)成績,輸出以下判斷是否正確
//1、小明的語文和數(shù)學(xué)成績都大于90
//2、語文和數(shù)學(xué)有一門是大于90分的
Console.WriteLine("請輸入小明的語文成績");
double chineseScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請輸入小明的數(shù)學(xué)成績");
double mathScore = Convert.ToDouble(Console.ReadLine());
bool result = chineseScore > 90 && mathScore > 90;
Console.WriteLine("小明的語文和數(shù)學(xué)成績都大于90 {0}",result);
bool result2 = chineseScore > 90 || mathScore > 90;
Console.WriteLine("語文和數(shù)學(xué)有一門是大于90分的 {0}", result2);
Console.ReadKey();
}

閏年判斷
static void Main(string[] args)
{
//判斷閏年
//年份能夠被400整除
//或年份能夠被4整除但不能被100整除
Console.WriteLine("請輸入一個年份");
int year = Convert.ToInt32(Console.ReadLine());
bool result = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
Console.WriteLine("該年份是閏年 {0}", result);
Console.ReadKey();
}

復(fù)合賦值運(yùn)算符
int number=10;
+= :
number+=20;相當(dāng)于number = number + 20;
-=
number-=5;相當(dāng)于number=number-5;
=
number=5;相當(dāng)于number=number*5;
/= 同理
%= 同理
結(jié)構(gòu)
順序結(jié)構(gòu):程序從Main函數(shù)進(jìn)入,從上到下一行一行的執(zhí)行,不會落下任何一行。
分支結(jié)構(gòu) : if if-else
選擇結(jié)構(gòu):if else-if switch-case
循環(huán)結(jié)構(gòu):while do-while for foreach
- if語句
語法:
if(判斷條件)
{
要執(zhí)行的代碼;
}
判斷條件:一般為關(guān)系表達(dá)式或者bool類型的值。
執(zhí)行過程:程序運(yùn)行到if處,首先判斷if所帶的小括號中的判斷條件,
如果條件成立,也就是返回true,則執(zhí)行if所帶的大括號中的代碼,
如果判斷條件不成立,也就是返回一個false。則跳過if結(jié)構(gòu),繼續(xù)向下執(zhí)行。
if結(jié)構(gòu)的特點(diǎn):先判斷,再執(zhí)行,有可能一行代碼都不執(zhí)行
用于一種情況的判斷。
static void Main(string[] args)
{
//如果跪鍵盤的時(shí)間大于60分鐘,呢么媳婦獎勵晚飯不用做了
Console.WriteLine("輸入你跪鍵盤的時(shí)間");
int minute = Convert.ToInt32(Console.ReadLine());
//如果你想表示的含義是當(dāng) minute > 60 的值為 true時(shí)去執(zhí)行 if中的代碼
//那么 語法史昂 == true 可以省略
//但是,如果你想表示的是當(dāng) minute 》 60 的值為 false的時(shí) 去執(zhí)行 if中的代碼
//語法上 == false 不能省略
if (minute > 60 == true)
{
Console.WriteLine("很好你不用做晚飯了");
}
Console.ReadKey();
}

- if-else
語法:
if(判斷條件)
{
執(zhí)行的代碼;
}
else
{
執(zhí)行的代碼
}
執(zhí)行過程:程序執(zhí)行到if處,首先判斷if所帶的小括號中的判斷條件是否成立,
如果成立,也就是返回一個true,則執(zhí)行if所帶的大括號中的代碼,
執(zhí)行完成后,跳出if-else結(jié)構(gòu)。
如果if所帶的小括號中的判斷條件不成立,也就是返回一個false,
則跳過if語句,執(zhí)行else所帶的大括號中的語句,執(zhí)行完成后,跳出if-else結(jié)構(gòu)。
if-else特點(diǎn):先判斷,再執(zhí)行,最少都要執(zhí)行一條代碼。
用于兩種情況的判斷
注意:else永遠(yuǎn)跟離它最近的那個if配對
static void Main(string[] args)
{
//如果跪鍵盤的時(shí)間大于60分鐘,呢么媳婦獎勵晚飯不用做了
Console.WriteLine("輸入你跪鍵盤的時(shí)間");
int minute = Convert.ToInt32(Console.ReadLine());
//如果你想表示的含義是當(dāng) minute > 60 的值為 true時(shí)去執(zhí)行 if中的代碼
//那么 語法史昂 == true 可以省略
//但是,如果你想表示的是當(dāng) minute 》 60 的值為 false的時(shí) 去執(zhí)行 if中的代碼
//語法上 == false 不能省略
if (minute > 60 == true)
{
Console.WriteLine("很好你不用做晚飯了");
}
else {
Console.WriteLine("喲呵,很有骨氣嘛 晚飯別吃了");
}
Console.ReadKey();
}

- if else-if
作用:用來處理多條件的區(qū)間性的判斷。
語法:
if(判斷條件)
{
要執(zhí)行的代碼;
}
else if(判斷條件)
{
要執(zhí)行的代碼;
}
else if(判斷條件)
{
要執(zhí)行的代碼;
}
else if(判斷條件)
{
要執(zhí)行的代碼;
}
........
else
{
要執(zhí)行的代碼;
}
執(zhí)行過程;程序首先判斷第一個if所帶的小括號中的判斷條件,如果條件成立,也就是返回一個true,
則執(zhí)行該if所帶的大括號中的代碼,執(zhí)行完成后,立即跳出if else-if結(jié)構(gòu)。
如果第一個if所帶的判斷條件不成立,也就是返回一個false,則繼續(xù)向下進(jìn)行判斷,依次的判斷每一個if所帶
的判斷條件,如果成立,就執(zhí)行該if所帶的大括號中的代碼,如果不成立,則繼續(xù)向下判斷,
如果每個if所帶的判斷條件都不成立,就看當(dāng)前這個if else-if結(jié)構(gòu)中是否存在else。
如果有else的話,則執(zhí)行else中所帶的代碼,如果沒有else,則整個 if-else if神馬都不做。
else可以省略。
往期回顧
