【JAVA基础篇教学】第二篇:Java包装类

简介: 【JAVA基础篇教学】第二篇:Java包装类

博主打算从0-1讲解下java基础教学,今天教学第二篇: Java包装类。


在Java中,除了原始数据类型(Primitive Data Types)外,还有对应的包装类(Wrapper Classes),用于将基础类型转换为对象。Java的包装类提供了许多额外的功能,使得基础类型可以像对象一样进行操作。

一、Java的包装类

整数类型的包装类:

Byte:对应byte

Short:对应short

Integer:对应int

Long:对应long

浮点类型的包装类:

Float:对应float

Double:对应double

字符类型的包装类:

Character:对应char

布尔类型的包装类:

Boolean:对应boolean

二、包装类与基础类型的不同之处


对象 vs. 基础类型:

基础类型是简单的数据类型,而包装类是对象。

包装类可以在堆中分配内存,可以使用方法和字段,而基础类型不具备这些特性。


空值处理:

基础类型不支持null值,但包装类可以接受null值。


自动装箱和拆箱:

自动装箱(Autoboxing):将基础类型自动转换为包装类对象。

自动拆箱(Unboxing):将包装类对象自动转换为基础类型。


对象方法:

包装类提供了许多方法来操作和处理数据,例如转换、比较、格式化等,而基础类型不具备这些方法。


三、教学案例

public class Main {
    public static void main(String[] args) {
        // 自动装箱和拆箱示例
        Integer num1 = 10; // 自动装箱
        int num2 = num1;   // 自动拆箱
 
        // 包装类对象方法示例
        Integer x = 5;
        Integer y = 10;
        System.out.println("Max: " + Integer.max(x, y));
        System.out.println("Min: " + Integer.min(x, y));
        System.out.println("To binary string: " + Integer.toBinaryString(x));
        System.out.println("Is odd: " + x.toString() + " -> " + x.toString().matches(".*[13579]$"));
 
        // 包装类对象和基础类型的比较
        int a = 20;
        Integer b = 20;
        System.out.println("a == b: " + (a == b)); // 自动拆箱
    }
}

在这个示例中,我们展示了自动装箱和拆箱的示例,以及包装类对象方法的使用。

相关文章
|
2月前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
59 2
|
9天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
33 4
|
10天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
1月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
47 1
java制作游戏,如何使用libgdx,入门级别教学
|
1月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
19 1
|
1月前
|
Oracle Java 关系型数据库
|
1月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
334 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
1月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
126 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
1月前
|
Java
【Java】什么是泛型?什么是包装类
【Java】什么是泛型?什么是包装类
18 0
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。