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.正则表达式切割时稳定形式

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

目录
相关文章
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
136 1
|
Java 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第26天】 在现代计算机科学中,多线程编程是一个复杂且强大的概念。Java作为一种广泛使用的编程语言,其对多线程的支持使得开发者能够创建出更为复杂、高效和响应迅速的应用程序。本文将深入探讨Java中的多线程编程,从基础概念到实际编程技巧,为读者提供全面的理解和实践指导。
|
Java 调度 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第29天】 在现代软件开发中,多线程编程是一个不可忽视的领域。特别是在Java这种广泛使用的编程语言中,掌握多线程的概念和技术对于开发高效、响应迅速的应用程序至关重要。本文将深入探讨Java多线程的核心概念、实现机制以及常见问题的解决方案。我们将从基础出发,逐步揭示如何通过多线程提升程序性能,并且讨论并发编程中的挑战和解决策略。文章的目的是为开发者提供一个清晰的多线程编程指南,帮助他们在实际项目中有效地应用这些知识。
95 3
|
监控 IDE Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第30天】 在现代软件开发中,多线程编程是提高应用程序性能和响应能力的关键。特别是在Java这样的多平台、多用途的编程语言中,掌握多线程技术至关重要。本文旨在为读者提供有关Java多线程编程的全面介绍,从基本概念到高级应用技巧,帮助初学者和有经验的开发者理解并有效使用多线程。文章不仅涉及基础理论,还包括代码示例和最佳实践,确保读者能够将知识应用于实际项目中。
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【5月更文挑战第28天】 在现代计算机科学中,多线程编程是一个重要的概念,它允许程序同时执行多个任务。在Java中,多线程编程是通过创建并管理线程来实现的。本文将介绍Java中多线程编程的基础知识,包括线程的概念、创建和控制线程的方法,以及线程同步和通信的相关技术。通过阅读本文,读者将对Java中的多线程编程有一个全面的了解,并能在实际编程中应用这些知识。
|
安全 Java
Java基础知识面试总结(全面,实时更新)
Java基础知识面试总结(全面,实时更新)
|
安全 Java 数据安全/隐私保护
Java中的多线程编程:基础知识与实践
【5月更文挑战第24天】 在现代软件开发中,多线程编程是提升应用性能和响应速度的关键技术之一。Java 作为一种广泛使用的编程语言,其内置的多线程功能为开发者提供了强大的并发处理能力。本文将深入探讨 Java 多线程的基础概念、实现机制以及在实际开发中的应用。我们将从线程的创建和管理出发,逐步讲解同步机制、死锁问题以及如何利用高级并发工具有效地构建稳定、高效的多线程应用。通过理论结合实例的方式,旨在帮助读者掌握 Java 多线程编程的核心技能,并在实际项目中灵活运用。
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【5月更文挑战第19天】多线程编程是Java中的一个重要概念,它允许程序员在同一时间执行多个任务。本文将介绍Java多线程的基础知识,包括线程的创建、启动和管理,以及如何通过多线程提高程序的性能和响应性。
Java中的多线程编程:基础知识与实践
【5月更文挑战第13天】在计算机科学中,多线程是一种使得程序可以同时执行多个任务的技术。在Java语言中,多线程的实现主要依赖于java.lang.Thread类和java.lang.Runnable接口。本文将深入探讨Java中的多线程编程,包括其基本概念、实现方法以及一些常见的问题和解决方案。
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结