從頭認識java-2.1 操作符
來源:程序員人生 發布時間:2016-05-04 15:52:37 閱讀次數:2415次
這1章節我們來討論1下操作符。
這里面討論的操作符不是基礎只是,而是1些操作符需要注意的點。
1.幾近所有的操作符都是操作基礎數據類型,=、==和!=例外,還有+=和+可以是用在String上面。下面是3個例子
package com.ray.ch01;
public class Test {
public static void main(String[] args) {
int a = 1 + 1;
System.out.println(a);
double b = 1.2 / 1.0;
System.out.println(b);
}
}
package com.ray.ch01;
public class Test {
public static void main(String[] args) {
A a = new A();
A a1 = new A();
System.out.println(a == a1);
System.out.println(a == null);
System.out.println(a != null);
}
}
class A {
{
System.out.println("class A");
}
}
package com.ray.ch01;
public class Test {
public static void main(String[] args) {
String str = "abc";
System.out.println(str + "d");
str += 1;
System.out.println(str);
}
}
對上面的str+=1,這里面的1是整形,但是它會先轉成字符型,然后再進行字符相加。
2.優先級
對復雜的公式,雖然java已為我們規定好操作符的優先級,但是在使用當中常常忘掉,因此最好使用小括號括起來,這樣不管優先級怎樣,都可以依照原來的計算進行。
package com.ray.ch01;
public class Test {
public static void main(String[] args) {
int a = 1, b = 2, c = 3;
int d = a + b / 2 + c * 3;
int e = (a + b) / (2 + c) * 3;
System.out.println(d);
System.out.println(e);
}
}
大家可以看到,上面的e和d明顯是不同的數值,如果我們進行更加復雜的運算,公式加入更多的操作符,這個時候小括號就是必須的。
3.賦值
使用右側的值賦給左側的值,右側的值可以是常量、變量或表達式,左側的值是明確的已命名的變量,不能夠是常量或表達式。
例如:
a=4是沒有問題,但是4=a就是異常。
對基礎類型,賦值就像上面的1樣簡單。
對對象的賦值,就是操作對象的援用,把援用賦給某個變量,當1個對象不被援用,他將會被垃圾回收器清除。
package com.ray.ch01;
public class Test {
public static void main(String[] args) {
A a1 = new A();
System.out.println(a1);
a1.id = 1;
System.out.println(a1.id);
A a2 = new A();
System.out.println(a2);
a2.id = 2;
System.out.println(a2.id);
a2 = a1;
System.out.println(a1);
System.out.println(a1.id);
System.out.println(a2);
System.out.println(a2.id);
}
}
class A {
int id;
}
輸出:
com.ray.ch01.A@1fb8ee3
1
com.ray.ch01.A@61de33
2
com.ray.ch01.A@1fb8ee3
1
com.ray.ch01.A@1fb8ee3
1
從輸出結果可以看出,a2原來所對應的對象在a2=a1以后就已消除,a2指向另外一個對象。
上面的代碼引伸出1個問題,就是如果操縱對象的域,會引發混亂,這1點需要大家注意。
這1章節主要討論操作符的1般的特性,下面將會對各種操作符進行展開。
這1章節就到這里,謝謝。
-----------------------------------
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