基本类型封装

Java 的基本数据类型使用起来很方便,但是没有对应的方法进行操作

Java 是面向对象的,实现对基本数据类型的封装,这些类在 java.lang 包中
在这里插入图片描述
一、基本数据类型的数值范围

        System.out.println(Byte.MIN_VALUE + " " + Byte.MAX_VALUE);
        System.out.println(Short.MIN_VALUE + " " + Short.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE + " " + Integer.MAX_VALUE);
        System.out.println(Long.MIN_VALUE + " " + Long.MAX_VALUE); 
        System.out.println(Float.MIN_VALUE + " " + Float.MAX_VALUE);
        System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE); 
        System.out.println(Character.MIN_VALUE + " " + Character.MAX_VALUE); 
        // System.out.println(Boolean.MIN_VALUE + " " + Boolean.MAX_VALUE); 
		// 标红报错 基本数据类型本质上分为两大类:数值型、布尔型 布尔型没有最大最小值

二、字符串、基本数据类型的转换

1、字符串 --> 基本数据类型

// 将字符串参数解析为 int 值 
public static int parseInt(String s)
                    throws NumberFormatException
// 将字符串参数解析为 double 值
public static double parseDouble(String s) 
                          throws NumberFormatException
// 将字符串参数解析为 boolean 值
public static boolean parseBoolean(String s)    

2、基本数据类型 --> 字符串

// 返回参数的字符串表示形式
public static String toString(int i)
public static String toString(double d) 
public static String toString(boolean b)    

// 返回参数的字符串表示形式    
public static String valueOf(int i) 
public static String valueOf(double d)
public static String valueOf(boolean b)    

方法一、拼接空字符串,+"",最简单,工作中常用

方法二、封装类的 toString 静态方法;方法三、String类的 valueOf 静态方法

        // 字符串 --> 基本数据类型
        int i = Integer.parseInt("123");
        System.out.println(i);

        // 基本数据类型 --> 字符串
        String s1 = 100 + "";              // 拼接空字符串
        String s2 = Integer.toString(100); // 封装类的 toString 静态方法
        String s3 = String.valueOf(100);   // String类的 valueOf 静态方法

方法摘要

一、封装类的构造方法

基本涉及两种情况:数值做参数、数值字符串做参数

Float类,Character类、Boolean类比较特殊,单独记忆

(1)Float类:Float(float value)、Float(String s)、Float(double value)

(2)Character类:Character(char value)

(3)Boolean类:Boolean(boolean value)、Boolean(String s)

		Boolean b1 = new Boolean("TruE");  // true
		Boolean b2 = new Boolean("Hello"); // false
        // 忽略大小写时等于“true”,则分配true值,反之分配false值

二、封装类的valueOf方法

1、Character类: valueOf(char c)

2、Float类、Double类、Boolean类: valueOf(boolean b)、 valueOf(String s)

3、Byte类、Short类、Integer类、Long类:valueOf(int i)、valueOf(String s)、valueOf(String s, int radix)

 		Boolean h = Boolean.valueOf("Hello");        // false
        // 忽略大小写时等于“true”,则分配true值,反之分配false值

		Integer i1 = Integer.valueOf(0012);          // 10 数字零开头表示八进制
        Integer i2 = Integer.valueOf("-00128");      // -128
        Integer i3 = Integer.valueOf("10000000", 2); // 128 radix解释s时使用的基数 二进制

三、封装类的xxxValue方法,实例方法

1、Character类、Boolean类: charValue()、 booleanValue()

2、Byte类、Short类、Integer类、Long类、Float类、Double类:从 byteValue() 到 doubleValue() 6个方法

  		Integer i = Integer.valueOf(10);
        int num1 = i.intValue();       // 10
        double num2 = i.doubleValue(); // 10.0

四、封装类的parseXXX方法,解析字符串

1、Character类:没有parseCharacter(String s)方法

2、Float类、Double类、Boolean类: parseBoolean(String s)

3、Byte类、Short类、Integer类、Long类: parseInt(String s)、parseInt(String s, int radix)

     	int num = Integer.parseInt("1a", 16);     // 26
        boolean b = Boolean.parseBoolean("TRUe"); // true
        // 忽略大小写时等于“true”,则分配true值,反之分配false值

五、封装类的toString方法

1、Integer类:toString(int i)、toString(int i, int radix)

2、Byte类、Short类、Long类、Float类、Double类、Character类、Boolean类:toString(boolean b)

 		String str1 = Integer.toString(12);    // 12
        String str2 = Integer.toString(12, 2); // 1100 十进制数12转换为二进制字符串
        String str3 = Boolean.toString(true);  // true

装箱拆箱

一、手动装箱&拆箱

  • 装箱:基本类型 --> 封装类型 valueOf方法
  • 拆箱:封装类型 --> 基本类型 xxxValue方法
		Integer i = Integer.valueOf(666); // 666 装箱
        int num = i.intValue();           // 666 拆箱

二、自动装箱&拆箱

JDK 5 新特性,如下代码体现自动装箱、自动拆箱

程序允许把一个基本数据类型添加到类似链表等数据结构中,系统会自动完成基本类型到相应对象的转换

当从一个数据结构中获取对象时,如果该对象是基本数据的封装对象,那么系统自动完成对象到基本类型的转换

		Integer i = 1;  // 自动装箱
		i = i + 1;      // 先自动拆箱再自动装箱,包装类本身不直接支持数学运算 

		Object o = 1;   // 自动装箱 int --> Integer,Object的子类
		int j= (int) o; // 自动拆箱 Integer --> int

		List<Integer> list = new ArrayList<>(); // 集合元素类型只能是引用类型
        list.add(1); // 自动装箱
        int i = list.get(0); // 自动拆箱
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼悠奕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值