程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> &&和&的區別,

&&和&的區別,

編輯:C#入門知識

&&和&的區別,


在學習編程中,&和&& 被解釋為:&&是邏輯操作符,而&是位操作符,但是它們的具體使用上的區別是什麼呢?

1、當&&和&作為邏輯操作符時,看看它們都有什麼作用。請看下面例子:

1  int i = 8;
2  int j = 8;
3  int k = 8;
4  int h = 8;
5  bool a = (i > 5) && ((i = i + 5) > 10); //................(1)
6  bool b = (j > 5) & ((j = j + 5) > 10);  //................(2)
7  bool c = (k > 15) && ((k = k + 5) > 10);//................(3)
8  bool d = (h > 15) & ((h = h + 5) > 10); //................(4)

請看上圖輸出結果:

對於(1)來說,i > 5 為True,(i = i + 5) > 10為True,那麼a就為True,即,兩者都為True則a為True。此時i=13。

對於(2)來說,j > 5為True,(j = j + 5) > 10為True,那麼b就為True,即,兩者都為True則a為True。此時j=13。

對於(3)來說,k > 15為False,(k = k + 5) > 10為True,那麼c就為False,即,一True一False則c為False。此時k=8。

對於(4)來說,h > 15為False,(h = h + 5) > 10為True,那麼d就為False,即,一True一False則d為False。此時h=13。

由此可以總結一句話:

&&:邏輯與,兩True才為True,一False即為False。即:兩真才為真,一假即為假。

& :邏輯與,兩True才為True,一False即為False。即:兩真才為真,一假即為假。

區別:

表達式(1) && 表達式(2),只有表達式(1)為True時,表達式(2)才會執行。

表達式(1) & 表達式(2),無論表達式(1)為True或False,表達式(2)都會執行。

2、當&作為位操作符時,看看它有什麼作用。請看下面例子:

1  int i = 6; //6的二進制為0110
2 
3  i = i & 5; //5的二進制為0101

請看上圖輸出結果:

當&為位操作符時,6和5進行了位運算,而6的二進制為0110,5的二進制為0101,邏輯&後,此時i的值的二進制為0100,對應的十進制為4。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved