java学习之Java常用的工具类

常用的工具类

一、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
java学习之Java常用的工具类_第1张图片
StringBuffer和StringBuilder常用方法
java学习之Java常用的工具类_第2张图片

四、正则表达式

/*
	 * 正则表达式
	 * 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方法

你可能感兴趣的:(java学习,java)