Java基础知识日积月累(Tip of the Day22)

简介: Java基础知识日积月累(Tip of the Day22)

1.不用new方式定义字符==相等但是是在常量池地址相同

2.正则表达式一个中括号就是一个值,里面放几个就是进行匹配的

3.{}大括号代表前面中括号的次数,就是有几个


4.使用正则表达式的好处

不用正则表达式判断手机源码:

public class Regex1 {
    public static void main(String[] args) {
        /**
         * 手机号格式:<br>
         * 159xxx 13xxx 18xxx 17xxx<br>
         * 1、必须为11位的纯数字<br>
         * 2、第1个字符必须是1<br>
         * 3、第2个字符必须是3、5、7、8
         */
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个手机号码:");
        String phone = input.next();
        // 1.计算字符串的长度
        int len = phone.length();
        if (len == 11) {// 满足长度11位
            // 2、将字符串转化成字符数组
            char[] chs = phone.toCharArray();
            // 3、判断第1个字符是否是1
            if (chs[0] == '1') {// 满足第1个字符是1
                // 4、判断第2个字符是否是3/5/7/8
                if (chs[1] == '3' || chs[1] == '5' || chs[1] == '7' || chs[1] == '8') {
                    // 5、判断手机号码后9位是否是数字
                    boolean flag = true;// 手机号码11位都是数字
                    for (int i = 0; i < chs.length; i++) {
                        if (!('0' <= chs[i] && chs[i] <= '9')) {// 当前不是数字
                            flag = false;
                            break;
                        }
                    }
                    if (flag) {
                        System.out.println("亲,手机号码格式正确!!!");
                    } else {
                        System.out.println("亲,手机号码必须全部为数字");
                    }
                } else {
                    System.out.println("亲,你手机号码有误(第2个字母不正确)");
                }
            } else {
                System.out.println("亲,您输入的手机号码有误(第1个字符必须为1)");
            }
        } else {
            System.out.println("亲,您输入的手机号码长度有误!");
        }
    }
}

可以看出上面逻辑较为复杂,但是每个错误很清晰,但是正则也就只能判断正误.

5.{}大括号可以传两个参数代表上下线也就是5-12位

6.* + ?在正则表达式的作用


7.可以使用或进行选择

优化语句

8.正则表达式有预定义的字符

9.正则表达式的定义及使用

10.正则表达式遇到点的切割

11.正则表达式遇到空格的切割


12.正则表达式切割时稳定形式

说明不论什么符号切割加上\\不会出现一些特殊情况,也是一种经验吧.

目录
相关文章
|
4月前
|
Java C++ 索引
【Java】JavaSE基础知识
【Java】JavaSE基础知识
111 0
|
27天前
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【4月更文挑战第5天】 在现代软件开发中,多线程编程是一个不可或缺的技术要素。它允许程序员编写能够并行处理多个任务的程序,从而充分利用多核处理器的计算能力,提高应用程序的性能。Java作为一种广泛使用的编程语言,提供了丰富的多线程编程支持。本文将介绍Java多线程编程的基础知识,并通过实例演示如何创建和管理线程,以及如何解决多线程环境中的常见问题。
|
8天前
|
IDE Java 开发工具
Java从入门到精通:1.3.1实践编程巩固基础知识
Java从入门到精通:1.3.1实践编程巩固基础知识
|
8天前
|
Java
Java基础知识整理,驼峰规则、流程控制、自增自减
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
36 3
|
8天前
|
Java 开发者
Java基础知识整理,注释、关键字、运算符
在日常的工作中,总会遇到很多大段的代码,逻辑复杂,看得人云山雾绕,这时候若能言简意赅的加上注释,会让阅读者豁然开朗,这就是注释的魅力!
39 11
|
2月前
|
关系型数据库 Java 开发工具
Java入门高频考查基础知识9(15问万字参考答案)
本文探讨了Spring Cloud的工作原理,包括注册中心的心跳机制、服务发现机制,以及Eureka默认的负载均衡策略。同时,概述了Spring Boot中常用的注解及其实现方式,并深入讨论了Spring事务的注解、回滚条件、传播性和隔离级别。文章还介绍了MySQL的存储引擎及其区别,特别关注了InnoDB如何实现MySQL的事务处理。此外,本文还详细探讨了MySQL索引,包括B+树的原理和设计索引的方法。最后,比较了Git和SVN的区别,并介绍了Git命令的底层原理及流程。
32 0
Java入门高频考查基础知识9(15问万字参考答案)
|
2月前
|
存储 缓存 算法
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)
最重要的是保持自信和冷静。提前准备,并对自己的知识和经验有自信,这样您就能在面试中展现出最佳的表现。祝您面试顺利!Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。下是几个面试技巧:复习核心概念、熟悉常见问题、编码实践、项目经验准备、注意优缺点、积极参与互动、准备好问题问对方和知其所以然等,多准备最好轻松能举一反三。
61 0
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)
|
2月前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
34 0
|
2月前
|
存储 Java 编译器
Java入门高频考查基础知识2(超详细28题2.5万字答案)
多态是面向对象编程中的一个重要概念,它允许不同类的对象对同一消息作出不同的响应。在具体实现上,多态允许一个父类的引用指向其子类的对象,并根据实际指向的对象的类型来调用相应的方法。在 Java 中,多态可以通过以下几种方式实现:在同一个类中,方法名相同,但形参列表不同,实现了多态。子类可以重写(覆盖)其父类的方法,实现多态。在父类引用中调用该方法时,根据实际指向的子类对象的类型来调用相应的方法实现。
41 0
|
2月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
95 3