文档章节

容易忽视的细节——java基本数值类型取值范围的影响

q
 qq52378628
发布于 2016/11/22 19:59
字数 163
阅读 0
收藏 0

如下代码,执行test()函数后,屏幕打印结果为?

public class Test2
{
       public void add(Byte b)
       {
             b = b++;
       }
       public void test()
       {
             Byte a = 127;
             Byte b = 127;
             add(++a);
             System.out.print(a + " ");
             add(b);
             System.out.print(b + "");
       }
       public static void main(String[] args) {
		new Test2().test();
	}
}

程序的输出结果为

-128 127

原因:

java字节型byte的取值范围是-128~127(-2⁷~2⁷-1)。

127的2进制表示为‭01111111‬  加1后就是10000000‬

根据补码的定义,最高位为符号位,128(补码的真值)= 256(2⁸) -  |-128(原码)|

在计算机中表示时是补码10000000‬,输出时却是原码-128

© 著作权归作者所有

共有 人打赏支持
q
粉丝 0
博文 9
码字总数 1754
作品 0
广州
02-《深度拆解JVM》之Java的基本类型

一、问题引入 如果你了解面向对象语言的发展史,那你可能听说过 Smalltalk 这门语言。它的影响力之大,以至于之后诞生的面向对象语言,或多或少都借鉴了它的设计和实现。在 Smalltalk 中,所...

飞鱼说编程
09/11
0
0
《Kotlin 程序设计》第三章 Kotlin 类型系统

第三章 Kotlin 类型系统 正式上架:《Kotlin极简教程》Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item.jd.com/12181725.html 天猫Tmall:https://detai......

程序员诗人
2017/05/29
0
0
Java 语言中 Enum 类型的使用介绍

Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常...

F风向标F
2014/04/15
0
0
一起学Java7新功能扩展——深入历险分享(一)

特此声明:因网友疑问,这里声明一个重要的安全,就是大家所知的java惊现0day漏洞!8月30日,Oralce紧急发布了新版本的JDK和JRE,原因是发现了一个严重的0day漏洞CVE-2012-4681,远程攻击者可...

Beyond-Bit
2012/09/03
0
26
07《Java核心技术》之int和Integer有什么区别?

一、提出问题 Java 虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等 Java 语言特性。 今天我们要讨论的问题是,int 和 In...

飞鱼说编程
10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生...

engeue
34分钟前
1
0
通过ajax访问远程天气预报服务

http://www.webxml.com.cn/zh_cn/index.aspx 更改wsdl文件 打开文件将15行,51行,101行去掉 然后把文件复制到c盘 然后在桌面上面就生成了文件 将文件打成jar包 package cn.it.ws.weather;...

江戸川
今天
1
0
聊聊storm的tickTuple

序 本文主要研究一下storm的tickTuple 实例 TickWordCountBolt public class TickWordCountBolt extends BaseBasicBolt { private static final Logger LOGGER = LoggerFactory.getLogg......

go4it
今天
1
0
自动装箱和自动拆箱

自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基...

tsmyk0715
今天
2
0
简易审计系统

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里...

芬野de博客
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部