Java 常用类

Object

Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为超类( 父类)。所有对象(包括数组)都继承实现这个类的方法。
如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类
   public class Person { ...
   }
    等价于:
   public class Person extends Object {
   ...
    }
toString方法
  ● Object类中定义有public String toString()方法,其返回值是 String 类 型,描述当前对象的         有关信息。
  ● 当需要通过输出语句输出一个对象时,如System.out.println(person), 将自动调用该对象类       的toString()方法,如果该类中没有重写toString(),那 么默认调用Object类中的toString(),默认         输出对象hashCode值.
  ● 可以根据需要在用户自定义类型中重写toString()方法。
● equals方法
   ● Object类中定义有:
   ● public boolean equals(Object obj)方法,判断对象是否相等的逻辑。
      public boolean equals(Object obj) {
             return (this == obj);
   }
  ● Object 中的 equals 方法默认使用==比较,比较的是对象地址,这点需 要注意.
package day09常用类.tostringdemo;

public class Person{
    private String name;
    private int age;
    private int num;

    public Person(String name, int age,int num) {
        this.name = name;
        this.age = age;
        this.num=num;
    }


    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", num=" + num +
                '}';
    }

    @Override
    public boolean equals(Object obj) {
        if(obj==null){
            return false;
        }
        if(this==obj){
            return true;
        }
        if(obj instanceof Person){
            Person person=(Person)obj;
            return this.name.equals(person.name)&&this.age==person.age&&this.num==person.num;
        }
        return false;
    }
}
package day09常用类.tostringdemo;

public class TestEquals {
    public static void main(String[] args) {
        /*
        == 用于基本类型比较时,比较的是值是否相等
           用于引用类型比较时,比较的是两个引用的地址是否相等

        equals()方法用来比较对象中的内容
         */
        Person person=new Person("zhang",23,23);
        Person person1=new Person("zhang",23,23);

        System.out.println(person.equals(person1));

        //Object类中的equal()方法比较的是地址
        //所以其他的类为了比较两个对象中包含的内容是否相等,都对Object类中的equal()方法重写,改为判断对象内容

        //以后如果比较两个对象的地址是否相等时,直接使用==比较即可
        System.out.println(person1==person);
    }
}
package day09常用类.tostringdemo;


public class ToStringDemo {
    /*
    Object
        java.lang.Object  是java类体系中最顶级的,万类之祖
        toString()
        当输出一个对象时,回默认调用类中toString()方法,把对象以字符串形式输出
        类中如果没有toString()方法,会调用父类(Object)中的toString()方法

     */
    public static void main(String[] args) {
        Person person=new Person("张三",24,1001);
        System.out.println(person);
    }
}

Arrays

equals 方法
      比较两个数组对象中元素是否相等.   而数组对象中的equals用来判断与另一个数组对象是否相        等。
    声明:public static boolean equals(type[]a,type[]a2)
       参数的类型可以是原生数据类型和引用类型的任意一种类型
      返回:如果两个相等,则返回true,否则返回false
package day09常用类.arraysdemo;

import java.util.Arrays;

public class ArraysEqualsDemo {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6};
        int[] b={1,2,3,4,5,6};
        System.out.println(a==b);//false  比较的是两个数组对象的地址
        System.out.println(a.equals(b));  //false  数组也是对象,也继承了Object类,数组名.equals(),调用的是Object类中的equals
        System.out.println(Arrays.equals(a,b));//true  比较的是两个数组中的元素是否相等
    }
}

sort -排序
作用于数组的所有元素
    public static void sort(type[] a)
作用于数组指定范围内的元素
     public static void sort(type[] a, int fromIndex(包括), int toIndex(不包括))
     将指定的类型数组所有元素按数字升序进行排序。
●自定义对象排序
  自定义类实现Comparable接口 , 重写compareTo方法
package day09常用类.arraysdemo;

import java.util.Arrays;

public class ArraysSort {
    public static void main(String[] args) {
        int[] a={32,5,7,6,9,8};
        //Arrays.sort(a);对数组默认进行升序排序
        Arrays.sort(a,0,4);//指定区间进行排序 ,包含开始,不包含结束
        System.out.println(Arrays.toString(a));



        String[] s={"b","a","c","d"};
        Arrays.sort(s);
        System.out.println(Arrays.toString(s));

    }
}
package day09常用类.arraysdemo;

