Integer
1.类不可继承
2.值不可改变
/**
* The value of the <code>Integer</code>.
*
* @serial
*/
private final int value;
3.包装类拆箱与装箱
在编译器自动完成
Integer a = 100 ;
Integer b = 100 ;
Integer c = 200 ;
Integer d = 200 ;
Integer e = c + d ;
System.out.println(a==b);
System.out.println(a==100);
System.out.println(c==d);
System.out.println(c==200);
System.out.println(e);
编译结果
Integer localInteger1 = Integer.valueOf(100);
Integer localInteger2 = Integer.valueOf(100);
Integer localInteger3 = Integer.valueOf(200);
Integer localInteger4 = Integer.valueOf(200);
Integer localInteger5 = Integer.valueOf(localInteger3.intValue() + localInteger4.intValue());
System.out.println(localInteger1 == localInteger2);
System.out.println(localInteger1.intValue() == 100);
System.out.println(localInteger3 == localInteger4);
System.out.println(localInteger3.intValue() == 200);
System.out.println(localInteger5);
4.Number 父类
是所有数值类型的父类
5.toBinaryString 输出十进制数的相应二进制表达式
public static String toBinaryString(int i) {
return toUnsignedString(i, 1);
}
private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0);
return new String(buf, charPos, (32 - charPos));
}
String binaryString = Integer.toBinaryString(2);
System.out.println(binaryString);
执行流程分析:
radix = 1 << 1 ==> 2 ;
mask = radix - 1 = 1 ;
charPos = 32
循环,do while 先执行,然后判断是否满足条件
-- charPos ==> charPos = 31 数组最后一位,数组总容量32 ,Java中int 占 4字节,32bit
i & mask ==> 10 & 01 = 0
buf[31] = digits[0] = 0
i >>>= 1 ==> 2 向右移动一位 ==》 1
-- charPos ==> charPos = 30
i & mask = 01 & 01 = 01 ==> 1
buf[32] = digits[1] = 1
i >>>= 1 ==> 1 向右移动一位 ==》 0
退出循环
流程总结:
mask 为标记位,每次与目标值相与操作后,得到目标值的最后一位
新建数组存放得到的数据值
将目标值向右移动,左侧补零;再重复上述过程,直到目标值为0
分享到:
相关推荐
### Transform Coding with Integer-to-Integer Transforms #### 概述 《Transform Coding with Integer-to-Integer Transforms》一文由Vivek K Goyal撰写,发表于2000年3月的IEEE Transactions on Information ...
HugeInteger Class) Create a class HugeInteger that uses a 40-element array of digits to store integers as large as 40 digits each. Provide member functions input, output, add and subtract. For ...
《Clock_Integer 指令库应用详解》 在嵌入式系统开发中,精确的时钟管理是至关重要的。Clock_Integer 指令库提供了一种高效、灵活的方式来处理与时间相关的任务,尤其是在实时操作系统(RTOS)或者微控制器(MCU)...
在使用MyBatis Generator生成Java DAO层代码时,可能会遇到将数据库中的tinyint类型映射成Integer类型的问题。这个问题在上述描述中得到了详细的解释。首先,我们来看一下问题的背景和原因。 在Java环境中,使用...
在 Java 编程中,`BigDecimal` 和 `Integer` 是两个不同类型的数值表示。`BigDecimal` 用于处理精确的浮点数运算,适合财务或金融计算,因为它可以避免浮点数计算中的精度问题。而 `Integer` 是 Java 中的整数类型,...
在使用MyBatis进行数据操作时,我们经常会遇到关于返回值类型的困扰,特别是涉及到基本类型int和对象类型Integer之间的转换。标题"mybatis返回Integer"指的是在MyBatis的映射文件或者Mapper接口中,使用Integer作为...
在给定的标题中,“mybatis逆向工具generator,中文注释,Byte改Integer”表明这是一个定制版的MyBatis Generator,特别之处在于它对生成的代码进行了修改,将原本自动产生的`Byte`类型字段改为了`Integer`类型。...
本篇文章将深入探讨`string-array`和`integer-array`的用法,以及如何在XML中定义和使用它们。 首先,`string-array`是Android中用于存储字符串数组的资源。在Android的资源XML文件(通常位于res/values/strings....
在本篇文章中,我们将深入探讨如何在不同的编程语言中实现`convert string to integer`的功能,以帮助开发者更好地理解和应用这个概念。 首先,让我们以 Ruby 为例,这可能与提供的压缩包文件 `string_to_integer....
根据给定文件的信息,我们可以对整数集合类`integerSet`进行详细的知识点解析与功能实现探讨。 ### 整数集合类integerSet #### 类定义 `integerSet`类用于存储10个位于20至80之间的整数。此类包含了一个整型数组...
在C++编程中,大整数(Big Integer)是指能够表示超出普通整型变量范围的数值类型。在标准C++库中,没有内置的大整数支持,因此开发人员需要依赖第三方库来处理这类需求。"big integer"库是其中一个解决方案,它由...
### Integer类的使用方法详解 在Java编程语言中,`Integer`类是一个非常重要的封装类,它用于将基本数据类型`int`封装成对象。这不仅增强了数据的灵活性,还提供了许多实用的方法来处理整数相关的操作。下面,我们...
在Java编程语言中,`int`和`Integer`都是用于表示整数值的数据类型,但它们之间存在着显著的差异。理解这些区别对于编写高效且优化的Java代码至关重要。 首先,`int`是Java中的原始数据类型(Primitive Type),它...
在Java编程中,将一个`List<Integer>`转换成以逗号分隔的`String`字符串是一种常见的需求,尤其是在处理数据展示或格式化输出时。Java 8引入了新的特性和方法,使得这种转换变得更加简洁和高效。下面我们将深入探讨...
【标题】"POJ1503-Integer Inquiry"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这类题目通常要求参赛者编写程序来解决特定的算法问题,以此锻炼和测试编程技能。 【描述】"解题...
在Java编程语言中,`int`和`Integer`都是用于表示整数值的数据类型,但它们之间存在着显著的差异。理解这些区别对于编写高效且优化的Java代码至关重要。 首先,`int`是Java中的原始数据类型之一,它直接存储在栈...
本文将深入探讨如何在C++中创建一个名为`IntegerSet`的集合类,以及在这个过程中涉及的关键知识点。 首先,集合类通常用于存储和操作一组特定类型的元素,比如整数。在C++中,我们可以通过定义一个类来实现这个概念...
总的来说,"ninteger_ninteger_分数阶系统_分数阶_"工具箱为研究和工程应用提供了强大的分数阶系统建模和控制手段,有助于推动分数阶系统理论的发展和实际应用的进步。对于控制系统设计者和研究人员来说,掌握和利用...
在Python的数据库操作中,尤其是当你使用pymysql库连接MySQL数据库时,可能会遇到一个警告,提示"Integer display width is deprecated and will be removed in a future release." 这个警告源于MySQL数据库的一个...
本资源包含两个重要的分数阶工具箱——ninteger和FOTF,它们是MATLAB用户进行分数阶系统建模、分析和仿真的重要工具。 1. **ninteger工具箱**: ninteger工具箱是专为MATLAB设计的一个用于分数阶微积分运算的库。...