if(){}else 語句的正確寫法以及它的嵌套使用


if(一個返回bool值的條件表達式)

{

程序塊

}

else{}

它的執行過程我們可以通過一個程序來了解

 1  static void Main(string[] args)
 2         {
 3             if (score >= 90) // 條件1
 4             {
 5                 Console.WriteLine("A");
 6             }
 7             else if (80 =< score && score < 90) //條件2 這里的score<90根本不執行,沒有理解if else if的本質
 8 
 9             {
10                 Console.WriteLine("B");

上面的寫法實際上沒有理解if else if的本質(下划線為錯誤的判斷條件)

if else if的本質是:如果if條件不滿足則執行Else中的條件判斷。基於這個理解,上面的if語句條件1不滿足的話,實際上就意味着score《90

所以條件2中的子條件score<90是多次一舉!或者else if (score<90 && score <=80) ,這里的Score<90  在條件1為假后,肯定為真!

提示用戶輸入用戶名,然后再提示用戶輸入密碼,如果用戶名是"admin"和密碼是"888888",那么提示正確

否則,如果用戶名不是Admin,則提示用戶名不存在,如果用戶名是Admin則提示密碼不正確.

 1 static void Main(string[] args)
 2         {
 3             Console.WriteLine("請輸入用戶名");
 4             string username = Console.ReadLine();
 5         
 6             Console.WriteLine("請輸入密碼");
 7             string password = Console.ReadLine();
 8 
 9             if (username == "admin" &&
10                 password == "888888")
11             {
12                 Console.WriteLine("密碼正確");
13             }
14             else
15             {
16                 if (username != "admin")
17                 {
18                     Console.WriteLine("用戶名不正確");
19                 }
20                 else if (password != "888888")
21                 {
22                     Console.WriteLine("密碼不正確");
23                 }
24             }
25 
26             Console.ReadKey();
27 
28         }

上面的寫法,是Else里面嵌套了If Else。下面采用另外一種寫法,是If Else If Else

 1 static void Main(string[] args)
 2         {
 3             Console.WriteLine("請輸入你的用戶名");
 4             string username = Console.ReadLine();
 5 
 6             Console.WriteLine("請輸入你的密碼");
 7             string password = Console.ReadLine();
 8 
 9 
10             // 下面的If Else If Else 可以成對理解,比如else if else 還是可以作為一個來理解
11             if (username == "admin" && password == "888888")
12             {
13                 Console.WriteLine("用戶名和密碼正確");
14             }
15             else if (username != "admin")
16             {
17                 Console.WriteLine("用戶名不正確");
18             }
19             else // 注意理解上面If Else If
20             {
21                 Console.WriteLine("密碼不正確");
22             }
23 
24             Console.ReadKey();
25         }
26     }

If Else 語句是否使用{}

通常if表達式后只有一個語句的話,不使用{}.同樣的下面的形式卻有不同的結果.

 

1 if (true)
2       string test ="test";  // 這個會發生編譯錯誤!
3 
4  if (true)
5     {
6       string test = "test";  // 這樣子的寫法正確
7       }

 

Else與靠近If結合

如果if 表達式后面只有一個語句,通常會不寫{},但是這個習慣也可能導致程序出現錯誤;其實在實際情況下,通常以為自己會If Else,但是實際上If Else的組合起來可以構造非常復雜的業務邏輯.而且好的If Else組合一看就明白業務含義,但是差的If Else就容易誤導或者非常難理解這段If Else的含義.最主要要理解if else的邏輯順序。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM