头疼、确实简单,但是内容是相当丰富,够记一段时间了。代码注释即为用法。
1、String类
字符串就是一连串的字符序列,Java提供了String和StringBuffer两个类来封装字符串,并提供了一系列的方法来操作字符串对象
1.1、equals方法
对象比较的方法,将此字符串与制定的对象进行比较,返回布尔型结果
1.2、substring方法
字符串截取方法,返回截取的字符串
1.3、split方法
字符串拆分的方法,返回拆分后的字符串数组
1.4、indexOf方法
字符查找的方法,返回值为整数型,返回指定字符在此字符串中首次出现的位置(从0开始),如果没有找到该字符,则返回-1
1.5、replace方法
字符串替换的方法,在此字符串中替换指定字符,返回值为替换好的字符串
1.6、trim方法
字符串去空格的方法,去掉字符串的左右空格,返回值是去掉左右空格后的字符串
1.7、代码示例
package zhongWu;
import org.junit.Test;
/**
* @author ShanHai:
* @version 创建时间:2021年8月19日 下午1:09:42
*/
public class TestString {
/**
* equals方法,作用:比较两个字符串是否相等,如果相等则为true
*/
@Test
public void test1() {
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1.equals(str2));
}
/**
* substring(first,last):截取字符串,获得想要的内容 位置是包含first,不包含last 索引从0开始
* 传一个参数即为从当前位置一直到字符串结尾
*/
@Test
public void test2() {
String str = "HelloJavaWorld";// 5,8
System.out.println(str.substring(5, 9));
System.out.println(str.substring(9, 14));
System.out.println(str.substring(9));
}
/**
* split(英文意思劈开):将一个字符串按照指定规则拆分程字符串数组
*/
@Test
public void test3() {
String str = "北京,上海,杭州,深圳";
String[] arr = str.split(",");
for (String s : arr) {
System.out.println(s);
}
}
/**
* indexOf(英文意思索引):在一个大字符串查询小字符串,如果查询到,
* 则返回该小字符串的位置(索引),如果查询不到,则返回-1
*/
@Test
public void test4() {
String str = "HelloJavaWorld";
int a=str.indexOf("Java");
System.out.println(a);
String str1="1960696235@qq.com";
if(str1.indexOf("@") != -1){
System.out.println("合法的邮箱地址");
}else{
System.out.println("不合法的邮箱地址");
}
}
/**
* replace(英文意思取代,替换):字符串替换
*/
@Test
public void test5() {
String str="1960696235@qq.com";
String str2 = str.replace("qq", "163");
System.out.println(str2);
}
/**
* trim(英文意思除去):删除字符串左右两边的空格
*/
@Test
public void test6() {
String str=" 1960696235@qq.com ";
System.out.println(str.trim());
}
}
2、StringBuffer类
StringBuffer是一种可变字符的序列
2.1、append方法
将字符(或字符串)追加到该序列的末尾
2.2、insert方法
将字符(或字符串)插入到该序列的指定位置
2.3、delete方法
从该序列中删除指定位置的字符
2.4、replace方法
替换该序列中指定位置的字符串
2.5、substring方法
字符串截取,返回一个替换好的String值
2.6、reverse方法
反转该字符序列
2.7、toString方法
将StringBuffer对象转换为String
2.8、StringBuilder类
StringBuilder和StringBuffer类的常用方法基本一致,StringBuffer是线程安全的而StringBuilder是线程不安全的,在程序多线程开发的环境下,建议使用StringBuffer,否则建议使用StringBuilder,StringBuilder的效率更高。
2.9、代码示例
package zhongWu;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午2:32:09
*/
public class TestStringBuffer {
/**
* append(英文意思附上):向原有的字符串末尾添加新的字符/字符串
*/
@Test
public void test1(){
// String str =new String("Hello");
StringBuffer str =new StringBuffer("Hello");
str.append("World");
System.out.println(str.toString());
}
/**
* insert(英文意思插入):向指定位置插入字符/字符串
*/
@Test
public void test2(){
StringBuffer str =new StringBuffer("HelloWorld");
str.insert(5, "Java");
System.out.println(str);
}
/**
* delete:删除指定位置的字符/字符串
*/
@Test
public void test3(){
StringBuffer str =new StringBuffer("HelloJavaWorld");
str.delete(5,9 );
System.out.println(str);
}
/**
* replace: 替换指定的字符串
*/
@Test
public void test4(){
StringBuffer str =new StringBuffer("HelloWorld");
str.replace(5, 10, "Java");
System.out.println(str);
}
/**
* substring:截取字符串
* 不会改变原有的字符串,而是产生一个新的字符串
*/
@Test
public void test5(){
StringBuffer str =new StringBuffer("HelloWorld");
// String str1=str.substring(5, 10);
String str1=str.substring(5);
System.out.println(str1);
}
/**
* reverse(英文意思反转):反转字符串
*/
@Test
public void test6(){
StringBuffer str =new StringBuffer("HelloWorld");
str.reverse();
System.out.println(str);
}
}
3、Object类
3.1、getClass方法
返回该对象的运行时类
3.2、hashCode方法
返回该对象的哈希码,返回值是整数型
3.3、toString方法
返回该对象的信息,返回值是字符串
3.4、代码示例
package zhongWu;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午3:12:02
*/
public class TestObject {
/**
* getclass:获取指定对象运行时的类型,包名+类名
* hashCode:获得指定对象的hashcode(哈希码) 整数型
*/
@Test
public void test1(){
StringBuffer sb=new StringBuffer("Hello");
System.out.println(sb.getClass());//获取指定对象运行时的类型,包名+类名
System.out.println(sb.hashCode());//获得指定对象的hashcode(哈希码)
}
}
4、Math类
Math类中包含了用于执行基本数学运算的方法,如:小数取整、绝对值、随机数等;Math类中提供的方法都是静态方法,可以通过类名直接调用
4.1、PI静态常量
表示圆周率
4.2、floor方法
小数取整,向下取整
4.3、ceil方法
小数取整,向上取整
4.4、round方法
小数取整,四舍五入
4.5、random方法
获取一个0-1(不包含1)的随机小数
4.6、代码示例
package zhongWu;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午3:18:52
*/
public class TestMath {
/**
* PI:圆周率
*/
@Test
public void test1(){
System.out.println(Math.PI);
}
/**
* floor(英文意思底):小数取整,向下取整4.9取整--》4
*/
@Test
public void test2(){
System.out.println(Math.floor(4.8));
}
/**
* ceil(英文意思天花板):小数取整,向上取整4.1取整--》5
*/
@Test
public void test3(){
System.out.println(Math.ceil(4.1));
}
/**
* round(英文意思大概):小数取整,四舍五入4.9取整--》5,4.1取整--》4
*/
@Test
public void test4(){
System.out.println(Math.round(4.1));
System.out.println(Math.round(4.9));
}
/**
* random(英文意思胡乱的):生成0-1之间的随机数,包含0,不包含1
*/
@Test
public void test5(){
for(int i=0;i<10;i++){
System.out.println(Math.random());
}
}
}
5、Random类
用于生成随机流
5.1、nextBoolean方法
用于生成一个随机boolean值
5.2、nextDouble方法
用于生成一个0-1(不包括1)之间的随机小数
5.3、nextInt(int end)方法
用于生成一个0至指定值的随机整数,不包括整个指定的值
5.4、代码示例
package zhongWu;
import java.util.Random;
import org.junit.Test;
/**
* @author ShanHai:
* @version 创建时间:2021年8月19日 下午3:46:00
*/
public class TestRandom {
/**
* nextBoolen:随机生成一个布尔类型的值
*/
@Test
public void test1() {
Random r=new Random();
for(int i=0;i<10;i++){
System.out.println(r.nextBoolean());
}
}
/**
* nextDouble:随机生成一个0-1的小数,包含0,不包含1
*/
@Test
public void test2() {
Random r=new Random();
for(int i=0; i<10; i++){
System.out.println(r.nextDouble());
}
}
/**
* nextInt:随机生成一个0-n之间的整数,包含0,不包含n
*/
@Test
public void test3() {
Random r=new Random();
for(int i=0; i<10 ; i++){
System.out.println(r.nextInt(10));
}
}
}
6、Date类
获取日期
6.1、getTime方法
获取当前时间的毫秒数,从1970年1月1日开始
6.2、toLocaleString方法
获取当地时间,返回值是一个字符串
6.3、代码实例
package zhongWu;
import java.util.Date;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午3:52:18
*/
public class TestDate {
/**
* getTime:获取当前时间的毫秒数,从1970年开始
* 1s秒等于1000ms毫秒
*/
@Test
public void test1() {
Date d=new Date();
System.out.println(d.getTime());
}
/**
* toLocalString:获取当地时间,返回值是一个字符串
*/
@Test
public void test2() {
Date d=new Date();
System.out.println(d.toLocaleString());//新版本次方法已被放弃
}
}
7、SimpleDateFormat类
日期、时间格式化类
7.1、format方法
格式化日期(yy-MM-dd hh:mm:ss)
7.2、parse方法
将字符串转换为日期
7.3、代码实例
package zhongWu;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午4:02:24
*/
public class TestSimpleDateFormat {
/**
* format:格式化日期(yy-MM-dd hh:mm:ss)year,month,day hour:minute:second
*/
@Test
public void test1() {
Date d=new Date();
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
System.out.println(sdf.format(d));
System.out.println(sdf1.format(d));
}
/**
* parse:把一个字符串转换成一个日期对象
* @throws ParseException
*/
@Test
public void test2() throws ParseException {
String str ="2021-08-19 04:09:01";
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d=sdf.parse(str);
System.out.println(d);
}
}
8、Calendar类
日期、时间处理的抽象类
8.1、常用的日期常量
YEAR、MONTH、DATE、DAY_OF_WEEK、DAY_OF_MONTH、WEEK_OF_MONTH、WEEK_OF_YEAR
8.2、get方法
通过Calendar提供的日期常量获取指定的日期
8.3、代码实例
package zhongWu;
import java.util.Calendar;
import org.junit.Test;
/**
*@author ShanHai:
*@version 创建时间:2021年8月19日 下午4:14:21
*/
public class TestCalendar {
/**
* Calendar(英文意思日历)-->YEAR、MONTH、DATE、
* DAY_OF_WEEK、DAY_OF_MONTH、WEEK_OF_MONTH、
* WEEK_OF_YEAR
*/
@Test
public void test1() {
Calendar c=Calendar.getInstance();//实例化对象
System.out.println(c.get(Calendar.YEAR));//查询现在时刻在那一年
System.out.println(c.get(Calendar.MONTH)+1);//查询现在时刻是在哪一月,从0开始
System.out.println(c.get(Calendar.DATE));//查询当前这一时刻在这个月是第几天/多少号
System.out.println(c.get(Calendar.DAY_OF_WEEK));//查询星期几,从周日开始
}
}