Java基础赋值运算符

简介: Java基础赋值运算符

关于java中的赋值运算

赋值运算符包括两种:


基本的赋值运算符:


=


扩展的赋值运算符

+=

-=

*=

%=


1.赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量。


2.注意以下代码:


byte i = 10;
 i += 5;等同于: i = (byte)(i + 5);
 int k = 10;
 k += 5;等同于:k = (int)(k + 5);
 long x = 10L;
 int y = 20;
 y += x;等同于:y = (int)(y + x);


3.重要结论:扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是

byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型。


public class OperatorTest04{
  public static void main(String[] args){
    //基本的赋值运算符
    int i = 10;
    System.out.println(i);//10
    //扩展的赋值运算符
    i += 5;
    System.out.println(i);//15
    i -= 5;
    System.out.println(i);//10
    /*
    //编译报错
    //编译器只检查语法,不运行程序,编译器发现x+5的类型是int类型,b变量的数据类型是byte
    //大容量向小容量转换需要加强制类型转换符,所以以下程序编译报错。
    byte x = 10;
    x = x + 5;
    System.out.println(x);
    */
    //纠正错误
    byte b = 10;
    b = (byte)(b + 5);
    System.out.println(b);//15
    byte x = 10;
    x += 5;//等同于: x = (byte)(x + 5),其实并不等同于:x = x + 5
    System.out.println(x);//15
    byte z = 0;
    z += 128;//等同于:z = (byte)(z + 128);
    System.out.println(z);//-128[损失精度]
    z += 10000;//等同于:z = (byte)(z + 10000)
    System.out.println(z);/*结果为-112
    详解:byte类型的取值范围(-128,127)|(256);所以10000已经超出范围
          10000%256=16(39),余数是16,循环39次,-128+127=256,所以256
        为一次循环,经历39次循环后,用byte的最小值-128加16即-128+16=-112。
    */
  }
}
相关文章
|
2月前
|
Java
Java运算符
Java运算符
51 12
|
3月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
69 4
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
73 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
1月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
40 7
|
1月前
|
安全 Java
java BigDecimal 的赋值一个常量
在 Java 中,`BigDecimal` 是一个用于精确计算的类,特别适合处理需要高精度和小数点运算的场景。如果你需要给 `BigDecimal` 赋值一个常量,可以使用其静态方法 `valueOf` 或者直接通过字符串构造函数。 以下是几种常见的方法来给 `BigDecimal` 赋值一个常量: ### 使用 `BigDecimal.valueOf` 这是推荐的方式,因为它可以避免潜在的精度问题。 ```java import java.math.BigDecimal; public class BigDecimalExample { public static void
|
1月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
24 3
|
1月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
23 1
|
1月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
50 4
|
1月前
|
安全 Java 测试技术
🌟 Java 零基础 | 详解 instanceof 运算符
【10月更文挑战第1天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
33 1
|
1月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
39 3
下一篇
无影云桌面