java estudio señala 13: expresiones regulares, clase System, clase Date, clase Calendar

En primer lugar, las expresiones regulares
1, Información general: se utiliza para describir un partido o una serie de partidos, a las reglas de sintaxis de cadena, de hecho, por regla general, tienen su propia aplicación en particular.
2, se compone de la expresión regular
(1), carácter

expresión En nombre del significado de
X Carácter x. Ejemplo: 'a' representa un carácter
\ caracteres de barra invertida.
\norte Nueva línea (salto de línea) ( '\ u000A')
\ r retorno de carro ( '\ u000d')
[a B C] a, b o C (Perfil Simple)
[^ Abc] Cualquier carácter, además de A, B o C (negativo)
[A-zA-Z] de A a Z o de A a Z, incluyendo dos cartas (rango)
[0-9] 0-9 se incluyen caracteres
. Cualquier carácter. I es. Personaje en sí, cómo se representan ?.
\re Digital: [0-9]
\ w caracteres de palabra: [a-zA-Z_0-9]

(2), el límite matcher

expresión En nombre del significado de
^ A partir de la línea
PS Fin de la línea
\si Límite de palabra no es un lugar carácter de palabra.

(3), cuantificador Greedy

expresión En nombre del significado de
¿X? X O una vez que no hay tal "" cadena vacía no es
X * X Cero o más veces mayor que igual a 1 se cuentan varias veces
X + X Una o más veces
X {n} X Exactamente n veces
X {n,} X Al menos n veces
X {n, m} X Al menos n veces, pero no más de m veces

(4), por ejemplo

  String regx="abc";//定义正则表达式
      regx="\\|";  // \\ 转意字符
      regx="[abcdef]"; // 是我这个中括号出现的某一个字符
      regx="[12345]";
      regx="[12344abcdef]";
      regx="[0-9]";
      regx="[a-z]";
      regx="[A-Z]";
      regx="[a-zA-Z0-9]";
      regx="[^abc]"; //^ 不是我这个列表里面的一个字符
      regx=".."; //匹配单个任意字符
      regx="\\.";// \\. 代表点本身
      regx="\\d"; //等价于 [0-9]
      regx="^\\w$";// 等价于 [a - z_A - Z0 - 9]
      //数量词
      regx="[a-z]*"; //* 0次或多次  空串 就是0次  1个也算多次
      regx="[0-9a-zA-Z]+"; // + 一次 或多次
      regx="[a-z]?";//一次 或一次也没有
      regx="[a-z]{5}"; //正好几次
      regx="[a-z]{5,}"; //至少几次
      regx="[a-z]{5,15}";//  大于等与5  小于等于 15
       regx = "[1-9][0-9]{4,14}";  //正则表达式 正则表达式的语法
   boolean b = "abcd".matches(regx);

3, las funciones de expresión regular
(1), la función de determinar

  • partidas públicas booleanos (expresiones regulares String)
 public class Test {
     public static void main(String[] args) {
       //需求:校验邮箱  org cn net com
       //[email protected]
       //定义邮箱的正则  6 ~18 个字符,可使用字母、数字、下划线,需以字母开头
       String emaliRegx="[a-zA-Z]\\w{5,17}@[1-9a-z]{2,16}\\.(com|net|cn|org)";
       boolean matches = "[email protected]".matches(emaliRegx);
       System.out.println(matches);
     }
  }

(2) función de intercepción

  • public String [] división (expresión regular);
public classTest {
    public static void main(String[] args) {
        String str="username=张三";
        String s = str.substring(0, str.indexOf("="));
        System.out.println(s);     //username
        String substring = str.substring(str.indexOf("=")+1);
        System.out.println(substring);   //张三
        String str2 = "username=|#==@张三=|||#==@password=123456";
        String[] strings = str2.split("[=\\|#@]+");
        System.out.println(strings[0]);  //username
        System.out.println(strings[1]);  //张三
        System.out.println(strings[2]);  //password
        System.out.println(strings[3]);  //123456
    }
}

(3) función de reemplazo

  • Cadena replaceAll pública (expresión regular, la sustitución de cuerda)
public class Test {
    public static void main(String[] args) {
        String s = "我爱学习编程".replace("编程", "java");
        System.out.println(s);    
        String str="我爱==#@@@=学习#===|||java";
        String s1 = str.replaceAll("[=#@\\|]+", "");//根据正则替换
        System.out.println(s1);
        //去掉中间空格
        String s2 = "我    爱   学       习   j ava";
        String s3 = s2.replaceAll(" +", "");
        System.out.println(s3);
    }
}

Dos, clase System
1 Overview: clase System contiene varios campos de clase de útiles y métodos. No se pueden crear instancias.
2, los miembros del método

  • public static void gc () // llamar al recolector de basura
  • public static void exit (int status) // dejar de Java Virtual Machine 0 0 la salida no normal es la salida anormal
  • currentTimeMillis largos estáticos públicos () // Obtener el valor de tiempo actual en milisegundos

