基本运算byte b3 = b1 + b2和 b1+=b2

news/2024/11/7 23:52:38/

基本赋值运算符:=

扩展赋值运算符:+=,-=,*=,/=,%=,>>=,<<=,&=…

注意:无论是基本赋值运算符还是扩展赋值运算符都是最后算,并且是把右边的计算的结果最后赋值给左边的变量,即左边一定是一个变量

byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;//编译错
b1 +=  b2;//编译通过

在Java中,对于表达式 b1 + b2,其中 b1b2 都是 byte 类型的变量,这会导致编译错误,因为在运算过程中它们会被自动提升为 int 类型,而将 int 类型的值赋给 byte 类型的变量可能会造成数据溢出,因此需要进行强制类型转换,也就是byte b3 = (byte) (b1 + b3)

而对于表达式 b1 += b2,这是一个复合赋值操作符,相当于 b1 = (byte)(b1 + b2)。在这种情况下,编译器会自动进行类型转换,因此编译通过。这是因为复合赋值操作符会在后台进行类型转换,确保赋值操作的安全性,不会导致数据溢出问题。

因此,虽然两个表达式的结果看起来相似,但在编译器处理时有所不同,导致了编译错误和编译通过的差异。


http://www.ppmy.cn/news/1272245.html

相关文章

k8s中EmptyDir、HostPath、NFS三种基本存储方式介绍

目录 一.数据存储介绍 二.EmptyDir 1.简介 2.案例演示 三.HostPath 1.简介 2.案例演示 &#xff08;1&#xff09;介绍一下type类型 &#xff08;2&#xff09;简单演示 &#xff08;3&#xff09;数据同步功能 四.NFS 1.简介 2.案例演示 &#xff08;1&#xff…

【鸿蒙开发】第六章 ArkTS基础知识 - 类、接口及泛型

1 前言 上一章节我们学习了【鸿蒙开发】第五章 ArkTS基础知识 - 声明变量、常量、类型和函数&#xff0c;大概了解ArkTS的基础类型和用法和ts的大致基本相同&#xff0c;与Java也极其相似。本章节我们继续学习ArkTS类和接口、泛型等相关知识&#xff0c;为后续鸿蒙应用开发夯实…

Vue3+Setup+TypeScript实现主题切换(浅色、深色、跟随系统)

使用 Vue 3 的 Composition API、 TypeScript 以及 <script setup> 语法糖&#xff0c;实现动态主题切换&#xff0c;能够在 ‘light’&#xff08;明亮&#xff09;、‘dark’&#xff08;暗黑&#xff09;和 ‘system’&#xff08;系统&#xff09;主题之间切换&#…

【JavaWeb】往浏览器打印一个hello world

上集:建一个web项目 第一步&#xff1a;建好Servlet类的文件 右键src&#xff0c;建一个class 就行 第二步&#xff1a;编代码 可以直接复制粘贴 用来测试的类 import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; //↓是注解&#xff0…

【产品经理】产品增效项目落地,项目反哺产品成长

产品和项目是相辅相成的关系&#xff0c;产品的规范、成熟&#xff0c;为项目的快速落地提供支撑&#xff0c;项目的落地反哺产品&#xff0c;促进产品的成长成熟。 软件工程的初期是&#xff0c;我们需要什么&#xff0c;就立项项目&#xff0c;通过项目实现需要。 随着项目的…

pytest之allure测试报告03:allure动态自定义报告

1、测试用例模块中引入allure&#xff1a;import allure 2、yaml文件中定义添加title、story的值&#xff1a; 3、测试用例中读取调用。eg:allure.dynamic.title() 4、运行报告查看&#xff1a;成功动态展示yaml文件中配置的story、title

rpc和http的区别,使⽤场景

rpc和http的区别&#xff0c;使⽤场景 区别如下&#xff1a;传输协议传输效率性能消耗负载均衡性能表现使用场景&#xff1a; 区别如下&#xff1a; 传输协议 RPC&#xff1a;可以基于TCP协议&#xff0c;也可以基于HTTP协议HTTP&#xff1a;基于HTTP协议 传输效率 RPC&…

华为、新华三、锐捷常用命令总结

华为、新华三、锐捷常用命令总结 一、华为交换机基础配置命令二、H3C交换机的基本配置三、锐捷交换机基础命令配置 一、华为交换机基础配置命令 1、创建vlan&#xff1a; <Quidway> //用户视图&#xff0c;也就是在Quidway模式下运行命令。 <Quidway>system-view…