public class Student implements Comparable<Student>{
    private int num;
    private String name;

    public Student(int num, String name) {
        this.num = num;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "num=" + num +
                ", name='" + name + '\'' +
                '}';
    }

    //此方法用来指定排序规则
    //此方法会在sort()进行调用
    @Override
    public int compareTo(Student o) {
        return this.num-o.num;
        //return this.name.compareTo(o.name);
    }
}
package day09常用类.arraysdemo;

import java.util.Arrays;

public class TestStudent {
    public static void main(String[] args) {
        Student s1=new Student(1001,"张三1");
        Student s2=new Student(1002,"张三2");
        Student s3=new Student(1003,"张三3");
        Student s4=new Student(1004,"张三4");
        Student[] students=new Student[4];
        students[0]=s2;
        students[1]=s1;
        students[2]=s4;
        students[3]=s3;
        Arrays.sort(students);
        System.out.println(Arrays.toString(students));

        //字符串比大小,返回int值
        //System.out.println("a".compareTo("b"));


    }
}
binarySearch -使用二分搜索算法搜索指定数组
    public static int binarySearch(type[] a, type key)
    public static int binarySearch(long[] a,int fromIndex,int toIndex,long key)
   ● 参数:
      a - 要搜索的数组。
      key - 要搜索的值。
      fromIndex - 要排序的第一个元素的索引(包括)。
      toIndex - 要排序的最后一个元素的索引(不包括)。
   ● 如果key在数组中,则返回搜索值的索引;否则返回负数,表示不存在
package day09常用类.arraysdemo;


import java.util.Arrays;

public class ArraysBinarySearch {
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5, 6, 7};

        //二分查找法,数组必须有序,不存在,返回负数,若存在,返回元素的索引
        int index=Arrays.binarySearch(a, 7);
        System.out.println(index);

        //指定区间查找,包含开始索引,到结束索引-1
        int index1=Arrays.binarySearch(a,0,4,5);
        System.out.println(index1);
    }
}
copyOf方法
    数组复制,将指定数组中的元素复制到一个指定长度的新数组中,并返回 新数组.
    static int[] copyOf(int[] a, int newLength)
    fill方法
    将指定的int值分配给指定的int数组的每个元素。
    fill(int[] a, int val)
package day09常用类.arraysdemo;

import java.util.Arrays;

public class ArraysCopy {
    public static void main(String[] args) {
        /*
        数组复制:
           java数组在创建时,指定长度,一旦指定长度不能改变
           将原数组中的内容复制到指定长度的新数组中
         */
        int[] a={1,2,3,4,5};
        int[] b= Arrays.copyOf(a,10);
        System.out.println(Arrays.toString(b));

    }
}

基本数据类型包装类

基本数据类型包装类
byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
对于包装类来说,这些类的用途主要包含两种:
   ● 作为和基本数据类型对应的类类型存在。
   ● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操 作方法
package day09常用类.datetype;

public class MyInt {
    int value;

    public MyInt(int value) {
        this.value = value;
    }

    public int maxint(){
        return Integer.MAX_VALUE;
    }
    public int minint(){
        return Integer.MIN_VALUE;
    }

    public static void main(String[] args) {
        int a=10;
        MyInt b=new MyInt(10);
        System.out.println(b.maxint());
        System.out.println(b.minint());
        System.out.println(Integer.toBinaryString(3));
        /*
        java中基本数据类型,由8种关键字声明的,不是面向对象的设计
        为了对基本类型更加方便的操作,java为每一种基本类型创建了一个类来进行表示.

        核心是类中还是包含了一个基本数据类型,还包含了很多关于基本类型操作方法
        这样使用包装类型,符合面向对象思想
         */
    }
}
package day09常用类.datetype;

