java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的!

今天为大家分享的是Integer这个包装类。在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等。我今天就为大家详细讲解一下Integer的使用吧。看代码:

package com.herman.test;

public class IntegerTest {
	public static void main(String[] args) {
		System.out.println("Integer中的常量****************************");
		System.out.println("Integer的最大取值:\t"+Integer.MAX_VALUE);
		System.out.println("Integer的最小取值:\t"+Integer.MIN_VALUE);
		System.out.println("Integer的最大位数:(以二进制补码形式表示 int 值的位数。)\t"+Integer.SIZE);
		System.out.println("Integer的类型的:\t"+Integer.TYPE);

		System.out.println();
		System.out.println("Integer中方法的使用**************************");
		int i=1000;
		System.out.println("1000的二进制表示:\t"+Integer.toBinaryString(i));
		System.out.println("1000的二进制串中“1”的总数量:\t"+Integer.bitCount(i));
		/**
		 * numberOfLeadingZeros计算方法为:32(Integer.SIZE)-Integer.toBinaryString(1000).length()
		 */
		System.out.println("1000的二进制串中从最左边算起连续的“0”的总数量:\t"+Integer.numberOfLeadingZeros(i));
		System.out.println("1000的二进制串中从最右边算起连续的“0”的总数量:\t"+Integer.numberOfTrailingZeros(i));
		/**
		 * Integer decode(String nm)
		 * 给定一个10进制,8进制,16进制中任何一种进制的字符串,
		 * 该方法可以将传入的字符串转化为10进制数字的Integer类型并返回。
		 */
		System.out.println("8的八进制为010,转换为10进制:\t"+Integer.decode("010"));
		System.out.println("10的十进制为10,转换为10进制:\t"+Integer.decode("10"));
		System.out.println("16的十六进制 为0X10,转换为10进制:\t"+Integer.decode("0X10"));
		System.out.println("1000反转整数二进制补码的位顺序:\t"+Integer.reverse(i));
		System.out.println("1000反转整数字节的顺序:\t"+Integer.reverseBytes(i));
		/**
		 * 获取整数符号,为负返回-1,正返回1,零返回0
		 */
		System.out.println("1000获取整数符号为:\t"+Integer.signum(i));
		System.out.println("创建1000的Integer对象:\t"+Integer.valueOf(i));
		System.out.println("Integer.valueOf对象的使用(1000的radix进制数):\t"+Integer.valueOf("1000", 10));
		/**
		 * Integer.getInteger(String)的功能是根据指定的名称得到系统属性的整数值。
		 * 第一个参数将被认为是系统属性的名称。
		 * 系统属性可以通过 System.getProperty(java.lang.String)方法访问得到。
		 * 属性值字符串将被解释成一个整数,并且以表示这个值的Integer对象形式返回。
		 * 可能出现的数字格式的详细说明可以在 getProperty 的定义说明里找到。
		 */
		System.out.println("getInteger取的是系统配置:\t"+Integer.getInteger("sun.arch.data.model"));
	    System.out.println("getInteger取的是系统配置:\t"+Integer.getInteger("java.version"));
	    System.out.println("getInteger取的是系统配置:\t"+Integer.getInteger("java.lang.String"));
	    /**
	     * 如果存在sun.arch.data.model系统属性的整数值,则返回该整数值
	     * 如果不存在该整数值,则返回参数(val)2的值
	     */
	    System.out.println("getInteger取的是系统配置:\t"+Integer.getInteger("sun.arch.data.model",16));
	    //返回具有单个1位的int值,在指定值中最高位的1位的位置,否则如果指定本身等于0,则返回0
	    System.out.println("返回最高位为1, 其它位为0的数(右边):\t"+Integer.highestOneBit(i));
	    System.out.println("返回最高位为1, 其它位为0的数(左边):\t"+Integer.lowestOneBit(i));
	    System.out.println("将i左移distance,如果distance为负,则右移-distance:\t"+Integer.rotateLeft(i, 2));
	    System.out.println("将i无符号右移distance,如果distance为负,则左移-distance。负的肯定会移成正的:\t"+Integer.rotateRight(i, 2));

		System.out.println();
		System.out.println("Integer对象的方法使用******************************");
		Integer obj=new Integer(1000);
		System.out.println("1000转换为byte类型的数为:\t"+obj.byteValue());
		System.out.println("Integer1000和Integer2000大小比较:\t"+obj.compareTo(new Integer(2000)));
		System.out.println("Integer2000和Integer1000大小比较:\t"+new Integer(2000).compareTo(obj));
		System.out.println("Integer1000转换为double类型的数为:\t"+obj.doubleValue());
		System.out.println("Integer1000和Integer2000大小比较:\t"+obj.equals(new Integer(2000)));
		System.out.println("Integer2000和Integer1000大小比较:\t"+new Integer(2000).equals(obj));
		System.out.println("Integer2000和Integer1000大小比较:\t"+new Integer(2000).equals(new Integer(2000)));
		System.out.println("Integer1000的哈希码:\t"+obj.hashCode());
	    System.out.println("Integer1000的int值:\t"+obj.intValue());
	    System.out.println("Integer1000的long值:\t"+obj.longValue());
	    System.out.println("Integer1000的short值:\t"+obj.shortValue());
	    System.out.println("将字符串1000解析为int类型的数:\t"+Integer.parseInt("1000"));
	    /**
	     * Integer.parseInt("1000", 2)
	     * 返回第一个参数的(字符串)的2进制(参数2为转换的进制)
	     */
	    System.out.println("返回1000的2进制"+Integer.parseInt("1000", 2));
	    /**
	     * 进制转换
	     */
	    System.out.println("1000十进制转成二进制"+Integer.toBinaryString(i));
	    System.out.println("1000十进制转八进制:\t"+Integer.toOctalString(i));
	    System.out.println("1000十进制转十六进制:\t"+Integer.toHexString(i));
	    System.out.println("十六进制转成十进制:\t"+Integer.valueOf("FFFF",16).toString());
	    System.out.println("十六进制转成二进制:\t"+Integer.toBinaryString(Integer.valueOf("FFFF",16)));
	    System.out.println("十六进制转成八进制:\t"+Integer.toOctalString(Integer.valueOf("FFFF",16)));

	    System.out.println("八进制转成十进制:\t"+Integer.valueOf("576",8).toString());
	    System.out.println("八进制转成二进制:\t"+Integer.toBinaryString(Integer.valueOf("23",8)));
	    System.out.println("八进制转成十六进制:\t"+Integer.toHexString(Integer.valueOf("23",8)));

	    System.out.println("二进制转十进制:\t"+Integer.valueOf("0101",2).toString());
	    System.out.println("二进制转八进制:\t"+Integer.toOctalString(Integer.parseInt("0101", 2)));
	    System.out.println("二进制转十六进制:\t"+Integer.toHexString(Integer.parseInt("0101", 2)));

		System.out.println();
		System.out.println("1000的二进制形式最左边的最高一位且高位后面全部补零,最后返回int型的结果"+Integer.highestOneBit(i));

	}
}

