java 相等, 比較, 條件操作符(翻譯自Java Tutorials)

來源:互聯網
上載者:User

原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/15/2819844.html

英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

相等和比較操作符

相當和比較操作符,判斷一個運算元,是大於,小於,等於,或者不等於另一個運算元。主要的操作符對於你來說,很可能是熟悉的。記住,當判斷兩個原生類型是否相當,必須使用"==",而不是"="。

==      equal to!=      not equal to>       greater than>=      greater than or equal to<       less than<=      less than or equal to

下面的程式,ComparisonDemo測試比較子:

class ComparisonDemo {    public static void main(String[] args){        int value1 = 1;        int value2 = 2;        if(value1 == value2)            System.out.println("value1 == value2");        if(value1 != value2)            System.out.println("value1 != value2");        if(value1 > value2)            System.out.println("value1 > value2");        if(value1 < value2)            System.out.println("value1 < value2");        if(value1 <= value2)            System.out.println("value1 <= value2");    }}

輸出:

value1 != value2value1 <  value2value1 <= value2

 

條件操作符

&&和||操作符對兩個boolean運算元執行 條件與 和 條件或 操作。這些運算子表現出“短路”的行為,這意味著僅在需要時才會計算第二個運算元。

&& 條件與|| 條件或

下面的程式ConditionalDemo1,測試下面的操作符:

class ConditionalDemo1 {    public static void main(String[] args){        int value1 = 1;        int value2 = 2;        if((value1 == 1) && (value2 == 2))            System.out.println("value1 is 1 AND value2 is 2");        if((value1 == 1) || (value2 == 1))            System.out.println("value1 is 1 OR value2 is 1");    }}

另外一個條件操作符是 ?:,可以認為是if-then-else(控制流程語句章節會討論)語句的速記。它是唯一的三元操作符,在下面的例子中,該操作符可以認為:如果someCondition成立,將value1的值賦值給result.否則,將value2的值賦值給result。

下面的程式,ConditionalDemo2,測試 ?:操作符:

class ConditionalDemo2 {    public static void main(String[] args){        int value1 = 1;        int value2 = 2;        int result;        boolean someCondition = true;        result = someCondition ? value1 : value2;        System.out.println(result);    }}

由於someCondition是true,所以程式在螢幕裡輸出"1".使用 ?:操作符替代if-then-else語句,如果這讓你的代碼更加可讀;例如,當運算式結構緊湊,無副作用(例如賦值)。

類型比較操作符instanceof

instanceof操作符比較object和一個指定的類型。使用它,可以判斷一個對象是否一個類的執行個體,子類的執行個體,實現了特定介面的類的執行個體。

下面的程式,InstanceofDemo定義一個父類(命名為Parent),一個簡單的介面 (命令為MyInterface),一個繼承Parent類和實現MyInterface介面的子類(命名為Child)

class InstanceofDemo {    public static void main(String[] args) {        Parent obj1 = new Parent();        Parent obj2 = new Child();        System.out.println("obj1 instanceof Parent: "            + (obj1 instanceof Parent));        System.out.println("obj1 instanceof Child: "            + (obj1 instanceof Child));        System.out.println("obj1 instanceof MyInterface: "            + (obj1 instanceof MyInterface));        System.out.println("obj2 instanceof Parent: "            + (obj2 instanceof Parent));        System.out.println("obj2 instanceof Child: "            + (obj2 instanceof Child));        System.out.println("obj2 instanceof MyInterface: "            + (obj2 instanceof MyInterface));    }}class Parent {}class Child extends Parent implements MyInterface {}interface MyInterface {}

輸出:

obj1 instanceof Parent: trueobj1 instanceof Child: falseobj1 instanceof MyInterface: falseobj2 instanceof Parent: trueobj2 instanceof Child: trueobj2 instanceof MyInterface: true

使用instanceof操作符時,要記住,null不是任何類的執行個體。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.