Java操纵符易错内容
当前位置:以往代写 > JAVA 教程 >Java操纵符易错内容
2019-06-14

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)

    关键字:

在线提交作业