package com.wonders.week01.bzl;
public class IntegerTest {
public static void main(String[] args) {
/**
* 将int值转为二进制
*/
String binString = Integer.toBinaryString(8);
System.out.println("int转为二进制的值是 : " + binString);
/**
* 将int值转为16进制
*/
String hex = Integer.toHexString(8);
System.out.println("int转为16进制的值是 : " + hex);
/**
* 将int值转为字符串
*/
String str = Integer.toString(12);
System.out.println("int转为String后的值是 : " + str);
/**
* 将int值转为8进制
*/
String ocStr = Integer.toOctalString(8);
System.out.println("int转为8进制的值是 : " + ocStr);
/**
* 将int型的值按照指定的基数进行转换
* 参数1:int类型的值
* 参数2:指定的基数
*/
String s1 = Integer.toString(8, 2);
System.out.println("将int转为二进制的值是 : " + s1);
/**
* 将字符串转化为int类型,如果是一个非数值型的字符串是会抛异常的NumberFormatException
*/
int num1 = Integer.parseInt("123");
System.out.println("字符串转为int后的值是 : " + num1);
/**
* 按照指定的基数将字符串转为int类型的数值,如果是一个非数值型的字符串会抛异常NumberFormatException
*/
// int num2 = Integer.parseInt("8", 2);
// System.out.println("字符串8的二进制表示是 : " + num2);
/**
* 将int类型转为Integer类型
*/
Integer num3 = Integer.valueOf(12);
System.out.println("int转为包装类型Integer : " + num3);
/**
* 将String类型转为Integer类型
* 如果String不能解析为Integer类型就会抛出异常NumberFormatException
*/
Integer num4 = Integer.valueOf("123");
System.out.println("String转为Integer类型的值是 : " + num4);
// /**
// * 将String类型转为Integer类型
// * 如果String不能解析为Integer类型就会抛出异常NumberFormatException
// */
// Integer num5 = Integer.valueOf("8",2);
// System.out.println("String转为Integer类型的值是 : " + num5);
/**
* Integer的构造方法,参数是一个String类型
* 如果String类型不能解析为integer类型就会抛异常NumberFormatException
*/
Integer num6 = new Integer("134");
System.out.println("Integer的构造方法,初始化值是 : " + num6);
/**
* 将intger类型转为byte
*/
byte b = num6.byteValue();
System.out.println("integer转为byte : " + b);
/**
* 将intger类型转为short
*/
short s = num6.shortValue();
System.out.println("integer转为short : " + s);
/**
* 将intger类型转为int
*/
int i = num6.intValue();
System.out.println("integer转为int : " + i);
/**
* 将intger类型转为long
*/
long l = num6.longValue();
System.out.println("integer转为long : " + l);
/**
* 将intger类型转为float
*/
float f = num6.floatValue();
System.out.println("integer转为float : " + f);
/**
* 将intger类型转为double
*/
double d = num6.doubleValue();
System.out.println("integer转为double : " + d);
/**
* 将intger类型转为String
*/
String str1 = num6.toString();
System.out.println("integer转为String类型是 : " + str1);
/**
* 确定带有指定名称的系统属性的整数值
*/
Integer num7 = Integer.getInteger("123");
System.out.println("num7 = " + num7);
/**
* 将字符串解码为整数
*/
Integer num8 = Integer.decode("123");
System.out.println("解码后的数值是 : " + num8);
/**
* 把两个Integer类型的值做比较
* 如果两个值相等返回 0;
* 如果第二个参数大于第一个参数,返回 -1;
* 如果第一个参数大于第二个参数,返回 1;
*/
Integer integer1 = 12;
Integer integer2 = 13;
Integer integer3 = 12;
int res1 = integer1.compareTo(integer3);
System.out.println("res1 = " + res1);
int res2 = integer1.compareTo(integer2);
System.out.println("res2 = " + res2);
int res3 = integer2.compareTo(integer3);
System.out.println("res3 = " + res3);
/**
* 比较两个int类型的值大小
* 如果参数1小于参数2,则返回-1;
* 如果参数1等于参数2,则返回0;
* 如果参数1大于参数2,则返回1
*/
int i1=2;int i2=3;int i3= 2;
int r1 = Integer.compare(i1, i2);
int r2 = Integer.compare(i1, i3);
int r3 = Integer.compare(i2, i1);
System.out.println("r1 = " + r1);
System.out.println("r2 = " + r2);
System.out.println("r3 = " + r3);
/**
* 在指定的int值中,以最高顺序(“最左”)一比特的位置返回一个int值,最多为1位
*/
int high = Integer.highestOneBit(256);
System.out.println("high = " + high);
/**
* 在指定的int值中,以最低顺序(“最右”)一比特的位置返回一个int值
*/
int low = Integer.lowestOneBit(256);
System.out.println("low = "+ low);
/**
* 在指定的int值的补充二进制表示中,返回最高阶(“最左边”)之前的零位数
*/
int zero = Integer.numberOfLeadingZeros(2);
System.out.println("zero = " + zero);
/**
* 在指定的int值的补充二进制表示中,返回最低阶(“最右”)一比特之后的零位数字
*/
int zero1 = Integer.numberOfTrailingZeros(2);
System.out.println("zero1 = " + zero1);
/**
* 返回指定的int值的补二进制表示中一个位的数目
*/
int bits = Integer.bitCount(2);
System.out.println("bits = " + bits);
/**
* 返回通过旋转两个二进制表示的指定的int值的补体二进制表示得到的值
*/
int left = Integer.rotateLeft(125, 2);
System.out.println("left = " + left);
/**
* 通过指定的位值对指定的int值的补码值进行旋转,从而获得该值
*/
int right = Integer.rotateRight(123, 2);
System.out.println("right = " + right);
/**
* 通过在指定的int值的补充二进制表示中,倒转位的顺序
*/
int reverse =Integer.reverse(1234);
System.out.println("reverse = " + reverse);
/**
* 通过在指定的int值的补充表示中反转字节的顺序来获得所获得的值
*/
int reverse1 = Integer.reverseBytes(2);
System.out.println("reverse1 = " + reverse1);
}
}