一、java中八种基本数据类型对应的包装类型

基本数据类型      包装类型

byte                    java.lang.Byte

short                   java.lang.Short

int                      java.lang.Integer

long                    java.lang.Long

float                    java.lang.Float

double                  java.lang.Double

boolean                 java.lang.Boolean

char                    java.lang.Character

1.java中提供的八种基本数据类型不够用吗?为什么java中还要提供对应的包装类型?

答:提供包装类型可以更加方便的来被调用,可以想到下面的例子,使用一个Object就可以包括八种基本数据类型,如果不用的话,就得写八次函数(也就是八次重载)

package com.bjpowernode.java_learning;

​

public class D76_1_PackedType {

  public static void main(String[] args) {

​

    byte b = 10;

    //引用类型

    Byte b1 = new Byte(b);

    m1(b1);//10  Byte已经将toString方法重写了,要是没重写,这里打印出来的就是对象的地址了。

  }

  public static void m1(Object o) {

    //需求:规定m1方法可以接受Java中任何一种数

    System.out.println(o);

  }

}

二、各个包装类的继承关系

1.除了boolean和Character外,其他包装类都有valueOf()和parseXXX方法,并且还具有byteValue(),shortValue(),intValue(),longValue(),floatValue()和doubleValue()方法,这些方法是最常用的方法。

package com.bjpowernode.java_learning;

​

public class D76_2_PackedTypeExample {

  public static void main(String[] args) {

    Double d1 = new Double(48);

    int d2 = d1.intValue();

    System.out.println(d2);

  }

}

三、Integer类详细讲解

1.以java.lang.Interger;类型为例,讲解八种基本数据类型

2.举例:


package com.bjpowernode.java_learning;

​

public class D76_3_IntegerPackedClass {

  public static void main(String[] args) {

    //获取Int类型的最大值和最小值

    System.out.println("int最大值:" + Integer.MAX_VALUE);

    System.out.println("int最小值:" + Integer.MIN_VALUE);

    //以int推byte

    System.out.println("byte最大值:" + Byte.MAX_VALUE);

    System.out.println("byte最小值:" + Byte.MIN_VALUE);

    //创建Integer类型的对象

    Integer i1 = new Integer(10);

    Integer i2 = new Integer("123");

    System.out.println(i1);

    System.out.println(i2);

      //Integer i3 = new Integer("abc");//这个语句编译是可以通过的,但是运行的时候会报出“数字格式异常”,NumberFormException

    //虽然可以将字符串转化成Integer类型,但是该字符串也必须是“数字字符串”

  }

}

四、源码:

D76_1_PackedType.java

D76_2_PackedTypeExample

D76_3_IntegerPackedClass.java

https://github.com/ruigege66/Java/blob/master/D76_1_PackedType.java

https://github.com/ruigege66/Java/blob/master/D76_2_PackedTypeExample

https://github.com/ruigege66/Java/blob/master/D76_3_IntegerPackedClass.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载76-基础数据类型包装类型及其方法简介的更多相关文章

  1. Java中的基本类型和包装类型区别

    首先看一下几个测试题,验证一下java中对基本类型和包装类型的理解,看看最后输出的答案对不对,答案在这篇博客中哦: // 第一题: 基本类型和包装类型 int a = 100; Integer b = ...

  2. js基础-基本包装类型

    var t = 13; t.toString(); //t是一个简单数值类型 现在有了方法 toString 对象类型的方法 //数值类型有对应的包装类型 var t1 =new Number(333 ...

  3. Java 同时返回多个不同类型的方法

    Java 同时返回多个不同类型的方法 2016年12月02日 16:05:07 FXBStudy 阅读数:10045   前言:虽然对于这种需求不常用,且比较冷门,但是还是有其存在的价值,再次做一下整 ...

  4. python基础之序列类型的方法——字符串方法

    python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...

  5. java基础之包装类型

    包装类型引入该类型的原因:      因为基本数据类型不具备对象的特性,不能调用方法,所以有时需要将其转换为包装类. 包装类型有两大类方法:      1.将本类型和其它基本类型进行转换方法.    ...

  6. Java编程经验——Long等包装类型判断

    int等基本数据类型的值是可以通过=或者!=进行比较的,但是对于Long等包装类型想比较其和某个值是否相等是不能通过=或者!=来比较的,那究竟要怎么样进行比较呢? if (null != projec ...

  7. js基础——基本包装类型

    1.基本包装类型String   var bz = new String("Li.Linda"); //引用类型(object)         bz.name= bz.subst ...

  8. Java语言程序设计(基础篇) 第六章 方法

    第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...

  9. python基础之序列类型的方法——列表&元组

    Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法. 序列类型的方法,简单的来说就是四个字:增删改查.随 ...

随机推荐

  1. lwip stats

    lwip统计量分两种,一种是lwip自己的,一种是snmp的. 直接用snmp的 /* ----------------------------------- ---------- Statistic ...

  2. Angular RxJs:针对异步数据流编程工具

    一. RxJs:针对异步数据流编程工具 1. 创建subject类对象(发送方) 2. subject.subscribe(观察者); (注册观察者对象observer,可以注册多个相当于回调函数取数 ...

  3. [MacOS]Sublime text3 安装(一)

    官网地址 https://www.sublimetext.com/ 直接下载地址(MacOS) https://download.sublimetext.com/Sublime%20Text%20Bu ...

  4. 使用Webpack的代码拆分在Vue中进行懒加载

    参考学习:https://alexjover.com/blog/lazy-load-in-vue-using-webpack-s-code-splitting/ 学习文案:https://webpac ...

  5. Vue使用Clipboard.JS在h5页面中复制内容

    安装clipboard.js github路径:https://github.com/zenorocha/clipboard.js 安装: npm install clipboard --save 引 ...

  6. NCE L3

    单词 课文

  7. spring cloud springboot 框架源码 activiti工作流 前后分离 集成代码生成器

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  8. 【USACO】JZOJ,Luogu P2690 接苹果 (dp-线性动规)

    同步于CSDN:戳这里QAQ 来源:Luogu P2690,JZOJ 题目描述 很少有人知道奶牛爱吃苹果.农夫约翰的农场上有两棵苹果树(编号为 \(1\) 和 \(2\)), 每一棵树上都长满了苹果. ...

  9. 第一天,初学Markdown

    Markdown学习 二级标题 三级标题 字体 hello,world hello,world hello,world hello,world 引用 飞冲 分割线 图片 超链接 跳转到安徽科技学院 列 ...

  10. pyinstaller打包报错: RecursionError: maximum recursion depth exceeded 已经解决

    看上去似乎是某个库自己递归遍历超过了python的栈高度限制 搜索了一番,很快找到了解决办法: https://stackoverflow.com/questions/38977929/pyinsta ...