运行效果截图如下:

点击资源下载http://download.csdn.net/detail/xmt1139057136/7309395

欢迎大家关注我的个人博客,或者加入qq群135430763进行相互学习。

时间: 2024-09-19 09:01:31

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)的相关文章

java中的包装类

Java 中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能简单...,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型.  基本类型和包装类之间的对应关系: 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法

java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教。

问题描述 java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教. /*首先要知道的常识:1.关系操作符==:计算""操作数""的 值 之间的关系,结果为true或者false;这操作数指的是所有的基本数据类型以及所有对象;2.equals():是Object类中的方法,equals()作用和==相同,但是不适用于基本数据类型:3.自己定义的类可以覆盖Object类中的equals(); *///下面来看一个例

关于java中NullPointerException,求帮忙——来自java菜鸟的呼声

问题描述 关于java中NullPointerException,求帮忙--来自java菜鸟的呼声 package test1; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Random; import java.util.Set; public class CountNumber //对数字进行计数并统计出每个数字出现的次数 { public static

JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都是很痛苦的事情,但是程序之路这么长,你必须精通的不能再精通一门语言才行(有点说大了哈),但是最起码你要如鱼得水吧,我准备的资料有: JAVA编程思想 深入浅出JAVA 黑马,传智,慕课,极客学院等-的视频 Google搜索 我们既然是重新学一遍,那我们尽量就是用记事本去敲代码好了,这里我用notep

Java基础-02总结关键字,标识符,注释,常量进制,变量数据类型

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:关键字(掌握) (1)被Java语言赋予特定含义的单词(2)特点:全部小写.(3)注意事项:A:goto和const作为保留字存在.B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 /*关键

进制转换-java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制

问题描述 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制,但是老是运行出错.大神们能不能给个小例子解释一下,谢谢 解决方案 http://blog.csdn.net/vanezuo/article/details/6556768 解决方案二: 使用函数啊,你找一下,Java有相应的函数能做到 解决方案三: 如果你的程序出错,你贴出你的程序才知道. 也可以参考我给你的

蓝桥杯 java基础试题关于进制转换的

问题描述 蓝桥杯 java基础试题关于进制转换的 这道题为什么我的代码评测出现错误输入输出啊?可以帮我找找有啥潜在的问题么?谢谢了. import java.util.Scanner; public class Main { public static void from16to10(String str){ int num = 0; int j=0; for(int i=str.length()-1;i>=0;i--){ if(str.charAt(i)<'A'){ num +=((str.

jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jdk1.6.u45及1.7u45均尝试了,也重现. 重现步骤很简单,使用debug模式启动时较容易出来,debug启动tomcat,(我的是webapp)然后在页面上随便点点即发现eclipse僵死,且任何从浏览器发出的请求都卡住不能被接收执行. 1.然后从任务管理器直接杀掉eclipse对应的jav

浅议Oracle中的进制转换

oracle|转换 作者: Eygle 出处: BLOG 进制转换是开发中经常需要用到的,本文简单介绍几种常用的进制转化方法. 一 16进制转换为10进制 可以通过to_number函数实现 SQL> select to_number('19f','xxx') from dual; TO_NUMBER('19F','XXX') ---------------------- 415 SQL> select to_number('f','xx') from dual; TO_NUMBER('F',