先来看下面的 代码:
public class Test { public static void main(String[] args) { short i ; i = i + 1; //编译错误 i += 1; //正确 byte j = 1; //正确 byte k = 2; byte l = j + k; //错误 } }
1、关于 i = i + 1: i + 1是int型,赋值给short 型变量需要做显示转换。
2、+= 、-= 属于复合赋值运算符(Compound Assignment Operator),他们是一种赋值运算符,虽然他们有算数的功能,但应该属于赋值运算符的范畴,而不属于算术运算符一类。
Java规定:复合赋值运算符中的转换都要编译器负责。
这就是为什么使用 += 、-=不需要显示转换的原因。
3、算术运算符(Arithmetic Operator)
Java中,所有整数的算术运算符都会产生int型的结果(除非有long参与其中)。因此
byte l = j + k;
虽然 j 、 k 都是byte型的,但根据上面“所有整数的算术运算都会产生int型的结果“的规则, j + k 结果是int型。这样将int赋值给byte 就需要强制转换。
david.wang 2011-03-09
发表评论
-
JVM内存模型及垃圾收集策略解析
2011-09-25 01:56 863一 JVM内存模型 1.1 Java栈 Java栈 ... -
JVM基础概念总结:数据类型、堆与栈
2011-09-25 01:14 851数据类型 Java虚拟机中,数据类型可以分为两类:基本类型 ... -
JVM分代垃圾回收策略的基础概念
2011-09-25 01:07 720为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不 ... -
理解静态变量惰性初始化的双检锁模式
2011-05-10 22:28 1217对于双检锁,其实有多种不同的用法,有很多种用法是无论 ... -
DataSource 使用方法
2011-03-03 14:26 3026转自:http://marshal.easymorse.com ... -
Java util之常用数据类型特性盘点(Map 四种同步方式的性能比较)
2011-02-24 20:09 1882出处:http://www.iteye.com/topic/1 ... -
Java util之常用数据类型特性盘点 (HasMap深度分析)
2011-02-24 17:57 1267出处:http://www.iteye.com/topic/7 ... -
Java util之常用数据类型特性盘点 (三)
2011-02-24 16:22 1091Java util之常用数据类型特性盘点 (三) 出处 ... -
Java util之常用数据类型特性盘点 (二)
2011-02-24 16:07 1066Java util之常用数据类型特性盘点 (二) 出处 ... -
Java util之常用数据类型特性盘点(一)
2011-02-24 15:47 1000Java util之常用数据类型特性盘点 出处:http:// ... -
Java 中实例化对象方法
2011-02-24 13:57 10611、直接 new 调用默认构造器实例化对象,如: ... -
java 冒泡排序、选择排序、插入排序、快速排序二分法查找代码
2011-02-23 20:42 4075java 排序的代码 import java.util ... -
java collection集合框架
2011-02-23 17:19 1387Java集合框架使用总 ... -
java.sql.Date与java.util.Date 异同
2011-02-23 17:13 1333java.util.Date 包含日期和时间。 ... -
类的初始化顺序问题
2011-02-23 16:10 736一道面试题目,看代码: public class ... -
java clone方法使用详解
2011-02-23 15:39 909java clone方法使用 出处 ... -
Java数据类型
2011-02-23 15:04 709Java数据类型 JAVA语言中定义了8种基本的数据类型, ... -
java float double为什么精度会丢失
2011-02-23 14:39 5757由于对float或double 的使用不当,可能会出现精度丢失 ... -
java基础知识回顾(1)float/double 与封装类型Float/Double
2011-02-23 14:31 3547float/double 与封装类型Float/Double ... -
HashSet \LinkedHashSet\TreeSet 元素顺序
2011-02-23 13:36 1288import java.util.Arrays; im ...
相关推荐
3. **二进制表示法**:将大数转换为二进制形式,可以利用位运算进行加减。这种方法效率更高,但实现起来相对复杂,需要考虑二进制位的溢出问题。 4. **库函数支持**:很多编程语言提供了内置的大数处理库,如Python...
5. **运算符**:数据类型的运算包括算术运算(加、减、乘、除、取余等)、比较运算(等于、不等于、大于、小于等)和逻辑运算(与、或、非)。这些运算符是编写程序时进行计算和决策的基础。 6. **类型转换**:在...
同时,`applyOperator`方法可能会处理遇到运算符时的操作,如根据运算符的类型进行加减乘除或平方运算。 此外,`Calculator`类可能还包含了一些辅助方法,如`isOperator`来判断字符是否为运算符,`getPriority`来...
在编程领域,尤其是在C++这样的强类型语言中,有符号二进制的加减运算是一项基本操作。在处理这类运算时,我们不仅需要理解整数的二进制表示,还要了解计算机如何处理溢出和负数。下面我们将深入探讨这个话题。 ...
在Java编程语言中,多则运算表达式是程序设计中不可或缺的部分,它们涉及到数学运算的各种操作,如加法(+)、减法(-)、乘法(*)和除法(/)。这些运算符用于组合一个或多个数值以执行计算。在处理这样的表达式时...
长整数加减是指处理长度超过标准整型变量所能表示的最大值的数字加减运算问题。通常,在计算机编程中,整数是有一定限制的,例如在C/C++中,一个32位整数(int)的最大值为2^31-1。但有时候我们需要处理更大的数字,...
而“加减运算”标签则明确了程序的主要功能,即处理基本的算术运算。 在压缩包内的文件列表中,“计算”可能是源代码文件的名称。对于初学者,阅读和理解这段代码将有助于他们掌握编程的基本概念和语法。 总之,这...
通过实验,我们掌握了集成运算放大电路的三种输入方式,包括反相加法运算、单一信号同相比例运算和减法(差分)运算。 在实验中,我们使用了多种仪器设备,包括集成运算电路实验板、通用运算放大器 μA741、电阻...
综上所述,本节课重点在于教授小数加减混合运算的方法,特别是如何运用加法运算律来简化计算,同时强调了数学与实际生活的联系,以及培养学生的数学应用意识和合作学习能力。通过这样的教学设计,期望学生能在轻松...
计算机组成原理实验报告的核心是理解和应用带移位运算在计算机硬件层面的操作。移位运算在计算机科学中扮演着重要角色,特别是在数据处理和算术运算中。本实验旨在通过设计和实现一个带移位运算的模型机,让学生深入...
本文将深入探讨大数的加减乘除求余运算,以及如何使用C++通过重载操作符来实现这些运算。我们将分别讨论字符串和2的32次方进制数组这两种表示大数的方法。 一、大数的表示 1. 字符串表示法:由于大数可能超出普通...
3. 编写加法运算逻辑:在回调函数中,我们需要获取文本框中的数值,转换为浮点数或整数,然后执行加法操作。 4. 显示结果:将计算结果展示在GUI的某个位置,比如另一个文本框或者消息框。 “使用帮助:新手必看.htm...
16位补码并行加法器(含减法器)实验是学习计算机内部运算机制的重要实践环节。这个实验旨在帮助学生理解和掌握如何设计和实现一个能够进行加法和减法操作的硬件电路,这对于理解计算机内部数据处理过程至关重要。 ...
本文将重点讨论分数的加减混合运算,以肥东新城学校张文斌老师的教学内容为基础,深入解析相关知识点。 首先,我们要了解的是如何找到两个数的最小公倍数(LCM)。例如,6和9的最小公倍数是18,因为18是6和9的最小...
在小学数学教学中,异分母分数的加减运算是一个难点,需要学生掌握分数的基本概念,并能在实际问题中灵活运用。为此,一份好的学习教案尤为重要。本篇以“五年级数学下册异分母分数加减混合运算之三”为题的学习教案...
在这个例子中,整型变量a在加法运算中被隐式转换为浮点型,然后与b相加,结果是浮点型。 接下来,我们讨论**显式转换**,这需要程序员通过语法明确指定类型转换。显式转换的语法是 `(类型说明符)(表达式)`,其中...
分步通分方法是指先将每个分数转换为具有相同分母的形式,再进行加减运算;而一次通分方法则是先找出所有分数的公共分母,然后直接进行计算。这两种方法各有优势,学生可以根据具体的题目和个人喜好来选择最适合的...
除法运算符(/)和取余运算符(%)分别用于整数除法和求余,同样支持不同类型之间的运算,但需要注意数据类型的转换和可能的溢出问题。 例如,当一个负数作为除数时,整数除法的结果可能会与预期不同,而使用浮点型进行...
本文主要讨论了 Java 中的三种类型转换:强制类型转换、自动升级类型转换以及表达式的升级类型转换,同时也提到了自动包装和解包的概念。 1. 强制类型转换: 强制类型转换是程序员明确指定将一个数据类型转换为另...
在这个学习教案中,主要讨论的是正负整数、正负分数以及零的加减混合运算。 2. **加减法统一成加法**:在有理数的运算中,加减法可以统一成加法。例如,`a + b - c` 可以转化为 `a + b + (-c)`,这样所有的运算都...