程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java操作符易錯內容

Java操作符易錯內容

編輯:關於JAVA

在最底層,Java中的數據是通過使用操作符來操作的。

1.'=' 賦值

對於基本數據類型就是簡單的賦值,如a=b,則無論改變a還是b均不會對另一個產生影響。

但是在java中,對於對象來說,‘=’相當於對對象引用,假如c=d,若c或者d發生變化,則另一個也會變化。

class A{
	int a;
}

public class Practice{
	public static void main(String[] args){
		A a1 = new A();
		A a2 = new A();
		a1.a = 1;
		a2.a = 2;
		System.out.println("a1:" + a1.a);
		System.out.println("a2:" + a2.a);
		a1 = a2;
		System.out.println("a1:" + a1.a);
		System.out.println("a2:" + a2.a);
		a1.a = 99;
		System.out.println("a1:" + a1.a);
		System.out.println("a2:" + a2.a);
		a2.a = 100;
		System.out.println("a1:" + a1.a);
		System.out.println("a2:" + a2.a);
	}
}
a1:1<span style="white-space:pre">		</span>//輸出
a2:2
a1:2
a2:2
a1:99
a2:99
a1:100
a2:100

2.'/ '除法

Java中的除法會直接去掉小數點的部分。

public class Practice{
	public static void main(String[] args){
		int a = 3;
		int b = 2;
		System.out.println(a/b);
	}
}
1 <span style="white-space:pre">	</span>//輸出

3.關系操作符

'==' 、'!=' 如果是基本數據的話就正常操作

但如果是對象間的比較的話,比較的是對象的引用,而不是基本的值。

public class Practice{
public static void main(String[] args){
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1);
System.out.println(n2);//可以看出這裡的值都是47
System.out.println("n1==n2?:  " + (n1 == n2)); //但是這裡n1於n2不相等,因為n1、n2引用的對象不一樣
System.out.println("n1!=n2?:  " + (n1 != n2));
Integer n3,n4;
n3 = n1;
n4 = n2;
System.out.println("n3==n4?:  " + (n3 == n4)); //這裡n3,n4也是引用了不一樣的對象所以不相等
n3 = n1;
n4 = n1;
System.out.println("n3==n4?:  " + (n3 == n4)); //這n3、n4引用了同一個對象,相等了
}
}

//輸出
47			
n1==n2?:  false 
n1!=n2?:  true
n3==n4?:  false
n3==n4?:  true

4.邏輯運算符

(與)&&、(非)!、(或)||

邏輯運算符操作符只可應用於布爾值,與C++不同的是:不能將一個非布爾值當做布爾值在邏輯表達式中使用。

如:在C++中可以看到while(1) 這樣的語句,因為true的值就是1,所以可以用1代替true或者0代替false

但是在Java中不允許這樣做,只能用while(true),不能使用while(1)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved