JavaAPI.02.包装类与正则表达式

Java包装类概述及作用

  • 在Java中,基本数据类型(如 int , char , boolean 等)不是对象,而是一些简单的数据值。为了能够将这些基本类型作为对象来操作,Java提供了对应的包装类。

  • 这些包装类位于 java.lang 包中,它们是不可变的,即一旦创建了包装类的对象,就不能改变它的值。

  • 对应包装类

    • Long - 封装了基本类型 long

    • Integer - 封装了基本类型 int

    • Short - 封装了基本类型 short

    • Byte - 封装了基本类型 byte

    • Double - 封装了基本类型 double

    • Float - 封装了基本类型 float

    • Character - 封装了基本类型 char

    • Boolean - 封装了基本类型 boolean

    • 提供额外的方法包装类提供了一系列方法来处理对应的基本类型数据。

    • 存储在集合中由于集合只能存储对象,因此使用包装类可以将基本类型的数据存储在集合中。

  • 包装类的转换方法(parse)

    • Integer.parseInt(String s)

    复制代码
    int num = Integer.parseInt("123");
    System.out.println("Parsed integer: " + num); / 输出: Parsed integer: 123
    • Long.parseLong(String s)

    复制代码
    long num = Long.parseLong("1234567890123456789");
    System.out.println("Parsed long: " + num); / 输出: Parsed long:
    1234567890123456789
    • Byte.parseByte(String s)

    复制代码
    byte num = Byte.parseByte("127");
    System.out.println("Parsed byte: " + num); / 输出: Parsed byte: 127
    • Short.parseShort(String s)

    复制代码
    short num = Short.parseShort("32767");
    System.out.println("Parsed short: " + num); / 输出: Parsed short: 32767
    • Float.parseFloat(String s)

    复制代码
    float num = Float.parseFloat("123.45");
    System.out.println("Parsed float: " + num); / 输出: Parsed float: 123.45
    • Double.parseDouble(String s)

    复制代码
    double num = Double.parseDouble("123.456789");
    System.out.println("Parsed double: " + num); / 输出: Parsed double: 123.456789

正则表达式

  • 正则表达式是一种强大的文本匹配工具,可以用来查找、替换、分割字符串等。

  • 在Java中,String 类也提供了一些直接使用正则表达式的方法,如 matches()、split()、replaceAll() 等。

  • 常用方法

    • matches(String regex): 判断该字符串是否匹配给定的正则表达式。如果整个字符串匹配成功,则返回 true;否则返回 false。

    • split(String regex): 根据给定的正则表达式将字符串分割成一个数组。

    • replaceAll(String regex, String replacement): 替换所有匹配给定正则表达式的子字符串。

  • 正则表达式的基本书写符号

    • . 代表任意字符

    • \w 代表字母、数字、下划线

    • \d 代表数字

    • +指定字符重复1次或者n次,最少1次

    • ? 指定字符重复0-1次

    • {n} 只能重复n次

    • {a,} 最少重复a次

    • {,a} 最多重复a次

    • {a,b} 最少重复a次,最多重复b次

    • \s 空格

    • | 代表或者

    • a-zA-Z0-9\],可以是a-z、A-Z、0-9中的任意一个

    • *任意次,可有可无

    • 切记:Java中的\都是有两根的,"\\s","\\w","\\d"

    • .* \d * 代表有数字

    • .* [a-z] .* 代表有小写字母

    • .* [A-Z] .* 代表有大写字母

    • .* [@!.] .* 代表有特殊符号

  • 正则结合代码

    复制代码
    验证1~12个月:
            while(true) {
                System.out.println("请输入月份");
                String ii = sc.next();
                if(ii.matches("[1-9]|[1][0-2]")){
                    System.out.println("您输入的为:"+ii+"月");
                    break;
                }else {
                    System.out.println("输入错误");
                    continue;
                }
            }
相关推荐
Max_uuc2 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
简佐义的博客3 分钟前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
故事不长丨3 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3164 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
近津薪荼4 分钟前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
牵牛老人6 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
风指引着方向9 分钟前
手写 CUDA 到昇腾迁移:CANN custom-op 迁移指南
eclipse
froginwe1114 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
rannn_11131 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
灵感菇_32 分钟前
Java HashMap全面解析
java·开发语言