zoukankan      html  css  js  c++  java
  • 20210309 java.lang.Integer

    java.lang.Integer

    基本信息

    • public final class Integer extends Number implements Comparable<Integer>
    • rt.jar
    • 引入版本:1.0
    • 相关类:java.util.Comparator

    使用说明

    • Integer 类将原始类型 int 的值包装在对象中。类型为 Integer 的对象包含一个类型为 int 的字段。
    • 此类提供了几种将 int 转换为 String 并将 String 转换为 int 的方法,以及其他在处理 int 时有用的常量和方法。
    • Integer 的默认基数是 10,默认是十进制
    • 需要重点理解其中的 无符号值( Unsigned
    • 需要从字节、位层面上理解其中的一些方法

    静态常量

    静态常量
    int MIN_VALUE
    int 能够表示的最小值,-2 的 31 次方
    int MAX_VALUE
    int 能够表示的最小值,2 的 31 次方减 1
    Class<Integer> TYPE
    原始类型 int 的 Class 实例
    int SIZE
    32,用于表示二进制补码二进制形式的 int 值的 bit 数。
    int BYTES
    4,用于表示二进制补码二进制形式的 byte 的 bit 数。

    构造方法

    构造方法
    Integer(int value)
    Integer(String s)
    转为 10 进制的整数,不能超过大小限制

    公共方法

    重写父类方法

    java.lang.Number

    重写父类方法
    byte byteValue()
    short shortValue()

    java.lang.Number

    重写父类方法
    String toString()
    int hashCode()
    Integer 类型的 hashCode 是本身的十进制值
    boolean equals(Object obj)

    实现抽象方法

    java.lang.Number

    实现抽象方法
    int intValue()
    long longValue()
    float floatValue()
    double doubleValue()

    实现接口方法

    java.lang.Comparable

    实现接口方法
    int compareTo(Integer anotherInteger)

    静态方法

    静态方法
    String toString(int i)
    String toString(int i, int radix)
    返回第二个参数指定的基数中第一个参数的字符串表示形式。(如果不指定是 10 进制)
    如果基数小于 2 Character.MIN_RADIX 或大于 36 Character.MAX_RADIX,则使用基数 10
    int parseInt(String s)
    int parseInt(String s, int radix)
    将字符串参数解析为第二个参数指定的基数(默认为 10)中的有符号整数
    Integer valueOf(int i)
    Integer valueOf(String s)
    Integer valueOf(String s, int radix)
    返回新的 Integer 对象
    内部使用 parseInt 方法
    String toUnsignedString(int i)
    String toUnsignedString(int i, int radix)
    将整数转为一个无符号数
    返回指定基数中参数的无符号字符串表示形式。
    int parseUnsignedInt(String s)
    int parseUnsignedInt(String s, int radix)
    将字符串参数解析为第二个参数指定的基数(默认是 10)中的无符号整数。
    无符号整数将通常与负数关联的值映射为大于 MAX_VALUE 的正数。
    long toUnsignedLong(int x)
    通过无符号转换将参数转换为 long
    String toBinaryString(int i)
    返回整数参数的字符串表示形式,以 2 为底的无符号整数。
    可以通过调用 Integer.parseUnsignedInt(s,2)从返回的字符串s中恢复参数的值。
    String toOctalString(int i)
    转为 8 进制表示的字符串
    String toHexString(int i)
    转为 16 进制表示的字符串
    int hashCode(int value)
    返回十进制值作为 hash 码
    Integer getInteger(String nm)
    Integer getInteger(String nm, int val)
    Integer getInteger(String nm, Integer val)
    System.getProperties() 中的属性获取整型值,如果没有该属性或者属性值不是整型,返回 null 或默认值参数
    Integer decode(String nm)
    将字符串解码为整数。 接受十进制,十六进制和八进制数字的 Java 表示
    int compare(int x, int y)
    比较两个整型值,返回 -1,0,1(x > y)
    int compareUnsigned(int x, int y)
    将两个整型值作为无符号值比较
    int divideUnsigned(int dividend, int divisor)
    将两个整型值作为无符号值进行除法操作
    int remainderUnsigned(int dividend, int divisor)
    将两个整型值作为无符号值进行取余操作
    int highestOneBit(int i)
    返回二进制表示法中最高一位 1 表示的整数值
    int lowestOneBit(int i)
    返回二进制表示法中最低一位 1 表示的整数值
    int numberOfLeadingZeros(int i)
    32 位二进制表示法前面 0 的个数
    int numberOfTrailingZeros(int i)
    32 位二进制表示法后面 0 的个数
    int bitCount(int i)
    32 位二进制表示法中 1 的个数
    int rotateLeft(int i, int distance)
    32 位二进制表示法左移,最左的位被移到最右
    int rotateRight(int i, int distance)
    32 位二进制表示法右移,最右的位被移到最左
    int reverse(int i)
    按位反转
    int reverseBytes(int i)
    按照字节(8位)进行反转
    int signum(int i)
    返回符号位,1(正数)、0(0)、-1(负数)
    int sum(int a, int b)
    求和
    int max(int a, int b)
    求较大值
    int min(int a, int b)
    求较小值

    示例代码

    public class IntegerTest {
        @Test
        public void test() {
            Integer integer1 = new Integer(20);
            Integer integer2 = new Integer(-20);
    
            System.out.println(Integer.TYPE);   // int
            System.out.println(Integer.SIZE);   // 32
            System.out.println(Integer.BYTES);  // 4
            System.out.println(Integer.MIN_VALUE);  // -2147483648
            System.out.println(Integer.MAX_VALUE);  // 2147483647
    
            BigDecimal bigDecimal = new BigDecimal(Math.pow(2, 31));
            System.out.println(bigDecimal.intValue());  // -2147483648
            bigDecimal = bigDecimal.subtract(new BigDecimal(1));
            System.out.println(bigDecimal.intValue());  // 2147483647
    
            System.out.println(integer1.byteValue());    // 20
            System.out.println(integer2.byteValue());    // -20
    
            System.out.println(integer1.hashCode());    // 20
            System.out.println(integer2.hashCode());    // -20
    
    
            System.out.println(Integer.toString(integer1, 2));  // 10100
            System.out.println(Integer.toString(integer1, 0));  // 20
            System.out.println(Integer.toString(0, 2));  // 0
            System.out.println(Integer.toString(integer2, 2));  // -10100
    
            System.out.println(Integer.parseInt("-20"));    // -20
            System.out.println(Integer.parseInt("20")); // 20
    
            System.out.println(Integer.toUnsignedString(integer1, 2));  // 10100
            System.out.println(Integer.toUnsignedString(integer2));  // 4294967276
            System.out.println(Integer.toUnsignedString(integer2, 2));  // 11111111111111111111111111101100
    
            System.out.println(Integer.parseUnsignedInt("4294967276"));     // -20
            System.out.println(Integer.parseUnsignedInt("11111111111111111111111111101100", 2));    // -20
    
            System.out.println(Integer.toBinaryString(integer1));   // 10100
            System.out.println(Integer.toBinaryString(integer2));   // 11111111111111111111111111101100
    
            System.out.println(Integer.toOctalString(100));    // 144
            System.out.println(Integer.toHexString(100));    // 64
    
            System.out.println(Integer.hashCode(Integer.parseUnsignedInt("4294967276")));   // -20
    
            System.out.println(System.getProperty("sun.arch.data.model"));  // 64
            System.out.println(Integer.getInteger("sun.arch.data.model"));   // 64
            // System.getenv() 中的
            System.out.println(Integer.getInteger("PROCESSOR_LEVEL"));   // null
            System.out.println(Integer.getInteger("user.country", 55)); // 55
    
            System.out.println(Integer.decode("100"));    // 100
            System.out.println(Integer.decode("0144")); // 100
            System.out.println(Integer.decode("0x64")); // 100
            System.out.println(Integer.decode("0X64")); // 100
            System.out.println(Integer.decode("#64")); // 100
    
    
            System.out.println(Integer.compare(10, 9));     // 1
            System.out.println(Integer.compare(10, 10));     // 0
            System.out.println(Integer.compare(9, 10));     // -1
    
            System.out.println(Integer.toUnsignedString(-10));  // 4294967286
    
            System.out.println(Integer.compareUnsigned(-10, 9));     // 1
            System.out.println(Integer.compareUnsigned(-10, 10));     // 1
            System.out.println(Integer.compareUnsigned(10, -10));     // -1
            System.out.println(Integer.compareUnsigned(9, -10));     // -1
    
            System.out.println(Integer.MIN_VALUE);  // -2^31
            System.out.println(Integer.MAX_VALUE);  // 2^31-1
            System.out.println(4294967286L + 10);   // 4294967296
            System.out.println(Math.pow(2, 32));     // 4294967296
    
    
            System.out.println(Integer.divideUnsigned(-10, 10));    // 429496728
            System.out.println(4294967286L / 10);   // 429496728
    
    
            System.out.println(Integer.remainderUnsigned(-10, 10)); // 6
            System.out.println(4294967286L % 10); // 6
    
    
            System.out.println(Integer.toBinaryString(10)); // 1010
            System.out.println(Integer.toBinaryString(-10)); // 11111111111111111111111111110110
    
            System.out.println(Integer.highestOneBit(10));  // 8 = 2^3
            System.out.println(Integer.toBinaryString(100)); // 1100100
            System.out.println(Integer.highestOneBit(100));  // 64 = 2^6
            System.out.println(Integer.highestOneBit(-10)); // -2147483648
    
    
            System.out.println(Integer.lowestOneBit(10));  // 2 = 2^1
            System.out.println(Integer.toBinaryString(100)); // 1100100
            System.out.println(Integer.lowestOneBit(100));  // 4 = 2^2
            System.out.println(Integer.lowestOneBit(-10)); // 2 = 2^1
    
            System.out.println(Math.floor(Math.log(10)));   // 2.0
            System.out.println(Math.ceil(Math.log(10)));    // 3.0
            System.out.println(Integer.numberOfLeadingZeros(10));   // 28
            System.out.println(Integer.numberOfLeadingZeros(9));   // 28
            System.out.println(Integer.numberOfLeadingZeros(100));   // 25
            System.out.println(Integer.numberOfTrailingZeros(10));  // 1
            System.out.println(Integer.numberOfTrailingZeros(100));  // 2
    
    
            System.out.println(Integer.bitCount(10));   // 2
            System.out.println(Integer.bitCount(100));   // 3
    
    
            System.out.println(Integer.parseUnsignedInt("00000000000000000000000000001010", 2));    // 10
            System.out.println(Integer.rotateLeft(10, 1));  // 20
            System.out.println(Integer.rotateLeft(10, 2));  // 40
            System.out.println(Integer.rotateRight(10, 1));  // 5
            System.out.println(Integer.parseUnsignedInt("10000000000000000000000000000010", 2)); // -2147483646
            System.out.println(Integer.rotateRight(10, 2));  // -2147483646
            System.out.println(Integer.parseUnsignedInt("01000000000000000000000000000001", 2)); // 1073741825
            System.out.println(Integer.rotateRight(10, 3));  // 1073741825
    
    
            System.out.println(Integer.reverse(10));    // 1342177280
            System.out.println(Integer.toUnsignedString(1342177280, 2));     // 1010000000000000000000000000000
    
            System.out.println(Integer.reverse(100));    // 637534208
            System.out.println(Integer.toUnsignedString(637534208, 2));     // 100110000000000000000000000000
    
    
            System.out.println(Integer.signum(10));     // 1
            System.out.println(Integer.signum(0));     // 0
            System.out.println(Integer.signum(-10));    // -1
    
    
            System.out.println(Integer.reverseBytes(10));   // 167772160
            System.out.println(Integer.toUnsignedString(167772160, 2)); // 1010000000000000000000000000
            System.out.println(Integer.reverseBytes(100));  // 1677721600
            System.out.println(Integer.toUnsignedString(1677721600, 2));    // 1100100000000000000000000000000
        }
    }
    
  • 相关阅读:
    .net C# 利用Session防重复点击防重复提交
    子报表修改后需要重新导入,0.00显示.00的调整方法
    svn错误 svnserve.conf:12: Option expected解决办法
    mysql远程访问 登录ERROR 1130: is not allowed to connect to this MySQL server解决办法
    phpmyadmin新加用户登陆不了,测试解决方案。
    自己封装的php Curl并发处理,欢迎提出问题优化。
    js和php计算图片自适应宽高算法实现
    jquery获取浏览器宽高
    swftools中的pdf2swf转换Error overflow ID 65535 解决办法
    php 根据ip获取城市以及网络运营商名称(利用qqwry.dat)
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/14507123.html
Copyright © 2011-2022 走看看