JAVA赋值运算符

文章详细介绍了Java中的赋值运算符,包括基本赋值符`=`以及扩展赋值符`+=`,`-=`,`*=`,`/=`,`%=`。在运算过程中,当两侧数据类型不一致时,系统会进行自动类型转换或需要程序员进行强制类型转换。文章通过示例代码展示了各种赋值运算符的用法,包括连续赋值和类型转换的例子,并提供了多个练习题帮助读者加深理解。
摘要由CSDN通过智能技术生成

赋值运算符

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类型,2int类型。shortint做运算应该赋值给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;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值