public class IntegerDemo {
    public static void main(String[] args) {
        int x=10;
        Integer a=new Integer(x);
        System.out.println(Integer.SIZE);
        System.out.println(Integer.BYTES);

        System.out.println(Integer.toBinaryString(342));
        System.out.println(Integer.toHexString(349));

        //如何获得int类型的包装类型对象
        Integer b =new Integer(10);
        Integer c=Integer.valueOf(12);


        //非静态方法直接对包装类的值进行操作
        System.out.println(Integer.compare(2, 2));
        System.out.println(Integer.valueOf(1));
        System.out.println( Integer.toString(2123));
        System.out.println(Integer.sum(1, 2));
        System.out.println(Integer.parseInt("2341"));
    }
}
装箱和拆箱Auto-boxing/unboxing
装箱
   自动将基本数据类型转换为包装器类型
   装箱的时候自动调用的是Integer的valueOf(int)方法
拆箱
   自动将包装器类型转换为基本数据类型
   拆箱的时候自动调用的是Integer的intValue方法
package day10常用类;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

public class InterDemo2 {
    public static void main(String[] args) {

        /*
        public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
          当自动装箱时,默认调用Integer类中的valueOf()
          这个方法内部对  -128--127之间进行缓存(数组),在此区间自动的撞见过,不会创建新的Integer,直接从数组获取
          超出此区间后,每次都会new  新的Integer对象
         */
        Integer a=10;
        Integer b=10;
        System.out.println(a==b);  //true
        System.out.println(a.equals(b));//true

        //equals(比较的是内容)
        Integer c=128;
        Integer d=128;
        System.out.println(c==d);  //false
        System.out.println(c.equals(d));//true

        Integer e=Integer.valueOf(-128);
        Integer f=Integer.valueOf(-128);
        System.out.println(e==f);
    }
}

String类/StringBuffer/StringBuilder

String类概述
   字符串是由多个字符组成的一串数据(字符序列)的字符串常量,java中所有字 符串都是String类       的实例.
有两种创建形式:
 ● 第一种:
String s = "abc";
先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找 有没有"abc", 如果没有则在常量池中添加”abc”, s引用变量指向常量池中 的”abc”,如果常量池中有,则直接指向改地址即可,不用重新创建.
第二种:
一概在堆中创建新对象,值存储在堆内存的对象中。
String s = new String("abc");
package day10常用类.stringdemo;

public class StringDemo1 {
    /*
         字符串的值不可改变,一旦字符串对象被创建,值就不能改变了

         底层存储字符串的数组,是被final修饰的,必须在对象创建之后由构造方法对其赋值
         public final char value[]

         java中字符串创建的两种方式
         方式1:
             String s1="abc";
             String s2="abc";
             在第一次创建s1变量时,会去内存中有一个叫字符串常量池的空间,检索,有没有次内容的一个字符串对象
             如果没有,就会在字符串常量池中创建一个字符对象,把对象的地址给s1,
             在第二次创建s2变量时,会去字符串常量池中查找,如果有,直接将之前创建的字符对象赋给s2
             一旦出现要创建的字符串对象内容一致,返回拿到的是同一个字符串对象的地址
         方式2:
             String s3=new String("abc");
             无论是否存在相同内容的字符串对象,都会创建一个新的字符串对象
     */
    public static void main(String[] args) {
        String s="abc";
        s+="aaa";

        String s1="abc";
        String s2="abc";
        System.out.println(s1==s2);//true
        System.out.println(s1.equals(s2));//true

        String s3=new String("abc");
        String s4=new String("abc");
        System.out.println(s3==s4);//false
        System.out.println(s3.equals(s4));//true
    }
}
构造方法
public String()
public String(String str)
public String(byte[] bytes)
public String(char[] value)
package day10常用类.stringdemo;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class StringDemo2 {
    /*
    String 构造方法
    String();
    String("abc");
    String(byte[]  bytes);
    String(char[]  value);
     */
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s1=new String();
        String s2=new String("abc");

        String s3="abc你好";
        byte[] bytes=s3.getBytes();//把字符串转为byte类型
        System.out.println(Arrays.toString(bytes));


        String s4=new String(bytes,"utf-8");
        System.out.println(s4);

        String s5="bced";
        char[] chars=s5.toCharArray();//字符串---->char数组
        System.out.println(Arrays.toString(chars));
        Arrays.sort(chars);
        String s6=new String(chars);//char数组---->字符串
        System.out.println(s6);

    }
}
判断功能
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean isEmpty()
boolean startsWith(String prefix)
boolean endsWith(String suffix)
package day10常用类.stringdemo;

