public class Integerxuexi {
  public static void main(String[] argc)
  {
    //MAX_VALUE,MIN_VALUE 表示intl类型能表示的最大/最小值
    //SIZE 表示二进制补码表示的int值的比特位数
    System.out.println(Integer.MAX_VALUE);
    System.out.println(Integer.MIN_VALUE);
    System.out.println(Integer.SIZE);
    
    //bitCount(int i)返回指定的int值的二进制补码表示形式的1的数量
    System.out.println(Integer.bitCount(12));
    
    //byteValue() 转换为byte类型的数
    Integer bytes = new Integer("126");
    byte str1 = bytes.byteValue();
    System.out.println(str1);
    
    //compareTo(Integer anotherInteger) //比较两个Integer对象
    Integer byte1 = new Integer("126");
    System.out.println(byte1.compareTo(bytes));
    
    //Integer decode(String num)    将String解码为Integer对象
    try {
      System.out.println(Integer.decode("125"));
    } catch (NumberFormatException e) {    //String包含不可解析的整数
      // TODO: handle exception
      e.printStackTrace();
    }
    
    //doubleValue()    把Integer对象转换为double类型的数返回
    double str2 = bytes.doubleValue();
    System.out.println(str2);
    System.out.println(bytes.floatValue());
    
    //equals(Object object) 比较两对象
    System.out.println(bytes.equals(byte1));
    
    System.out.println(Integer.getInteger("sun.arch.data.model"));
    System.out.println(Integer.getInteger("java.version",10));
    
    //hashCode()    返回Integer对象的哈希码
    System.out.println(bytes.hashCode());
    
    //highestOneBit(int i)
    //返回具有单个1位的int值,在指定值中最高位的1位的位置,否则如果指定本身等于0,则返回0
    System.out.println(Integer.highestOneBit(12));
    System.out.println(Integer.lowestOneBit(12));
    
    //int intValue()    返回Integer对象表示的int类型的值
    System.out.println(bytes.intValue());
    System.out.println(bytes.longValue());
    System.out.println(bytes.shortValue());
    
    try {
      //int pareInt(String s)    将字符串解析为int类型的数
      //int pareInt(String s,int radix)    除第一个字符表示负值外,其各位通过指定的基数的数字,得到一个整数值
      System.out.println(Integer.parseInt("102"));
      System.out.println(Integer.parseInt("17", 8));
      System.out.println(Integer.parseInt("-2147483648"));
    } catch (NumberFormatException e) {
      // TODO: handle exception
      e.printStackTrace();
    }
    
    //int reverse(int i) //反转整数二进制补码的位顺序
    System.out.println(Integer.reverse(10));
    
    //反转整数字节的顺序
    System.out.println(Integer.reverseBytes(10));
    
    //获取整数符号,为负返回-1,正返回1,零返回0
    System.out.println(Integer.signum(10));
    
    //返回整数的二进制字符串
    System.out.println(Integer.toBinaryString(-2147483648));
    System.out.println(Integer.toHexString(10));
    System.out.println(Integer.toOctalString(10));
    System.out.println(Integer.toString(10, 8));
    
    //valueOf()    静态方法创建Integer对象
    System.out.println(Integer.valueOf(12));
    System.out.println(Integer.valueOf("123"));
    System.out.println(Integer.valueOf("12", 8));
  }
}