Java中Integer的最大值和最小值
来源:互联网 发布:002174 游族网络 编辑:程序博客网 时间:2024/04/29 19:16
Q1:谁能给解释一下,这两个常量为什么会分别定义成0x80000000
和0x7fffffff
。
Q2:java.lang.String
的最大长度是多少?
Q3:如下代码能抛出异常吗?为什么
int x = Integer.MAX_VALUE+10;if(x >= Integer.MAX_VALUE || x <= Integer.MIN_VALUE){ //throw exception}
Q1:
四字节的整形有符号是-2^31~2^31-1 ;在计算机内部数值的二进制表示,有正码、反码和补码。一般采用二进制补码进行表示和运算,MIN_VALUE = 0x80000000
和 MAX_VALUE = 0x7fffffff
就是补码表示的Integer的最小值(-2^31)和最大值(2^31-1)。至于为什么采用补码表示,简单的说就是方便运算,详细可自行Google一下或找本基础教材翻一下。至于Integer的最大值最小值为什么是这两个数,这是因为Java语言规范规定int型为4字节,不管是32/64位机器,这就是其所宣称的跨平台的基础部分。Q2:
#String的关键字段 /** The value is used for character storage. */ private final char value[]; /** The offset is the first index of the storage that is used. */ private final int offset; /** The count is the number of characters in the String. */ private final int count; /** Cache the hash code for the string */ private int hash; // Default to 0
String的最大长度取决于其内部数据表示。String内部是通过char数组表示,数组的长度在Java中限制为一个int型所能表示的最大值,即Q1中的
MAX_VALUE = 0x7fffffff
。这点通过其内部表示偏移量int offset
和长度int count
的属性可以体现。Q3:
intx = Integer.MAX_VALUE+10;
x溢出了,x实际为-2^31+9
,if条件不成立,不会抛出异常。
上述代码不会抛出异常,对于超出表示范围的数值,采取的策略是截断效应,即直接截取低位,抛弃超出范围的高位信息,这就是所谓的溢出。例如int型的运算结果若超出表示范围,则直接截取低32位(Q1中4个字节)作为运算结果。由此,上述代码第1行会溢出,溢出后的结果导致第2行的条件判断为假。
0 0
- Java中Integer的最大值和最小值
- Java中Integer的最大值和最小值
- Java Integer最大值最小值输出
- JAVA得到数组中最大值和最小值的简单实例
- #定义泛型类#分别求Integer和Double型数组中元素的最大值,最小值,平均值
- java 获取数组的最大值和最小值
- Java基本数据类型的最大值和最小值
- Java中求List<double[]>中的最大值和最小值
- java中给集合快速取值最大值和最小值
- 求一维数组中元素的最大值和最小值和位置
- java如何求二维数组的和、最大值和最小值。
- Java 中一个int型数组的求最大值最小值
- datatable中求3列的最大值和最小值
- C中各种类型的最大值和最小值
- 求出数组中元素的最大值和最小值
- C++中生成int类型的最大值和最小值方法
- 求整型 数组中最大值和最小值元素的距离
- Javascript中获取数组最大值和最小值的方法
- POJ3278(BFS广度优先搜索)之Catch That Cow
- Struts2自学入门(十)——多文件上传及文件下载
- 【面经】完美世界一面
- 优秀的编程风格(Java篇)
- 模拟御泥坊点击item进入后显示轮播图片
- Java中Integer的最大值和最小值
- javascript中对象创建方式
- C语言小程序—实现strlen等字符串函数
- ASP.NET MVC分页
- Multiple dex files define Lcom/umeng/socialize/PlatformConfig$Platform;
- DS1302测出时间并且在LCD1602上面显示
- css3之布局相关的样式
- HTML基础
- 玲珑杯 1005 Spoon Devil's RP Test(水题)