public class StringDemo3 {
    /*
    判断功能:
        boolean equals(Object obj)
        boolean equalsIgnoreCase(String str)
        boolean contains(String str)
        boolean isEmpty()
        boolean startsWith(String prefix)
        boolean endsWith(String suffix)
     */
    public static void main(String[] args) {
        String s="abcd";
        System.out.println(s.equals("abcD"));//false
        System.out.println(s.equalsIgnoreCase("abcD"));//true
        System.out.println(s.contains("ab"));//判断是否包含子串,子串必须连续
        System.out.println(s.contains("ac"));//false
        System.out.println(s.isEmpty());//判断是否是空串  null关键字不是空串
        System.out.println(s.startsWith("a"));//判断是否以指定的子串开头
        System.out.println(s.endsWith("d"));//判断是否以指定的子串结尾
    }
}
获取功能
int length()
char charAt(int index)
int indexOf(String str)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)
package day10常用类.stringdemo;

public class StringDemo4 {
    /*
    获取功能
        length()
        char charAt(int index)
        int indexOf(String str)
        int indexOf(String str,int fromIndex)
        String substring(int start)
        String substring(int start,int end)
     */
    public static void main(String[] args) {
        String s="abcdcd";
        System.out.println(s.length());//获取长度
        System.out.println(s.charAt(2));//返回对应索引的字符
        System.out.println(s.indexOf("c"));//获取指定字符首次出现的位置
        System.out.println(s.indexOf("cd"));//获取指定字符首字母首次出现的位置
        System.out.println(s.indexOf("c",s.indexOf("c")+1));//从指定位置查找
        System.out.println(s.lastIndexOf("c"));//从后向前查找

        String s1=s.substring(3);//从指定位置开始截取字符串,返回一个新的子字符串
        String s2=s.substring(0,1);//从指定位置开始到指定位置结束(不包含结束)截取字符串,返回一个新的子字符串
        System.out.println(s1);
        System.out.println(s);
        System.out.println(s2);
    }
}
转换功能
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
String toLowerCase()
String toUpperCase()
String concat(String str)
Stirng[] split(分割符)
package day10常用类.stringdemo;

import java.util.Arrays;

public class StringDemo5 {
    /*
    转换功能
        byte[] getBytes()
        char[] toCharArray()
        static String valueOf(char[] chs)
        String toLowerCase()
        String toUpperCase()
        String concat(String str)
        Stirng[] split(分割符);
     */
    public static void main(String[] args) {
        Integer a = null;
        //System.out.println(a.toString());
        String s = String.valueOf(a);//把替他类型转为字符串,建议使用,避免出现空指针异常
        System.out.println(s);

        char[] c = {'a', 'b', 'c'};
        String s1 = String.valueOf(c);

        String s2="abcDEF";
        System.out.println(s2.toLowerCase());
        System.out.println(s2.toUpperCase());
        System.out.println(s2.concat("www"));//将指定字符串拼接到字符串末尾,返回一个新字符串
        System.out.println(s2);

        String s4="ab;cde;fg";
        String[] strings=s4.split(";");//使用指定的字符将字符串分割为数组   正则表达式
        System.out.println(Arrays.toString(strings));
    }
}
替换功能
String replace(char old,char new)
String replace(String old,String new)
replaceAll(String regex, String replacement)
replaceFirst(String regex, String replacement)
去除字符串两空格      String trim()
package day10常用类.stringdemo;

public class StringDemo6 {
    /*
    替换功能
       String replace(char old,char new)
       String replace(String old,String new)
       replaceAll(String regex, String replacement)
       replaceFirst(String regex, String replacement)
     去除字符串两空格
       String trim()
     */
    public static void main(String[] args) {
        String s=" abc defg ";
        System.out.println(s.replace('c', 'C'));
        System.out.println(s.replace("cd", "CC"));

        //replaceAll()使用正则表达式匹配需要替换的内容
        System.out.println(s.replaceAll("c", "CC"));
        System.out.println(s.replaceFirst("a", "CC"));

        System.out.println(s.length());
        System.out.println(s.trim().length());
        System.out.println(s.replace(" ", ""));
    }
}
StringBuffer
添加功能
public StringBuffer append(String str)
public StringBuffer insert(int offset,String str)
删除功能
public StringBuffer deleteCharAt(int index)
public StringBuffer delete(int start,int end)
替换功能
public StringBuffer replace(int start,int end,String str)
反转功能
public StringBuffer reverse()StringBuffer
截取功能
public String substring(int start)
public String substring(int start,int end)
截取功能和前面几个功能的不同
返回值类型是String类型,本身没有发生改变
package day10常用类.stringdemo;

