JAVA_SE第八章 正则表达式&局部代码块&单例模式

一、正则表达式

1、正则表达式定义

这里写图片描述

2.常用正则表达式符号

这里写图片描述

3.用法示例1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
public class test8 {
    public static void main(String [] args) {
        System.out.println("-------------------------------");
        Pattern p = Pattern.compile("\\d{6}");
        Matcher m = p.matcher("123456");
        System.out.println(m.matches());//true

        System.out.println("邮政编码验证"+m.matches());//true
        System.out.println("-------------------------------");
        p = Pattern.compile("1\\d{10}");
        m = p.matcher("12345678902");
        System.out.println("手机号验证"+m.matches());
        System.out.println("-------------------------------");
        Pattern pa = Pattern.compile("[a-zA-Z0-9]{4,10}");
        Matcher ma = pa.matcher("sgg123");
        System.out.println("用户名验证"+ma.matches());
        ma = pa.matcher("234");
        System.out.println("用户名验证"+ma.matches());

    }
}

4.用法示例2:

/**
 * 正则表达式
 */
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test7 {
    public static void main(String[] args) {
        //1.设置正则表达式
//      Pattern p = Pattern.compile("[0-9]{6}"); 
        Pattern p = Pattern.compile("\\d{6}");
        //2.设置要验证的数据
        Matcher m = p.matcher("123456");
        //3.验证
        System.out.println(m.matches());//true
    }

}

二、局部代码块:

用大括号括起来,限制局部变量的使用范围和生命周期。
public void 方法中 {
    {
        作用:限制局部变量的使用范围和销毁范围
    }
}

静态导入

package a1;
public class A1 {
    public void sf1() {
        System.out.println("helloword");
    }
}

--------------------------------------------------------------------

package b1;
import static a1.A1.sf1; //1
import statica1.A1.*;    //与1二选一即可 
public class B1 {
    public void show () {
        sf1();
        System.out.println();
    }
}

三、单例模式

只能创建一个对象的类。

(一)实现方式一(饿汉式实现方式)

class Window {
    private static Window win = new Window();
    private Window(){
    }
    public Window getInstance () {
        return win;
    }
}
public class TestWindow {
    public static void main(String[]args) {
        Window win1 = Window.getInstance();
        Window win2 = Window.getInstance();//会报错
        System.out.println(win1);
        System.out.println(win2);//会报错
    }
}

(二)实现方式二(懒汉式实现方式)

class Window {
    private static Window win = null;
    private Window(){
    }
    public Window getInstance () {
        if(win == null) {
            win = new Window();
        }
        return win;
    }
}
public class TestWindow {
    public static void main(String[]args) {
        Window win1 = Window.getInstance();
        Window win2 = Window.getInstance();
        System.out.println(win1);
        System.out.println(win2);
    }
}

懒汉式和饿汉式区别:

  • 1.饿汉式 静态变量在类加载时已经创建对象了;而懒汉式只有在调用方法时才创建对象赋值;
  • 2.多线程情况下饿汉式相对安全;

猜你喜欢

转载自blog.csdn.net/gegeyanxin/article/details/80558737