一、Date、SimpleDateFormat工具类
实例:
public class JavaTool { //日期格式模板 public static final String STYLE = "YYYY/MM/dd HH:mm:ss:SSS"; //日期格式化方法 public static String formateDate() { //获取本机当前时间 Date date = new Date(); //创建日期格式化类的对象 SimpleDateFormat sf = new SimpleDateFormat(STYLE); //调用格式化方法并返回 return sf.format(date); public static void main(String[] arges) { String date2 = formateDate(); System.out.println(date2); }
二、Math工具类
Math.random()//生成随机数
Math.abs()//取绝对值
Math.max(a,b)//比较两个值取较大值
Math.min(a,b)//比较两个值取较小值
Math.pow(a,b)//a的b次方
Math.sqrt()//开平方
Math.exp(n)//e的n次方
Math.E//常数e的值
实例:
public static void mathDemo() { /* * java.lang.math */ //随机数0-1之间的浮点数 int a = (int) (Math.random()*10); //取绝对值 System.out.println(Math.abs(-12)); //比较并取较大值 System.out.println(Math.max(12, 3)); //比较并取较小值 System.out.println(Math.min(12, 3)); //去x的y次方 System.out.println(Math.pow(2, 3)); //开平方 System.out.println(Math.sqrt(9)); //常数e的n次方 System.out.println(Math.exp(1)); //常数e的值 System.out.println(Math.E); }
三、String工具类
1、常量池
常量池,会缓存之前保留的数据,后面如果创建新的字符串变量,且值是已经保存在常量池中,则新的字符串的引用(内存地址),指向常量池中的数据。
先创建一个String类型的变量a,且a的值不存在与常量池中,则常量缓存a的值。
再创建一个String类型的变量b,b的值与变量a相同,则变量b的引用指向常量池中的a的值
2、string常用方法
a.equals()//比较两个字符是否相等
a.length()//判断字符长度
a.trim()//去掉两端的空格
a.replace()//替换字符串中的指定字符
a.concat()//拼接字符串
a.toLowerCase()//字符串转小写
a.toUpperCase()//字符串转大写
a.split()//把字符串切割成数组,返回string[]
a.charAt()//根据字符下标获取字符
a.indexOf()//根据字符查找对应的字符下标
a.contains()//判断字符串是否包含指定字符,返回boolean
a.isEmpty()//判断字符串是否为空
a.substring()//截取字符串中下标a到b之间(包含a)的一段字符串并返回,下标b可选,不填表示下标a截取到字符串末尾
string.format()//String类的静态方法 format()能用来创建可复用的格式化字符串
实例:
//String常用方法 String a = "4"; //1、比较字符串的值是否相等 //可能存在空指针异常变量,放在equals方法里面 boolean tar = "123".equals(a); System.out.println(tar); //2、字符串长度 String b = "abcd"; System.out.println(b.length()); //3、去掉字符串两端空格 String c =" abc d"; System.out.println(c); System.out.println(c.trim()); //4、替换字符串中的指定字符 String d ="aaassdgfrgefhfd"; d = d.replace("ssdg", "@@"); System.out.println(d); //5、拼接字符串 String e = "abc"; e = e.concat("111"); System.out.println(e); //6、字符串字符转小写 String f = "ABC"; System.out.println(f.toLowerCase()); //7、字符串字符转大写 String g = "abc"; System.out.println(g.toUpperCase()); //8、根据指定字符把字符串切分成数组,返回String[], //第二个参数是int型表示切分成几部分 String h = "a,b,c,d,e,f,g"; String[] arr = h.split("/"); System.out.println(Arrays.toString(arr)); for (String i : arr) { System.out.print(i + " "); } //9、判断字符串是否包含指定字符,返回boolean boolean ctar = h.contains(","); System.out.println("\n"+ctar); //10、截取字符串中下标a到b之间(包含a)的一段字符串并返回 //下标b可选,不填表示下标a截取到字符串末尾 String i = "hello qingdao"; String i1 = i.substring(3); System.out.println(i1); String i2 =i.substring(2,10); System.out.println(i2); //11、返回该字符在字符串中的位置下标 int index = i.indexOf(" "); System.out.println(index); //12、根据下标获取字符串中的某个字符,下标从0开始 System.out.println(i.charAt(6)); //13、判断字符串是否为空 String j = "1"; System.out.println(j.isEmpty()); //14、String类的静态方法 format()能用来创建可复用的格式化字符串 float f1 = 1.1f; int i3 = 10; String s3 = "hello"; String str = String.format("浮点%f,整数%d,字符串%s",f1,i3,s3); System.out.println(str);
3、StringBuffer与StringBuilder类
基本原则:
1) 如果操作少量数据用String;
2) 如果是单线操作大量数据用StringBuffer;
3) 如果多线操作大量数据用StringBuilder
StringBuffer和StringBuilder常用方法
四、正则表达式
/* * 正则表达式 * String regx 正则表达式 * String txt 文本 */ public static boolean regx(String regx, String txt) { boolean tar = Pattern.matches(regx, txt); return tar; } public static void main(String[] arges) { String regx = "^1[345789]\\d{9}$";
知识点2: “^1[345789]\d{9}$”
^表示正则表达式的开始;
$表示正常表达式的结尾;
[345789]表示第二个数字可能出现的可能
\d{9} 表示任意九个数
String txt = “1577985228”;
System.out.println(regx(regx, txt));
}
相等性比较
* == 比较运算符
* 1、比较基本数据类型,判断的是值(基本数据类型只能用判断)
* 2、比较引用类型,判断的是内存地址
*
* equals()方法
* 1、默认的equals()方法与一样,比较的是内存地址(string类的equals方法比较的是值)
* 2、按照自己相等性规则进行比较,需要自定义equals方法