2019 - 05 - 23 자바 학습 일기 정규 표현 식 & 상용 도구 클래스
개요:
문법 규칙 에 맞 는 일련의 문자열 을 설명 하거나 일치 시 키 는 단일 문자열 을 말 합 니 다.
사실은 일종 의 규칙 이다. 자신 만 의 특별한 응용 이 있다.
역할:
예 를 들 어 메 일 을 등록 하면 메 일 은 사용자 이름과 비밀번호 가 있 고 길 이 를 제한 합 니 다.
이 길 이 를 제한 하 는 일 은 정규 표현 식 에서 하 는 것 이다.
package com.regex;
public class Demo1 {
public static void main(String[] args) {
//
System.out.println(checkQQ("012345"));
//
String regex = "[1-9]\\d{4,14}";
System.out.println("111111".matches(regex));
}
/**
* : qq
* 1、 5-15
* 2、 0
* 3、
* qq
* 1、 boolean
* 2、 String qq
*/
public static boolean checkQQ(String qq) {
boolean flag = true; // qq flag false,
if (qq.length() >= 5 && qq.length() <= 15) {
if (!qq.startsWith("0")) {
char[] arr = qq.toCharArray(); //
for (int i = 0; i < arr.length; i++) {
char ch = arr[i];
if (!(ch >= '0' && ch <= '9')) {
flag = false; //
break;
}
}
} else {
flag = false; // 0 , qq
}
} else {
flag = false; //
}
return flag;
}
}
정규 표현 식 의 분할 기능:
String 클래스 의 기능: Public String [] split(String regex)
주어진 문자열 의 숫자 정렬:
package com.regex;
import java.util.Arrays;
public class Test1 {
/**
* : "91 27 46 38 50" "27 38 46 50 91"
* :
* 1, UN
* 2, int
* 3,
* 4,
*/
public static void main(String[] args) {
String s = "91 27 46 38 50";
//1, UN
String[] sArr = s.split(" ");
// 2, int
int[] arr = new int[sArr.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(sArr[i]); //
}
//3,
Arrays.sort(arr);
//4,
/*String str = "";
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
str += arr[i];
}else {
str += arr[i] + " ";
}
}
System.out.println(str);*/
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
}else {
sb.append(arr[i] + " ");
}
}
System.out.println(sb);
}
}
정규 표현 식 의 그룹 기능:
캡 처 그룹 은 왼쪽 에서 오른쪽으로 괄호 를 계산 하여 번 호 를 매 길 수 있 습 니 다.
그룹 0 은 항상 전체 표현 식 을 대표 합 니 다.
a: 절단
필요: 접사 에 따라 절단 하 십시오: "adqqfgkkkjpppa 1"
b: 교체
수요: 나, 나, 나, 나.
문자열 복원: 공부 하기 좋아 합 니 다.
public static void demo3() {
String s = " ... .. . ... .... . .. ... .. . . ...... . . ";
String s2 = s.replaceAll("\\.", "");
String s3 = s2.replaceAll("(.)\\1+", "$1"); //$1
System.out.println(s3);
}
public static void demo2() {
String s = "adqqfgkkkjppppa1";
String regex = "(.)\\1+"; //+
String[] arr = s.split(regex);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void demo1() {
// ,
/*String regex = "(.)\\1(.)\\2";
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));*/
// ,
String regex = "(..)\\1";
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));
System.out.println(" ".matches(regex));
}
Pattern 과 Matcher:
패턴 과 일치 하 는 전형 적 인 호출 순서:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matchers();
정규 표현 식 가 져 오기 기능:
Pattern 과 Matcher 의 결합 사용
필요: 문자열 의 핸드폰 번 호 를 가 져 옵 니 다.
package com.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo3 {
public static void main(String[] args) {
String s = " :13912345678, 13838383388, 13345678910";
String regex = "1[3578]\\d{9}"; //
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
}
}
Math 클래스 의 개술 과 사용:
A: 개술
Math 류 는 초등 지수, 대수, 제곱 근, 삼각함수 등 기본 수학 연산 을 수행 하 는 방법 을 포함한다.
B: 멤버 방법
public static int abs(int a)
public static double ceil(double a)
public static double floor(double a)
public static int max(int a,int b)
public static double pow(double a,double b)
public static random()
public static int round(float a)
public static double sqrt(double a)
public class Demo4 {
public static void main(String[] args) {
System.out.println(Math.PI);
System.out.println(Math.abs(-10)); //
/**
* ceil
*/
System.out.println(Math.ceil(12.3)); // , double
System.out.println(Math.ceil(12.99));
System.out.println(Math.floor(12.3)); // , double
System.out.println(Math.floor(12.99));
//
System.out.println(Math.max(20, 30));
// ,
System.out.println(Math.pow(2, 3));
// 0.0 1.0 , 0.0, 1.0
System.out.println(Math.random());
//
System.out.println(Math.round(12.3f));
System.out.println(Math.round(12.9f));
//
System.out.println(Math.sqrt(4));
System.out.println(Math.sqrt(3));
System.out.println(Math.sqrt(2));
}
}
Random 클래스 의 개술 과 방법 사용:
A: 개술:
같은 피 드 로 두 개의 Random 인 스 턴 스 를 만 들 면 무 작위 수 를 만 드 는 데 사 용 됩 니 다.
모든 인 스 턴 스 에 대해 같은 방법 으로 시퀀스 를 호출 합 니 다. 같은 숫자 시퀀스 를 생 성하 고 되 돌려 줍 니 다.
B: 구조 방법
public Random()
public Random(long seed)
C: 멤버 방법
public int nextInt()
public int nextInt(int n)
import java.util.Random;
public class Demo5 {
public static void main(String[] args) {
Random r = new Random();
/*int x = r.nextInt();
System.out.println(x);
for (int i = 0; i < 10; i++) {
System.out.println(r.nextInt());
}*/
Random r2 = new Random(1000);
int a = r2.nextInt();
int b = r2.nextInt();
System.out.println(a);
System.out.println(b);
}
System 클래스 의 개요 와 방법 사용:
A: 개술
System 클래스 는 유용 한 클래스 필드 와 방법 을 포함 합 니 다.그것 은 실례 화 될 수 없다
B: 멤버 방법
public static void gc()
public static void exit(int status)
public static long currentTimeMillis()
public static void arraycopy(Object src, int srcPos,Object dest, int destPos,int length)
public static void demo4() {
int[] src = {11,22,33,44,55};
int[] dest = new int[8];
for (int i = 0; i < dest.length; i++) {
System.out.println(dest [i]);
}
System.out.println("---------------");
System.arraycopy(src, 0, dest, 0,src.length); //
for (int i = 0; i < dest.length; i++) {
System.out.println(dest [i]);
}
}
public static void demo3() {
long start = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
System.out.println("*");
}
long end = System.currentTimeMillis(); //
System.out.println(end - start);
}
public static void demo2() {
System.exit(0); // 0 , jvm
System.out.println("1111111");
}
public static void demo1() {
for (int i = 0; i < 100; i++) {
new Demo();
System.gc();
}
}
BigInteger 류 의 개술 과 방법 사용:
A: 개술
Integer 범 위 를 초과 한 데 이 터 를 연산 할 수 있 습 니 다.
B: 구조 방법
publlic BigInteger(String val)
C: 멤버 방법
public BigInteger add(BigInteger val)
public BigInteger subtract(BigInteger val)
public BigInteger multiply(BigInteger val)
public BigInteger divide(BigInteger val)
public BigInteger[ ] divideAndRemainder(BigInteger val)
public class Demo7 {
public static void main(String[] args) {
BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("2");
System.out.println(bi1.add(bi2)); // +
System.out.println(bi1.subtract(bi2)); // -
System.out.println(bi1.multiply(bi2)); // *
System.out.println(bi1.divide(bi2)); // /
BigInteger[] arr = bi1.divideAndRemainder(bi2);//
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
BigDecimal 류 의 개술 과 방법 사용:
A: 개술
연산 할 때, float 유형 과 double 유형 은 정밀도 를 잃 기 쉽 기 때문이다.
그래서 자바 는 부동 소수점 을 정확하게 표시 하고 계산 할 수 있 도록 BigDecimal 을 제공 했다.
가 변 적 이지 않 고 임 의 정밀도 가 있 는 기호 10 진수
B: 구조 방법
public BigDecimal(String val)
C: 멤버 방법
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor)
import java.math.BigDecimal;
public class Demo8 {
public static void main(String[] args) {
/*BigDecimal bd1 = new BigDecimal(2.0); // ,
BigDecimal bd2 = new BigDecimal(1.1);
System.out.println(bd1.subtract(bd2));*/
/*BigDecimal bd1 = new BigDecimal("2.0"); // ,
BigDecimal bd2 = new BigDecimal("1.1");
System.out.println(bd1.subtract(bd2));*/
BigDecimal bd1 = BigDecimal.valueOf(2.0); //
BigDecimal bd2 = BigDecimal.valueOf(1.1);
System.out.println(bd1.subtract(bd2));
}
Date 클래스 의 개요 와 사용 방법:
A: 개술
클래스 Date 는 특정한 순간 을 나타 내 고 밀리초 까지 정확 합 니 다.
B: 구조 방법
public Date()
public Date(long date)
C: 멤버 방법
public long getTime()
public void setTime(long time)
public static void demo1() {
Date d1 = new Date(); //
System.out.println(d1);
Date d2 = new Date(0); // 0 1970 1 1
System.out.println(d2);
}
public static void demo2() {
Date d1 = new Date();
System.out.println(d1.getTime()); //
System.out.println(System.currentTimeMillis()); //
}
SimpleDateFormat 클래스 는 날짜 와 문자열 의 상호 변환 을 실현 합 니 다.
A: 개술
DateFormat 날짜 / 시간 형식 화 된 하위 클래스 의 추상 적 인 클래스 로 언어 와 무관 한 방식 으로 날짜 나 시간 을 포맷 하고 해석 합 니 다.
추상 클래스 이기 때문에 사용 기간 하위 클래스 Simple DateFormat
B: SimpleDateFormat 구조 방법
public SimpleDateFormat()
public SimpleDateFormat(String pattern)
C: 멤버 방법
public final String format(Date date)
public Date parse(String source)
public static void demo4() throws ParseException {
//
String str = "2000 06 04 08:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
Date d = sdf.parse(str); //
System.out.println(d);
}
public static void demo3() {
Date d = new Date(); //
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); //
System.out.println(sdf.format(d)); //
}
public static void demo2() {
Date d = new Date(); //
SimpleDateFormat sdf = new SimpleDateFormat(); //
System.out.println(sdf.format(d)); //19-5-25 1:03
}
public static void demo1() {
//DateFormat df = new DateFormat(); //DateFormat ,
//DateFormat df1 = new SimpleDateFormat();
DateFormat df1 = DateFormat.getDateInstance();// ,
}
Demo:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test2 {
/**
* : ?
* :
* 1、 String
* 2、
* 3、
* 4、
* 5、 1000, 60, 60, 24
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
//1、 String
String birthday = "2000 06 04 ";
String today = "2019 05 25 ";
//2、
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd ");
//3、
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(today);
//4、
long time = d2.getTime() - d1.getTime();
//5、 1000, 60, 60, 24
System.out.println(time / 1000 / 60 /60 /24);
}
}
Calendar 클래스 의 개요 와 날 짜 를 가 져 오 는 방법:
A: 개술
Calendar 클래스 는 추상 적 인 클래스 로 특정한 순간 과 YEAR, MONTH, DAY 와 같은 그룹 입 니 다.OF、HOUR
등 달력 필드 간 전환 방법 을 제공 하고 달력 필드 를 조작 하 는 방법 (예 를 들 어 다음 주 날 짜 를 얻 는 것) 을 제공 합 니 다.
B: 멤버 방법
public static Calendar getInstance()
public int get(int field)
import java.util.Calendar;
public class Demo1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance(); //
// System.out.println(c);
System.out.println(c.get(Calendar.YEAR)); //
System.out.println(c.get(Calendar.MONTH));// , 0
System.out.println(c.get(Calendar.DAY_OF_MONTH));//
System.out.println(c.get(Calendar.DAY_OF_WEEK));// ,
System.out.println(c.get(Calendar.YEAR) + " " + getNum((c.get(Calendar.MONTH) + 1)) + " "
+ getNum(c.get(Calendar.DAY_OF_MONTH)) + " " + getWeek(c.get(Calendar.DAY_OF_WEEK)));
}
/**
*
* 1、 String
* 2、 int week
*/
public static String getWeek(int week) {
String[] arr = { "", " ", " ", " ", " ", " ", " ", " " };
return arr[week];
}
/**
* 0
* 1、 String
* 2、 ,int num
*/
public static String getNum(int num) {
/*
* if (num > 9) { return "" + num; }else { return "0" + num; }
*/
return num > 9 ? "" + num : "0" + num;
}
}
Calendar 클래스 의 add () 와 set () 방법:
멤버 방법:
public void add(int field,int amount)
public final void set(int year,int month,int date)
어떻게 임의의 해 를 얻 습 니까? 평년 입 니까? 윤년 입 니까?
필요:
키 보드 는 임의의 연도 에 기록 하여, 이 해 가 윤년 인지 평년 인지 판단 한다.
import java.util.Calendar;
import java.util.Scanner;
public class Test3 {
/**
* : ,
* Calendar c = Calenda.getInstance();
*
* :
* 1、 Scanner
* 2、 Calendar c = Calenda.getInstance();
* 3、 set 3 1
* 4、 1
* 5、 , 29 true false
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(" , ");
String line = sc.nextLine(); //
int year = Integer.parseInt(line); //
boolean b = getYear(year);
System.out.println(b);
}
private static boolean getYear(int year) {
//2、 Calendar c = Calenda.getInstance();
Calendar c = Calendar.getInstance();
//3、 set 3 1
c.set(year,2,1);
//4、 1
c.add(Calendar.DAY_OF_MONTH, -1);
//5、 , 29 true false
return c.get(Calendar.DAY_OF_MONTH) == 29;
}
}
다음으로 전송:https://www.cnblogs.com/clqbolg/p/10915758.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.