java之扩展运算符

java之扩展运算符

java中的扩展运算符为+=、-=、/=、%=、*=

当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如:

代码语言:javascript复制public class Test{

public static void main(String[] args) {

short a = 1;

//此时的a是short类型

a += 1;

System.out.println(getType(a));

}

public static String getType(Object obj) {

return obj.getClass().getName();

}

}输出:java.lang.Short

如果是正常的进行赋值的话,则需要进行强制转换:

代码语言:javascript复制public class Test{

public static void main(String[] args) {

short a = 1;

//此时的a是short类型

a = (short)(a + 1);

System.out.println(getType(a));

}

public static String getType(Object obj) {

return obj.getClass().getName();

}

}输出:java.lang.Short

思考以下代码的输出是什么?

代码语言:javascript复制public class Test{

public static void main(String[] args) {

int a = 1;

a *= 0.1;

System.out.println(a);

int b = a++;

System.out.println(a);

}

}分析:由于扩展运算符会将运算后的结果进行强制转换成原来变量的类型,所以a*=0.1中a的类型还是int,正好与后面声明的int b相对应,所以此时a=0。而int b = a++;a++是先赋值后运算,所以b的值是0,a的值变为1。

所以最后输出为:

0

1

0

相关推荐

48365 醂怎么读

醂怎么读

bt365备用网站 你会看白带么?这三种分泌物颜色,可能是危险预警

你会看白带么?这三种分泌物颜色,可能是危险预警

bt365备用网站 网站建设方案

网站建设方案