基本类型包装类简单入门

第三阶段 JAVA常见对象的学习

基本类型包装类

我们提出一个需求,将520的二进制、八进制、十六进制算出来,对于这种基本类型的一些操作,包装类就可以很好地解决这些问题。

  public class IntegerDemo {      public static void main(String[] args) {          int love = 520;          //转换为二进制          System.out.println(Integer.toBinaryString(love));          //转换为八进制          System.out.println(Integer.toOctalString(love));          //转换为十六进制          System.out.println(Integer.toHexString(love));      }  }  //运行结果  1000001000  1010  208

将基本数据类型封装成对象的的好处在于可以在对象中定义更多的功能方法操作该数据

常用的操作之一:用于基本数据类型与字符串之间的转换

例如:常见进制的转换

Public Static String toBinaryString(int i)

为了对基本数据类型进行更多的操作,更方便的操作,Java针对每一种数据类型都提供了对应的类类型,包装类类型。

  · byte          Byte  · short         Short  · int           Integer  · long          Long  · float         Float  · double        Double  · char          Character  · boolean       Boolean

下面的内容我们使用常见的Integer类型来讲解

(一) Integet类

Integer类的构造方法

  public class IntegerDemo2 {      public static void main(String[] args) {          int love = 520;          Integer love2 = new Integer(love);          System.out.println(love2);                    //由数字组成的字符串也可以被转换为Integer          String love3 = "520";          Integer love4 = new Integer(love3);          System.out.println(love4);      }  }

通过包装类的一些方法可以很便捷的解决很多实际问题,比如String和int类型的相互转换

(二)String和int的相互转换

(1) int → String

  package cn.bwh_02_IntString;  ?  public class IntStringDemo {      public static void main(String[] args) {          int number = 520;          //方式一:拼接字符串          String s1 = "" + number;          System.out.println(s1);  ?          //方式二(推荐方法)任何类型的数据转换成字符串          String s2 = String.valueOf(number);          System.out.println(s2);  ?          //方式三(最麻烦)          Integer i = new Integer(number);          String s3 = i.toString(number);          System.out.println(s3);  ?          //方式四          String s4 = Integer.toString(number);          System.out.println(s4);                }  }

(2) String → int (数字组成的字符串)

  package cn.bwh_02_IntString;  ?  public class StringIntDemo {      public static void main(String[] args) throws Exception{          String s = "520";          //方式一          Integer i = new Integer(s);          int x = i.intValue();          System.out.println(x);  ?          //方式二(推荐方法)          int y  = Integer.parseInt(s);          System.out.println(y);      }  }

(三) 两个JDK 5 的新特性

(1) 自动装箱和自动拆箱(JDK 5新特性)

在我想要使用包装类的一些方法的时候,我可以通过基本类型包装类的构造方法将值传入,JDK5后的新特性就为我们大大的简化了一些麻烦的步骤

  Integer a = 1;  //这就是一个自动装箱,如果没有自动装箱的话,需要这样  Integer a = new Integer(1)  ?  int b = a;  //这就是一个自动拆箱,如果没有自动拆箱的话,需要这样:  int b = a.intValue()  ?  这样就能看出自动装箱和自动拆箱是简化了基本数据类型和相对应对象的转化步骤

(2) 缓存池(JDK 5新特性)

谈到数值顺便提一提缓存池问题

在于在Java 5以后,整型对象在内部实现中通过使用相同的对象引用实 现了缓存和重用。Integer类型对于-128-127之间的数字是在缓冲区取的,所以对于在这个范围内的数值用双等号比较是一致的,因为对应的内存地址是相同的。但对于不在这区间的数字是在堆中new出来的,所以地址空间不一样,也就不相等。

(四) Character类

Character类对象中包装一个基本类别char的值此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

  //判断给定的字符是否是大写字符  public static boolean isUpperCase(char ch)  ?  //判断给定的字符是否是小写字符  public static boolean isLowerCase(char ch)  ?  //判断给定的字符是否是数字字符  public static boolean isDigit(char ch)  ?  //把给定的字符串转换为大写字符  public static boolean toUpperCase(char ch)  ?  //把给定的字符串转换为小写字符  public static boolean toLowerCase(char ch)

结尾:

如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !^_^

如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)

在这里的我们素不相识,却都在为了自己的梦而努力 ?

一个坚持推送原创Java技术的公众号:理想二旬不止

原文地址:https://www.cnblogs.com/ideal-20/p/11011686.html

时间: 2024-11-06 09:44:34

基本类型包装类简单入门的相关文章

iBatis简单入门教程

iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快.如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了. 官网为:http://www.mybatis.org/ 搭建iBatis 开发环境: 1 .导入相关的jar 包,ibatis-2.3.0.677.jar .mysql-connector-java-5.1.6

delphi指针简单入门

delphi指针简单入门:         看一个指针用法的例子:     1         var     2             X,   Y:   Integer;       //   X   and   Y   整数类型     3             P:   ^Integer;           //   P   指向整数类型的指针     4         begin     5             X   :=17; //   给   X   赋值     6

windows简单入门(1)

1.1 windows系统的关机 退出所有正在运行的程序,然后点击"关闭计算机"键关机,下面是"关闭计算机"的操作方法:                    图1-2 图1-1 1.2鼠标的操作 ① 鼠标指向一个图标 操作:移动鼠标,将其指针放到屏幕上某一对象上或位置 举例:将鼠标指针从屏幕中的某一处移动到"我的电脑"上,这样就指向了"我的电脑". ② 单击鼠标 操作:将鼠标指向某一对象后,快速按一下鼠标左键,并立即释放,这

【转】Asp.Net MVC3 简单入门详解过滤器Filter

原文地址:http://www.cnblogs.com/boruipower/archive/2012/11/18/2775924.html 前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中不想让MVC开发人员去关心和写类似身份验证,日志,异常,行为截取等这部分重复的代码,那我们可以通过AOP截取实现,而在MVC项目中我们就可以直接使用它提供的Filter的特性帮我们解决,不用自己实现复杂的AOP了. 在Asp.net Mvc

Swift简单入门教程:30分钟玩转Swift

通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现:    println("hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序.你不需要为了输入输出或者字符串处理导入一个单独的库.全局作用域中的代码会被自动当做程序的入口点,所以你也不需要main函数.你同样不需要在每个语句结尾写上分号. 这个教程会通过一系列编程

emacs最简单入门,只要10分钟

macs最简单入门,只要10分钟  windwiny @2013   无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完一遍,再动手操作.这次好像有些进展   最大的发现,emacs里所有操作都是LISP指令,包括上下左右移动光标,这意味着什么? “emacs是一个伪装成编辑器的操作系统”这句话应该就是这么理解吧,所有的操作都是指令,emacs就像操作系统一样,平时不用关注,实际上打交道的都是操作系统上运行的各种程序.

AsyncTask简单入门

关系: java.lang.Object ?    android.os.AsyncTask<Params, Progress, Result> 概述: AsyncTask是Android提供的轻量级异步类:它在后台线程处理耗时的操作然后可以将处理的结果返回给UI线程处理.由于它不涉及到使用Thread和Handler所以简单易用. 用法: 首先上一段Android Developer的代码: private class DownloadFilesTask extends AsyncTask&

Java基础学习笔记十四 常用API之基本类型包装类

基本类型包装类 Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢?在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等.那么,想实现字符串与基本数据之间转换怎么办呢?Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了对象.封装成对象有什么好处?可以提供更多

C# WCF简单入门图文教程(VS2010版)

C# WCF简单入门图文教程(VS2010版) 作者:丶一二丶 字体:[增加 减小] 类型:转载 时间:2016-03-17我要评论 这篇文章主要介绍了WCF简单入门图文教程,版本是VS2010版,帮助大家轻松学习了解DataContract.ServiceContract等特性,感兴趣的小伙伴们可以参考一下 在这个例子中我们将使用VS2010创建一个WCF服务,其中会了解[DataContract][ServiceContract]等特性. 内置的WCFSVCHost,并使用“WCF测试客户端