赋值运算符
1.基本语法
- 符号:=
- 当"="两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
- 支持连续赋值
- 扩展赋值运算符:+=、-=、*=、/=、%=
赋值运算符 | 符号解释 |
---|---|
+= | 将符号 左边的值 和 右边的值 进行 相加 操作,最终将结果 赋给左边的值 |
-= | 将符号 左边的值 和 右边的值 进行 相减 操作,最终将结果 赋给左边的值 |
*= | 将符号 左边的值 和 右边的值 进行 相乘 操作,最终将结果 赋给左边的值 |
/= | 将符号 左边的值 和 右边的值 进行 相除 操作,最终将结果 赋给左边的值 |
%= | 将符号 左边的值 和 右边的值 进行 取余 操作,最终将结果 赋给左边的值 |
/*
赋值运算符测试
1、 =、+=、-=、*=、/=、%=
2.说明
①当"="两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
②支持连续赋值
③+=、-=、*=、/=、%= 操作,不会改变变量本身的数据类型
*/
class SetValueTest{
public static void main(String[] args){
//赋值=***************************************************
int i = 5;
long l = 10; //自动类型提升
byte b = (byte)i; //强制类型转换
//连续赋值
//操作方式1:
int a1 = 10;
int b1 = 10;
//操作方式2:连续赋值
int a2;
int b2;
//或合并:int,a2,b2;
a2 = b2 = 10;
System.out.println(a2+","+b2); //输出 10,10
//操作方式3:
int a3 = 10,b3 = 20;
System.out.println(a2+","+b2); //输出 10,20
//拓展***************************************************
//说明 += 的使用
int m1 = 10;
m1 += 5; // 类似于 m1 = m1 + 5;
System.out.println(m1); //15
byte by1 = 10;
by1 += 5; //by1 = by1 + 5操作会编译报错。应该写为by1 = (byte)(by1+5);
System.out.println(by1); //15
int m2 = 1;
m2 *= 0.1; //m2 = m2 * 0.1操作会编译报错。应该写为m2 = (int)(m2*0.1)
System.out.println(m2); //0
}
}
练习1:如何实现变量的值增加2
//方式1 推荐
int n1 = 10;
n1 += 2;
//方式2
int n2 = 10;
n2 = n2 + 2;
练习2:如何实现变量的值增加1
//方式1
int n1 = 10;
n1 += 1;
//方式2
int n2 = 10;
n2 = n2 + 1;
//方式3 推荐
int n3 = 10;
n3++; //++n3
练习3:
short s = 3;
s = s+2; //①编译报错
s += 2; //②编译通过
//①和②有什么区别?
①s=s+2 s为short类型,2为int类型。short与int做运算应该赋值给int类型,而s为short类型,所以会报错
②s += 2 为+=操作,不会改变变量本身的数据类型,所以仍然为short类型,可以编译通过
练习4
int i = 1;
i *= 0.1; //i = (int)(i*.1)
System.out.println(i); //0
i++;
System.out.println(i); //1
练习5
int m = 2;
int n = 3;
n *= m++; //n = n*m; m++ n = (3*2)++ 先*再++
System.out.println("m=" + m); //m = 3
System.out.println("n=" + n); //n = 6
练习6
int n = 10;
n += (n++) + (++n); //n = n + (n++) + (++n) 10 = 10 + 10 + 12
System.out.println(n); // 32
练习7 :你有几种办法实现变量值减1?变量值减2呢?
public class MinusTest{
public static void main(String[] args){
//练习1:变量-1
short s = 10;
//方式1:
s = (short)(s - 1);
//方式2: 推荐
s--; //--s
//方式3
s -= 1;
//练习2:变量-2
short s1 = 10;
//方式1:
s1 = (short)(s1-2);
//方式2: 推荐
s1 -= 2;
}
}