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。
    */
  }
}
相关文章
|
6天前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
9 0
|
6天前
|
Java
Java 运算符
4月更文挑战第8天
|
6天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
6天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
9 0
|
6天前
|
Java C语言
java中8种基本类型与运算符
java中8种基本类型与运算符
14 3
|
6天前
|
Java
Java一分钟之运算符与表达式初探
【5月更文挑战第7天】本文介绍了Java中的主要运算符,包括算术、比较、逻辑、位、赋值和条件运算符。讨论了类型转换、运算顺序和逻辑短路等常见问题,并提供了避免错误的建议。通过代码示例展示了运算符的使用,强调理解运算符对于编写高效Java代码的重要性。
23 0
Java一分钟之运算符与表达式初探
|
6天前
|
存储 Java 数据安全/隐私保护
【Java探索之旅】运算符解密 位运算,移位运算
【Java探索之旅】运算符解密 位运算,移位运算
24 0
|
6天前
|
算法 Java
【Java探索之旅】运算符解析 算术运算符,关系运算符
【Java探索之旅】运算符解析 算术运算符,关系运算符
23 0
|
6天前
|
Java
JAVA运算符应用与实践
JAVA运算符应用与实践
16 1
|
6天前
|
存储 Java
Java语言--->数据类型转化以及运算符
本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte->short->int->long->float->double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`<`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。