国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net 邏輯操作符與(&&),或(||),非(!)

2019-11-17 01:52:30
字體:
來源:轉載
供稿:網友

asp.net 邏輯操作符與(&&),或(||),非(!)

邏輯操作符與(&&),或(||),非(!)能根據參數的關系返回布爾值

public class bool{

public static void main(string [] args){

random rand=new random(47);

int i=rand.nextint(100);

int j=rand.nextint(100);

system.out.PRintln(“i=” + i);

system.out.println(“j=” + j);

system.out.println(“i > j is” +( i>j));

system.out.println(“i < j is” +( i<j));

system.out.println(“i > =j is” +( i>=j));

system.out.println(“i <=j is” +( i<=j));

system.out.println(“i ==j is” +( i==j));

system.out.println(“i !=j is” +( i!=j));

system.out.println(“(i <10) && (j<10) is” +((i <10) && (j<10)));

system.out.println(“(i <10) || (j<10) is” +((i <10) ||(j<10)));

}

}

輸出

i=58

j=55

i>j is true

i<j is false

i>= j is true

i<=j is false

i==j is false

i!=j is true

(i <10) && (j<10) is false

(i <10) ||(j<10) isfalse

與或非操作只能應用于布爾值,如果在應該是string值的地方使用了boolean的話,布爾值會自動轉換成適當的形式。

應注意的是在程序上對浮點數的比較是非常嚴格的。

條件操作符

Operator use description && op1 && op2 當op1和op2都是true時,返回true ;如果op1的值是false,則不運算右邊的操作數 || op1 || op2 當op1和op2有一個是true時,返回true;如果op1的值是true,則不運算右邊的操作數 ! ! op 當op是false時,返回true;當op是true時,返回false & op(www.111cn.net)1 & op2 運算op1和op2;如果op1和op2都是布爾值,而且都等于true,那么返回true,否則返回false;如果op1和op2都是數字,那么執行位與操作 | op1 | op2 運算op1和op2;如果op1和op2都是布爾值,而且有一個等于true,那么返回true,否則返回false;如果op1和op2都是數字,那么執行位或操作 ^ op1 ^ op2 運算op1和op2;如果op1和op2不同,即如果有一個是true,另一個不是,那么返回true,否則返回false;如果op1和op2都是數字,那么執行位異或操作

短路當使用邏輯操作符的時候會遇到一種短路狀況。既一但能夠明確無誤地確定整個表達式的值,就不再計算表達式余下的部分了。因此,整個邏輯表達式靠后的部分有可能不再計算。下面的例子展示了短路現象

public class shortcircuit{

static boolean test1(int val){

system.out.println(“test1(“+val+”)”);

system.out.println(“result:”+(val<1));

return val<1

}

static boolean test2(int val){

system.out.println(“test1(“+val+”)”);

system.out.println(“result:”+(val<2));

return val<2

}

static boolean test3(int val){

system.out.println(“test1(“+val+”)”);

system.out.println(“result:”+(val<3));

return val<3

}

public static void main(string [] args){

boolean b=test1(0)&&test2(2)&&test3(2);

system.out.println(“expression is “ + b);

}

}

輸出

test1(0)

result:true

test(2)

result:false

expression is false

由于調用了3個方法你會很自然的覺得3個方法應該都被運行,但實際上輸出并非這樣,因為在第二次測試產生一個false結果。由于這意味著整個表達式肯定為false,所以沒必要繼續計算剩余的表達式,那樣只是浪費。“短路“一次正來源于此。實際上,邏輯上所有的邏輯表達式都有一部分不必計算,那將獲得性能的提升。from:http://www.111cn.net/net/net/37363.htm


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克前旗| 吉木萨尔县| 中卫市| 六枝特区| 长宁区| 怀仁县| 河间市| 青神县| 泾川县| 旬阳县| 平遥县| 万盛区| 嘉兴市| 泽库县| 邵武市| 镇宁| 微山县| 辽宁省| 衡山县| 鱼台县| 静安区| 丹阳市| 宁晋县| 慈溪市| 公主岭市| 青冈县| 措美县| 抚宁县| 奇台县| 鄯善县| 保康县| 东山县| 弥渡县| 鄂托克旗| 长春市| 阿拉尔市| 濉溪县| 桃江县| 永和县| 沂水县| 肇庆市|