java中的&運算符是什么意思
給你個例子:
public static void main(String[] args){
int i1 =1,b1=2;
//使用&&
if(i1==2 && (b1++)== 3){
*n("使用&&:b1="+b1);
}else{
*n("使用&&:b1="+b1);
}
//使用&:
int i2 =1,b2=2;
if(i1==2 & (b2++) == 3){
*n("使用&:b2="+b2);
}else{
*n("使用&:b2="+b2);
}
}
打印結果:
使用&&:b1=2
使用&:b2=3
使用&&的話如果第一個條件不符合就不會執行后面的條件
使用&的話兩個條件都會執行。
可以看出 & 和 && 都是與的運算符 但&會不管兩個條件對與錯 都會運算一遍所以 b2 作了 b2++ 運算 ,結果變成了3.
哪看到的?有沒一段程序?
那是A 和 1做與運算再把 一個值 賦回給A和 A +=1差不多吧
java中&與&&的區別
java中&;叫做按位與,&&;叫做短路與,它們的區別是:
&; 既是位運算符又是邏輯運算符,&;的兩側可以是int,也可以是boolean表達式,當&;兩側是int時,要先把運算符兩側的數轉化為二進制數再進行運算,而短路與(&&;)的兩側要求必須是布爾表達式。舉例如下:
12&5 的值是多少?答:12轉成二進制數是1100(前四位省略了),5轉成二進制數是0101,則運算后的結果為0100即4 這是兩側為數值時;
若 int i = 2,j = 4;則(++i=2)&(j++=4)的結果為false,其過程是這樣的:先判斷++i=2是否成立,這里當然是不成立了(3 == 2),但是程序還會繼續判斷下一個表達式是否成立,j++=4 ,該表達式是成立的,但是&;運算符要求運算符兩側的值都為真,結果才為真,所以(++i=2)&(j++=4)的結果為 false 注意 :&;為真的條件是兩側表達式都為真,但是即使我們判斷出左側表達式的值為false,程序也還是要繼續執行去判斷右側的表達式值的真假
若 int i = 2,j = 4;則(++i=2)&&(j++=4)的結果為false,其過程基本上和上面的是相同的,但是若左側表達式的值為false時,程序則不會繼續判斷右側表達式的真假了,短路與中,短路這個詞大概也就是這個意思吧
java中的循環語句
for循環示例:
for(int i=0;i<5;i++){
for(int j=5-i;j>0;j--){
*("*");
}
*n();
}
while循環示例:
int i=0;
while(i<5){
int j=5-i;
while(j>0){
*("*");
j--;
}
*n();
i++;
}
轉載請注明出處華閱文章網 » java的and語句