public class StringBufferDemo2 {
    public static void main(String[] args) {
        StringBuffer s=new StringBuffer(20);
        s.append("abc");
        s.append("efg");
        //向指定位置插入字符串
        s.insert(2, "xxx");//abxxxcefg
        //删除
        s.deleteCharAt(2);//abxxcefg
        s.delete(2, 4);//abcefg   删除指定区间的内容  包含开始位置   不包含结束位置
        //替换
        s.replace(2, 4, "XXX");  //用心内容替换指定区间的内容  包括开始位置,不包含结束位置
        s.reverse();
        System.out.println(s);
    }
}
StringBuilder类功能和StringBuffer功能完全一致, StringBuffer是线程 安全的
StringBuilder  也是一个字符串缓冲区,与StringBuffer功能基本一样
区别:
   StringBuffer 中的方法被synchronized修饰,一次只允许一个请求进入操作,在多用户访问下是安全的
   StringBuilder 中没有被synchronized修饰,在多用户访问下是不安全的,只适用于单用户

   String:值不可以改变,一旦改变就创建新对象
   StringBuffer,StringBuilder:值可以改变,不会创建新对象,变得只是底层的数组
   StringBuffer:多线程是加锁的,是安全的
   StringBuilder:,没有加锁,多线程不安全,单线程安全

Math/Random

abs 绝对值
sqrt 平方根
pow(double a, double b) ab次幂
max(double a, double b)
min(double a, double b)
random() 返回 0.0 1.0 的随机数
long round(double a) double型的数据a转换为long型(四舍五入)
Random类概述
此类用于产生随机数
构造方法
   public Random()
   成员方法
   public int nextInt()
   public int nextInt(int n)
package day10常用类;

import java.util.Arrays;
import java.util.Random;

public class RandomDemo {
    public static void main(String[] args) {
        Random random=new Random();
        //随机返回
        System.out.println(random.nextBoolean());
        System.out.println(random.nextInt());//在int取值范围内随机返回一个结果
        System.out.println(random.nextInt(3));//在指定的范围内返回一个随机数,大于等于0 小于给定的值


        byte[] bytes=new byte[5];
        random.nextBytes(bytes);
        System.out.println(Arrays.toString(bytes));

    }
}

Date/Calendar/ SimpleDateFormat

Date类
使用Date类代表当前系统时间
     Date d = new Date();
     Date d = new Date(long d);
package day11;

import java.util.Date;

public class DateDemo {
    /*
    new Date();  对象,得到一个系统的当前时间
    getYear();上面有个删除线,表示此方法是弃用的方法,不建议用,但是也是可以调用的
     */
    public static void main(String[] args) {
        /*Date date=new Date();
        System.out.println(date.getYear()+1900);
        System.out.println(date.getMonth()+1);//月份从0开始
        System.out.println(date.getDate());//月中的第几天
        System.out.println(date.getDay());
        System.out.println(date.getHours());

        System.out.println(date.getTime());//1694445406342  毫秒值  从1970  1,1  0.0 到程序运行那一刻的时间差
        //测试程序运行的时间,程序运行前 new Date().getTime()  程序运行后  new Date().getTime()
        System.out.println(date);

        Date d=new Date(1694445406342l);
        System.out.println(d);*/


        Date date=new Date();
        System.out.println(date);
    }


}

● Calendar类
   Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建 对象的过程对程序员来      说是透明的,只需要使用getInstance方法创建 即可。
   Calendar c1 = Calendar.getInstance();
                   c1.get(Calendar. YEAR);
