package junit;
import java.util.ArrayList;
import java.util.List;
public class TestInteger
{
//int 和long 保存整数,float和double保存小数, long和double是对应占用内存的两倍,运行速度慢。
public static void main(String[] args)
{
// Integer.TYPE返回 基本类型 int,可以通过这个奖Class类型为int的 变成他的包装类型Integer来处理
System.out.println(Integer.TYPE);
// int类型所能表达的最大值和最小值
int maxValue = Integer.MAX_VALUE;// 2147483647 2的31次方 -1
int minValue = Integer.MIN_VALUE;// -2147483648 -2的31次方
// 返回数字转为二进制 含 1的个数
int i = Integer.bitCount(257);
System.out.println(i);
// 判断 int数字是正数还是负数,正数返回1,负数返回-1,0返回0
int signum = Integer.signum(0);
// 将数字转换为16进制
String hexString = Integer.toHexString(15);
System.out.println(hexString);
// 解析16进制,亦可以使用Integer.parseInt(String,16)
// String.valueOf(String,16),如果是负数,在String前加‘-’
Integer aa = Integer.decode("0xf");
System.out.println("16进制---" + aa.intValue());
// 解析8进制,亦可以使用Integer.parseInt(String,8),如果是负数,在String前加‘-’
String binaryString = Integer.toBinaryString(8);
System.out.println("binaryString" + binaryString);
Integer bb = Integer.decode("017");
String string = Integer.toBinaryString(1);
System.out.println(string);
// 对数字进行二进制形式的取反,即 0 变 1, 1变 0 ,然后获取值
int reverse = Integer.reverseBytes(4); //reverseBytes(int i)
System.out.println("reverse》》》》》》"
+ Integer.toBinaryString(Integer.valueOf(reverse)));
// 右移,二进制补齐取值
int rotateRight = Integer.rotateRight(4, 1);
// 左移,二进制补齐取值
int rotateLeft = Integer.rotateLeft(4, 1);
// Integer 类型值转换为其他类型的值
int intValue = Integer.valueOf(1).intValue();
System.out.println(intValue);
float floatValue = Integer.valueOf(1).floatValue();
System.out.println(floatValue);
long longValue = Integer.valueOf(1).longValue();
System.out.println(longValue);
// 将数字转换为二进制,获取从右边开始第一次出现1的值 如100100 第三位是1,则返回2的3次方 8
int lowestOneBit = Integer.lowestOneBit(10);
int highestOneBit = Integer.highestOneBit(10);// 最高位开始
System.out.println(highestOneBit); // 这个方法 可以递归拆分一个数字的二进制组成部分
// 将 数字转换为2进制,并去掉前面所有0,有32位减 获取的值
System.out.println(Integer.numberOfLeadingZeros(4));
// 将 数字转换为2进制,并去掉前面所有0,拥有的右侧连续0
System.out.println(Integer.numberOfTrailingZeros(4));
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>");
}
// 将一个int类型的数字转换为 包含组成该数字的所有二进制 数字的集合
public static List num2List(int num)
{
/*
* List<Integer> list = num2List(3234324); for(Integer num:list){
* System.out.println(num.intValue()); }
*/
List list = new ArrayList();
while (num != 0)
{
int lowestOneBit = Integer.lowestOneBit(num);
list.add(lowestOneBit);
num = num ^ lowestOneBit;
}
return list;
}
}
Integer类型和Long类型
最新推荐文章于 2024-08-19 20:01:22 发布