Integer类型和Long类型

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;

	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值