前面兩篇文章我們將算術運算符、關系運算符、位運算符、邏輯運算符這些Java運算符介紹完了,在這篇文章中將為大家介紹賦值運算符以及其他運算符。它們在使用過程中如何做呢?又有哪些特色呢?一起來看看。
賦值運算符
下面是Java語言支持的賦值運算符:
實例
面的簡單示例程序演示了賦值運算符。復制并粘貼下面的Java程序并保存為Test.
java文件,然后編譯并運行這個程序:
public class Test {
public static void main(String args[]) {
int a = 10;
int b = 20;
int c = 0;
c = a + b;
System.out.println("c = a + b = " + c );
c += a ;
System.out.println("c += a = " + c );
c -= a ;
System.out.println("c -= a = " + c );
c *= a ;
System.out.println("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );
a = 10;
c = 15;
c %= a ;
System.out.println("c %= a = " + c );
c <<= 2 ;
System.out.println("c <<= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= a = " + c );
c &= a ;
System.out.println("c &= 2 = " + c );
c ^= a ;
System.out.println("c ^= a = " + c );
c |= a ;
System.out.println("c |= a = " + c );
}
}
以上實例編譯運行結果如下:
c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= 2 = 1
c &= a = 0
c ^= a = 10
c |= a = 10
條件運算符(?:)
條件運算符也被稱為三元運算符。該運算符有3個操作數,并且需要判斷布爾表達式的值。該運算符的主要是決定哪個值應該賦值給變量。
variable x = (expression) ? value if true : value if false
實例
public class Test {
public static void main(String args[]){
int a , b;
a = 10;
b = (a == 1) ? 20: 30;
System.out.println( "Value of b is : " + b );
b = (a == 10) ? 20: 30;
System.out.println( "Value of b is : " + b );
}
}
以上實例編譯運行結果如下:
Value of b is : 30
Value of b is : 20
instanceOf 運算符
該運算符用于操作對象實例,檢查該對象是否是一個特定類型(類類型或接口類型)。
instanceof運算符使用格式如下:
( Object reference variable ) instanceOf (class/interface type)
如果運算符左側變量所指的對象,是操作符右側類或接口(class/interface)的一個對象,那么結果為真。
下面是一個例子:
String name = 'James';
boolean result = name instanceOf String; // 由于name是Strine類型,所以返回真
如果被比較的對象兼容于右側類型,該運算符仍然返回true。
看下面的例子:
class Vehicle {}
public class Car extends Vehicle {
public static void main(String args[]){
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result);
}
}
以上實例編譯運行結果如下:
True
Java運算符優先級
當多個運算符出現在一個表達式中,誰先誰后呢?這就涉及到運算符的優先級別的問題。在一個多運算符的表達式中,運算符優先級不同會導致最后得出的結果差別甚大。
例如,(1+3)+(3+2)*2,這個表達式如果按加號最優先計算,答案就是 18,如果按照乘號最優先,答案則是 14。
再如,x = 7 + 3 * 2;這里x得到13,而不是20,因為乘法運算符比加法運算符有較高的優先級,所以先計算3 * 2得到6,然后再加7。
下表中具有最高優先級的運算符在的表的最上面,最低優先級的在表的底部。