1.
Date和String类型的相互转换
中间转换要用的一个桥梁(SimpleDateFormat)
作用:
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
Date日期对象--->以字符串表示的String
public final String format(Object obj)格式化一个对象以生成一个字符串
String(日期的文本格式)---->Date日期对象:解析
public Object parseObject(String source)解析字符串的文本,生成Date。
2.
正则表达式
正则表达式语法:
字符:
x 字符x; a 表示字符'a'
\\ 反斜线字符
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范
围
[a-zA-Z_0-9] 里面包含大写字母或者小写字母或者数字字符
预定义字符:
. 任何字符 QQ:919092924@qq.com
\. 转义 (本身就表示一个.)
\d 数字:[0-9] [0-9]--->\d(不正确) \
\d(代码中正确的写法)
\w 单词字符:[a-zA-Z_0-9]
java语言单词组成的一些规则需要\\w
边界匹配器
^ 行的开头
$ 行的结束
\b 单词边界
hello world?haha;Xixi
Greedy 数量词
X? X,一次或一次也没有 :x出现1次或者0次
X* X,零次或多次 :x出现0次或多次
X+ X,一次或多次 :x出现1次或多次
X{n} X,恰好 n 次 :x恰好出现n
X{n,} X,至少 n 次 :x至少出现n次
X{n,m} X,至少 n 次,但是不超过 m 次
2.1
判断是不是qq号 第一位不能为0;最多14位
2.2
String类中有一个方法和正则表达式有关系
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串
2.3
String类中的另一个和正则相关的方法:
public String replaceAll(String regex,String replacement):
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
3.
Random:产生一个随机数的类:
构造方法:
public Random()创建一个新的随机数生成器,
public Random(long seed)使用单个 long 种子创建一个新的随机数生成器
成员方法:
public int nextInt():指定的范围是int类型的本身的范围
public int nextInt(int n):获取的随机数是[0,n)之间的值
获取任意范围内的随机数
int number = (int)(Math.random()*(end-start+1) +start) ;
4.
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
字段:
public static final double E
public static final double PI
成员方法:
public static int abs(int a):绝对值
public static double ceil(double a):向上取整
public static double floor(double a):向下取整
public static double pow(double a, double b):a的b次幂
public static int max(int a,int b):求最大值
public static double random():获取一个随机数:[0.0,1.0)
public static long round(double a):四舍五入
public static double sqrt(double a):正平方根
Date和String类型的相互转换
中间转换要用的一个桥梁(SimpleDateFormat)
//Date向String转换(格式化)
Date d = new Date();//创建日期对象
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//创建SimpleDateFormat对象 指定模式
//使用SimpleDateFormat中的format方法进行日期对象的格式化
String s = sd.format(d);
System.out.println(s);//2017-08-01 17:20:35
作用:
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
Date日期对象--->以字符串表示的String
public final String format(Object obj)格式化一个对象以生成一个字符串
要使用DateFormat这个类:但是抽象类了,使用子类进行实例
String(日期的文本格式)---->Date日期对象:解析
public Object parseObject(String source)解析字符串的文本,生成Date。
//String向Date转换(解析)
String s2 = "2018-2-3";
SimpleDateFormat sd2 = new SimpleDateFormat("yyyy-MM-dd");
Date d2 = sd2.parse(s2);//会抛出一个解析异常
System.out.println(d2);//Sat Feb 03 00:00:00 CST 2018
2.
正则表达式
正则表达式语法:
字符:
x 字符x; a 表示字符'a'
\\ 反斜线字符
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范
围
[a-zA-Z_0-9] 里面包含大写字母或者小写字母或者数字字符
预定义字符:
. 任何字符 QQ:919092924@qq.com
\. 转义 (本身就表示一个.)
\d 数字:[0-9] [0-9]--->\d(不正确) \
\d(代码中正确的写法)
\w 单词字符:[a-zA-Z_0-9]
java语言单词组成的一些规则需要\\w
边界匹配器
^ 行的开头
$ 行的结束
\b 单词边界
hello world?haha;Xixi
Greedy 数量词
X? X,一次或一次也没有 :x出现1次或者0次
X* X,零次或多次 :x出现0次或多次
X+ X,一次或多次 :x出现1次或多次
X{n} X,恰好 n 次 :x恰好出现n
X{n,} X,至少 n 次 :x至少出现n次
X{n,m} X,至少 n 次,但是不超过 m 次
2.1
判断是不是qq号 第一位不能为0;最多14位
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.next();
boolean flag = check(line);
System.out.println(flag);
}
public static boolean check(String line){
String guize = "[1-9][0-9]{4,14}";
return line.matches(guize);//matches 方法 返回true或false
}
}
2.2
String类中有一个方法和正则表达式有关系
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串
public static void main(String[] args) {
//定义一个字符串
String s = "18-24" ;
//public String[] split(String regex)根据给定正则表达式的匹配拆
分此字符串
String[] strArray = s.split("-") ;
//如何获取int类型的年龄呢
//Integer.pareInt(String s) ;将一个字符串类型转换成int类型
int startAge = Integer.parseInt(strArray[0]) ;
int endAge = Integer.parseInt(strArray[1]) ;
//可以键盘录入一个年龄
Scanner sc = new Scanner(System.in) ;
//录入并接收数据
System.out.println("请输入要一个年龄:");
int age = sc.nextInt() ;
//判断
if(age>=startAge && age<=endAge){
System.out.println("这符合需求...");
}else{
System.out.println("不搭理...");
}
}
}
2.3
String类中的另一个和正则相关的方法:
public String replaceAll(String regex,String replacement):
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
public class RegexDemo {
public static void main(String[] args) {
//定义一个字符串
String s = "helloworld123456Java78290" ;
//将数字不显示出来或者显示*号
//给数字定义正则:
String regex = "\\d+" ;
String ss = "*" ;
//public String replaceAll(String regex,String replacement):
String result = s.replaceAll(regex, ss) ;
System.out.println("result:"+result);
}
}
3.
Random:产生一个随机数的类:
构造方法:
public Random()创建一个新的随机数生成器,
public Random(long seed)使用单个 long 种子创建一个新的随机数生成器
成员方法:
public int nextInt():指定的范围是int类型的本身的范围
public int nextInt(int n):获取的随机数是[0,n)之间的值
获取任意范围内的随机数
int number = (int)(Math.random()*(end-start+1) +start) ;
4.
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
字段:
public static final double E
public static final double PI
成员方法:
public static int abs(int a):绝对值
public static double ceil(double a):向上取整
public static double floor(double a):向下取整
public static double pow(double a, double b):a的b次幂
public static int max(int a,int b):求最大值
public static double random():获取一个随机数:[0.0,1.0)
public static long round(double a):四舍五入
public static double sqrt(double a):正平方根