JAVA赋值运算符

赋值运算符

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,算数运算符赋值运算符和逻辑运算符常常用于处理数值和布尔类型的操作。以下是它们可能出现的一些问题: 1. 算数运算符问题: - 整数溢出:当进行算术运算时,如果结果超出了整数类型的表示范围,就会发生整数溢出。解决方法是使用更大的数据类型或者进行合适的边界检查。 - 浮点数精度丢失:在处理浮点数时,由于浮点数的精度限制,可能会出现精度丢失的情况。解决方法是使用BigDecimal类进行精确计算。 2. 赋值运算符问题: - 类型不匹配:如果将一个值赋给不兼容的类型,会导致编译错误。解决方法是确保赋值的类型与目标变量的类型匹配。 - 值覆盖:在连续赋值时,如果不小心覆盖了之前的值,可能会导致逻辑错误。解决方法是检查赋值语句的顺序和逻辑。 3. 逻辑运算符问题: - 短路求值:在使用逻辑运算符时,由于短路求值的特性,可能会导致某些表达式不被执行。解决方法是根据业务需求合理安排逻辑运算符的顺序。 - 位运算错误:当使用位运算符时,如果对数据类型不熟悉,可能会导致逻辑错误。解决方法是仔细了解位运算符的行为和使用场景。 总体而言,遇到这些问题时,需要仔细检查代码并进行适当的调试和测试。此外,深入了解Java运算符的行为和使用规则也是避免这些问题的关键。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值