11.Java赋值运算符

赋值运算符

= , +=, -=, *=, /=, %=

运算符

运算

范例

结果

=

赋值

a=3,b=2

a=3,b=2

+=

加等于

a=3,b=3;a+=b;

a=5,b=2;

-=

减等于

a=3,b=2,a-=b;

a=1,b=2;

*=

乘等于

a=3,b=2,a*=b;

a=6,b=2

/=

除等于

a=3,b=2,a/=b;

a=1,b=2;

%=

模等于

a=3,b=2,a%=b;

a=1,b=2

a+=b 可以想象成 a=a+b;

变量声明完了之后,可以使用赋值语句(assignment statement)给变量赋一个值,Java中使用等号(=)作为基本的赋值运算符(assignment operator),

格式如下:

variable = expression;

变量    =  表达式;

变量我们已经知道如何声明,表达式具体如何定义?

表达式的定义:

表达式涉及到值(常量),变量和通过运算符计算出的值,以及他们组合在一起计算出的新值。

x =y+1;

public static void main(String[] args) {
        int x = 1; // 声明int变量x, 赋值1给变量x
        int y = 0; // 声明int变量y, 赋值0给变量y
        double area; // 声明double变量area
        double radius = 1.0; // 声明double变量radius,并赋值1.0给变量radius
        x = 5 * (3 / 2) + 3 * 2; // 将=右半部分表达式的计算结果赋值给变量x
        x = y + 1; // 将变量y和1的求和的值赋值给变量x
        area = radius * radius * 3.14159; // 将计算面积的值赋值给变量area
    }

赋值运算符小问题

问题1:

int x;
System.out.println(x = 1);
如何理解?
答:等价于
x=1;
System.out.println(x);

注意:不能 1=x,变量名必须在赋值运算符的左边。
问题二:
     int x;
        int y;
        int z;
        x = y = z = 100; 
如何理解?
答:等价于
     int x;
        int y;
        int z;
        z = 100;
        y = z;
        x = y;
问题三:
  short s1 = 1;  s1= s1+1;  s1+=1; 问:s1= s1+1; s1+=1; 与有什么不同? 对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
author@nohert
原文地址:https://www.cnblogs.com/gzgBlog/p/13572900.html