package day11;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarDemo {
    public static void main(String[] args) {
        /*
        Calendar   抽象类  定义日历功能  具体实现可以交给子类实现
        GregorianCalendar  公历  Calendar抽象类的具体子类
         */
        //两种方式
        Calendar c=new GregorianCalendar();
        //Calendar c=Calendar.getInstance();
        System.out.println(c.get(Calendar.YEAR));//get(具体日历的属性)
        System.out.println(c.get(Calendar.DAY_OF_MONTH));//日
        System.out.println(c.get(Calendar.HOUR_OF_DAY));


        System.out.println(c.getTimeInMillis());
    }
}

SimpleDateFormat 日期格式化类
         ● 构造方法
         SimpleDateFormat(格式); // yyyy-MM-dd
         ● 日期转字符串
         Date now=new Date();
         myFmt.format(now);
         ● 字符串转日期
          myFmt.parse(“2018-02-10”);
         字符串日期格式与 指定格式必须一致
package day11;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
        /*
            将Date类型格式化为指定字符串
         */
        Date date=new Date();
        String s="张三";

        /*
        yyyy 4位年
        MM    月
        dd    月中的天
        HH    24小时
        mm    分钟
        ss    秒
        E     星期
         */
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH-mm-ss   E");
          String dat=sdf.format(date);
        System.out.println(dat);

        /*
        把字符串日期转换为Date类型
         */

        String str="2002-3-2";
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
            Date d=sdf1.parse(str);
        System.out.println(d);

    }
}

BigInteger/BigDecimal

BigInteger
BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意 精度的整       数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而 不会丢失任何信         息。
BigInteger类位于java.math包中
构造方法
    BigInteger(String val) /BigInteger(byte[] val) ...
   基本运算方法
   add(),subtract(),multiply(),divide()
package day11;

import java.math.BigInteger;

public class BigIntegerDemo {
    /*
    计算超大整数
     */
    public static void main(String[] args) {
        BigInteger a=new BigInteger("111111111111111111111111111111111");
        BigInteger b=new BigInteger("111111111111111111111111111111111");
        BigInteger c=a.add(b);
        System.out.println(c);
    }
}
BigDecimal

在计算机中float 还是double都是浮点数,而计算机是二进制的,浮点数会失 去一定的精确度。
根本原因是:十进制浮点值没有完全相同的二进制表示形式;十进制浮点值的二进 制表示形式不精      确,只能无限接近于那个值.
package day11;

import java.math.BigDecimal;

public class BigDecimalDemo {
    public static void main(String[] args) {
        /*
        传进去的数值精确计算  传字符串类型
         */
        BigDecimal a=new BigDecimal("0.1");
        BigDecimal b=new BigDecimal("0.2");
        BigDecimal c=a.add(b);
        BigDecimal d=a.divide(b);
        System.out.println(c);
        System.out.println(d);
    }
}

正则表达式

规则
 是一种模式匹配语法,可以使用一些符号来定义一个规则,然后用规则与字符串进行匹配
正则表达式的符号:
   \d   匹配的是0-9之间的数字
   \d*  匹配任意长度
   [a-z]
   [A-z]
   \\w==[A-z0-9-]
   .  匹配任意字符   \\.进行转义,只能匹配.
   |   X|Y   或
package day10常用类.stringdemo;

import java.util.Arrays;

public class StringDemo7 {
    public static void main(String[] args) {
        String name="张三";
        String s="ab:cd:efg";
        String[] arr=s.split(":");
        System.out.println(Arrays.toString(arr));
        /*
           验证输入的内容必须是手机号格式
             第一位是1
             第二位是3  5  7  8  9
             第三位是任意数字
           拿到字符串每一位进行判断
         */
        String s1="13456789108";
        //boolean b= s1.matches("\\d");   匹配一位数字
        //boolean b= s1.matches("\\d*"); 匹配任意数字
        //boolean b= s1.matches("\\d{9}");  只能是n次
        //boolean b= s1.matches("\\d{3,}");  至少n次
        //boolean b= s1.matches("\\d{3,6}");  //至少n次  不超过m次
        //boolean b= s1.matches("[3578]*");
        boolean b=s1.matches("1[35789]\\d{9}");
        System.out.println(b);


        //验证qq号   数字  6-12位,0不能开头
        String p="2113454";
        boolean d=p.matches("[1-9]\\d{5,11}");
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值