`
dwangel
  • 浏览: 266264 次
社区版块
存档分类
最新评论

java里+号的运算结果默认是整型

阅读更多
class test
{
public static void main(String[] args)
{
byte y=125;
y = y+ (byte)5;
System.out.println(y);
}
}

上面的代码无法通过。

y = y+ (byte)5; 改成 y+=(byte)5;就是好的。
分享到:
评论
6 楼 dwangel 2007-01-10  
leisure 写道
Thinking in Java里面有比较详细的论述


切,我就是看Thinking in java的,里面根本没有。
5 楼 Godlikeme 2007-01-10  
对操作符,Thinking in java只是简单的介绍,并没有深入到编译器具体实现去解释这些问题,这些还要看effective java, java puzzlers
4 楼 ginger547 2007-01-10  
同学,以前的时候也没有注意这些
3 楼 leisure 2007-01-09  
Thinking in Java里面有比较详细的论述
2 楼 dwangel 2007-01-09  
foxty 写道
在虚拟机内部byte都是用int来表示的。byte+byte结果就是int,你不强制转型,当然会报错。

+= 会把结果自动转型。


嗯,按照你说的,改了,试了一下。

y = (byte)(y+ (byte)5);
int x = y+(byte)5;

都是好的。
也就是说,java默认是以int为运算结果类型。

平常不用byte,没注意到,以为是按低的来。
1 楼 foxty 2007-01-09  
在虚拟机内部byte都是用int来表示的。byte+byte结果就是int,你不强制转型,当然会报错。

+= 会把结果自动转型。

相关推荐

    JAVA关键字列表

    JAVA关键字列表 Java是一种面向对象的编程语言,具有多种关键字,用于控制程序的执行、定义变量、类和方法等。本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程...

    java单词java单词.doc

    * Default:默认,用于表示 Java 多路分支语句中的默认分支。 * While:当到循环,用于表示 Java 循环语句。 * Do:直到循环,用于表示 Java 循环语句。 * For:已知次数循环,用于表示 Java 循环语句。 * Continue...

    java面向对象程序设计基础知识总结

    Java 中的双目运算符包括 +、-、*、/ 等,对于整形和浮点数有效,但 % 只对整形运算。 9. 逻辑运算符 逻辑运算符是对布尔型变量进行运算,结果也是布尔型。^ 表示异或运算(a^b 表示 a 和 b 真假不同时,值为真)...

    Java 60 道面试题及答案.docx

    本文档为 Java 面试题答案大全,涵盖了 Java 基础知识、Java 开发平台、Java 虚拟机、Java 数据结构、面向对象编程、Java 数据类型、类型转换、拆装箱、Java 包装类、Java 类结构、Java 语句、数组实例化、Java ...

    100道Java基础面试题收集整理

    Java基础知识点总结 Java是一种面向对象的编程语言,它广泛应用于Android应用程序开发、Web应用程序开发、企业软件开发、嵌入式系统开发等领域。下面是Java基础知识点的总结: 架构 * B/S架构:浏览器/服务器程序...

    2023年java面向对象程序设计基础知识总结.doc

    * 逻辑运算符:逻辑运算是对布尔型变量进行运算,结果也是布尔型。^ 表达异或运算(a^b 表达 a 和 b 真假不同时,值为真)。 * 位运算符:&位与、|位或、~位反、^位异或、左移、>>右移、>>>无符号右移。 * 位运算...

    Java面试题及答案-共60道.docx

    Java 中常用的包有 java.lang、java.io、java.sql、java.util、java.awt、java.net、java.math 等。 二十、Object 类 Object 是 Java 中最顶级的父类,提供了 equals、hashCode、toString、wait、notify、clone、...

    Java基础程序设计

    2. **数据溢出**:当对一个类型的最大值进行加法运算时,如果结果超过了该类型所能表示的最大值,则会出现溢出现象,结果会“循环”回到该类型所能表示的最小值或接近最小值。 3. **强制类型转换**:为了避免数据...

    java笔记整理(超详细).pdf

    含义上:字符常量相当于一个整形值(ASCII值),可以参加表达式,运算字符串常量代表一个地址值(该字符串在内存中存放位置)。 占内存大小:字符常量只占2个字节(char在Java中占两个字节),字符串常量占若干个...

    JAVA填空题复习题7.pdf

    29. **标准库**:Java默认加载java.lang包,最基础的类库是java.lang.Object,Math类完成常用数学运算,java.io提供输入输出功能,Date类属于java.util包。 30. **接口内容**:接口声明包含常量和抽象方法。 31. *...

    Java(1-4)复习题.pdf

    1. 在Java中,正确的整形变量声明和赋值方式是选项B和D。选项B是单个变量的声明和赋值,而选项D是声明两个变量并分别赋值。 2. Java中用于向控制台打印输出信息的语句是`System.out.println()`,对应选项A。 3. ...

    Java基础英语.docx

    ### Java基础英语知识点详解 #### 一、基本概念与词汇 **Path [pɑ:θ]**:路径。在计算机编程中,“路径”指的是文件或目录的位置。例如,在Java中使用`File`类来处理文件路径。 **Class [klɑ:s]**:类。类是...

    Java基础知识总结

    - 整形默认为`int`类型,长整形需后缀`L`。 - 浮点型默认为`double`,单精度需后缀`F`。 - 在混合类型运算中,所有数据会被转换为容量最大的数据类型。 - 强制类型转换可能导致精度损失或溢出。 #### 总结 ...

    Java中变量类型及其字节长度.docx

    - 整形的默认类型,广泛应用于各种场景。 - 当需要存储较大的整数值时,如计数器、索引等。 ##### 4. Long类型 - **字节长度**:8字节(64位) - **取值范围**:-2^63 ~ 2^63-1 - **应用场景**: - 当需要存储...

    编程英语词汇汇总.doc

    * Version:版本,用于指定Java程序的版本号。 * Author:作者,用于指定Java程序的作者信息。 * Public:公共的,用于指定Java类或方法的访问权限。 * Class:类,用于定义Java类。 * Static:静态的,用于指定Java...

    详解java平台解析协议相关备忘

    在Java中,可以使用`Integer.toBinaryString()`方法将一个字节的值转换为二进制字符串,但默认会显示一个整数的二进制表示。对于负数,它会使用补码表示。例如: ```java byte b = -128; String binaryStr = Integer...

    2021-2022计算机二级等级考试试题及答案No.10959.docx

    `语句用于调用父类(Person类)的默认构造方法。 - 在子类构造方法中调用父类构造方法是非常常见的做法,以确保父类的状态被正确初始化。 #### 题目9:打开报表的宏命令 - **题目描述**:用于打开报表的宏命令是...

    2021-2022计算机二级等级考试试题及答案No.15321.docx

    这是算法的基本性质之一,确保算法能在合理的时间内得到结果。 5. SQL查询中,要返回至少被订购过三次的pid,需要使用GROUP BY结合HAVING子句。正确答案:D。该语句会按pid分组,然后筛选出pid计数大于等于3的记录...

    2021-2022计算机二级等级考试试题及答案No.5.docx

    - **解释**: 这里涉及整数除法运算,3/6的结果为0,再乘以5仍然为0。 - **应用场景**: 在编程中,理解不同类型运算符的优先级和操作规则非常重要。 ### 17. HTML的描述 - **知识点**: 所有的HTML标记并不是都需要...

Global site tag (gtag.js) - Google Analytics