en flujo de entrada estándar ". Esta corriente ya está abierto y listo para proporcionar datos de entrada. Típicamente, esto corresponde a la corriente de entrada de teclado

  • sc escáner = nuevo escáner (en);

cabo flujo de salida "estándar". Esta corriente ya está abierto y listo para aceptar datos de salida. Típicamente, esta corriente correspondiente a la salida de la pantalla

  • PrintStream cabo = System.out;

3, los miembros de la clase utilizando el método Sistema

public class Test {
    public static void main(String[] args) {
      //循环耗时
      //当前系统的毫秒值,从 1970 01 01 00:00:00 来参照的
        long start = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            System.out.println(i);
        }
        long end = System.currentTimeMillis();
        System.out.println("循环耗时"+(end-start)+"毫秒");
        //获取指定的环境变量值。
        String java_home = System.getenv("JAVA_HOME");
        System.out.println(java_home);
        String path = System.getenv("Path");
        System.out.println(path);
    }
}

Tres, la clase BigDecimal
1 Descripción: Como en el momento de la operación, tipo float y doble precisión pueden perderse fácilmente, por lo tanto, con el fin de representar con precisión, cálculo de punto flotante, Java proporciona BigDecimal. Inmutable, de precisión arbitraria firmó números decimales.
2, el método de configuración

  • BigDecimal pública (String val)

3, métodos miembro

  • BigDecimal pública para sumar (sumando BigDecimal) // 加
  • reste pública BigDecimal (BigDecimal sustraendo) // 减
  • BigDecimal pública se multiplican (BigDecimal multiplicando) // 乘
  • pública BigDecimal división (BigDecimal divisor) // 除法
  • división público BigDecimal (BigDecimal divisor, int escala, int roundingMode) // escala volver varias cifras decimales, roundingMode compensaciones, tales como el modo de redondeo

4, y miembro método constructor usando un BigDecimal clase

public class Test {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("10");
        BigDecimal b = new BigDecimal("3");
        BigDecimal add = a.add(b); //加法
        BigDecimal subtract = a.subtract(b);//减法
        BigDecimal multiply = a.multiply(b);//乘法
        //如果不能整除,得指定这个保留的位数,以及取舍模式
        BigDecimal divide = a.divide(b,5,BigDecimal.ROUND_CEILING);//除法
        System.out.println(add.toString());//13
        System.out.println(subtract);//7
        System.out.println(multiply);//30
        System.out.println(divide);//3.33334
    }
}

Cuatro, Fecha Clase
1. Descripción general: clase Date representa un momento específico, con una precisión de milisegundos.
2, el método de configuración

  • Fecha público ()
  • Fecha público (fecha larga) // convierte un tipo de milisegundos como un objeto de fecha

3, métodos miembro

  • getTime pública de largo (): Obtener un objeto Valores sujetos fecha ms
  • setTime public void (mucho tiempo): objeto de fecha se establece en un valor especificado en milisegundos

4, utilizando, por ejemplo

public classTest {
    public static void main(String[] args) {
        Date date = new Date();
        long time = date.getTime();//获取系统当前的毫秒值
        System.out.println(time);
        Date date2 = new Date();
        date2.setTime(1000 * 60 * 60 * 24 * 5); //在计算机元年上增加相应的毫秒值
        System.out.println(date2);
    }
}

Cinco, clase Calendar
1, Información general: clase Calendar es una clase abstracta que no puede ser directamente nuevo objeto, que puede venir conseguir su objetivo a través de su a getInstance método miembro estático (), que es un momento en particular con un grupo tal como año, mes, DAY_OF_MONTH transición entre la HORA campo de calendario proporcionan algún método, y proporciona algunos métodos para manipular el campo de calendario.
2, los miembros del método

  • Cuando public static Calendario getInstance () utiliza la zona horaria predeterminada y la configuración regional para obtener un objeto calendario
  • public int get (int campo) para obtener un valor de campo de calendario dado correspondiente al campo proporcionada por el campo para venir a recoger Calendario

método 3, add () y set ()

  • La cantidad de tiempo public void add (int campo, cantidad int) de acuerdo con las reglas de calendario, para un complemento natural determinado o restar un campo especificado
  • conjunto final public void (int año, mes, int, int fecha) ajustar el tiempo de calendario

4, utilizando el método de la clase Calendar

public class MyDemo2 {
    public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.YEAR,-2);
        System.out.println(instance.get(Calendar.YEAR));
        Calendar instance1 = Calendar.getInstance();
        instance1.set(Calendar.YEAR,2016);
        System.out.println(instance1.get(Calendar.YEAR));
    }
}
Publicado 24 artículos originales · ganado elogios 11 · vistas 2054

Supongo que te gusta

Origin blog.csdn.net/weixin_43791069/article/details/87306101
Recomendado
Clasificación