一:java.lang包
String类
在java中String并非基本数据类型,而是把字符串当作对象来处理
java.lang.String类提供了一系列操作字符串的方法,使得字符串的生成、访问和修改等操作容易和规范
建String对象
String str1;
str1 = “Hello aaa!”;
或者:
String str2= “Hello aaa!”;
或者:
String str3 = new String(“Hello aaaa!”);
str3是用new关键字创建的String类的对象。虽然它的实体也是“aaa!”,但它与str1、str2占用不同的内存地址
length() |
返回此字符串的长度 |
subString(intbeginIndex) |
返回一个新字符串,它是此字符串的子字符串 |
valueOf(int i) |
返回相应类型的字符串表示形式 |
compareTo(String anotherString) |
比较两个字符串的大小 |
equals(Objects anObject) |
比较两个字符串是否相等 |
concat(String str) |
拼接字符串 |
charAt(int index) |
返回指定索引处的char值 |
endsWith(String suffix) |
测试此字符串是否以指定的后缀结束 |
format(String format, Object... args) |
使用指定的格式字符串和参数返回一个格式化字符串 |
indexOf(int ch) |
返回指定字符在此字符串中第一次出现处的索引 |
split(String regex) |
根据给定的正规表达式的匹配来拆分此字符串 |
trim() |
清除左右两端的空格 |
String的“+”操作
int age = 20;
String s = "He is "+age+"years old.";
其他类型的数据与字符串进行"+"运算时,将自动转换成字符串
StringBuffer类
StringBuffer() |
创建一个空的可变字符串,起始容量为16个字符长度(默认长度) |
StringBuffer(int index) |
以起始长度为index创建一个空的可变字符串 |
StringBuffer(String str) |
创建一个可变字符串,初始化为str |
class Test {
public static void main(String[] args) {
StringBuffer str1=new StringBuffer();
StringBuffer str2=new StringBuffer(20);
StringBuffer str3=new StringBuffer("Mstanford");
}
}
append(String str) |
将指定的字符串追加到此字符序列 |
insert(int offset, String str) |
将字符串插入此字符序列中 |
setCharAt() |
创建一个可变字符串,初始化为str |
reverse() |
将此字符序列用其反转形式取代 |
deleteCharAt(int index) |
移除此序列指定位置的char |
class Test {
public static void main(String[] args) {
//初始化可变字符串
StringBuffer sb=new StringBuffer("rd");
//追加字符串
sb.append("123");
System.out.println(sb);
}
}
1.3Math类Math类
二:java.util包
Date类
import java.util.Date;
class Test {
public static void main(String[] args) {
Date date=new Date();
System.out.println("当期时间是:"+date);
}
}
Date类在java.util包中所以使用前必须要引入。只有java.lang包中的类不需要使用import语句引入
实例化date对象。获取系统当前时间
SimpleDateFormat类
import java.util.Date;
import java.text.SimpleDateFormat;
class Test {
public static void main(String[] args) {
Date date=new Date();
String formate="yyyy年MM月dd日HH时mm分ss秒";
SimpleDateFormat sdf=new SimpleDateFormat(formate);
String currentDate=sdf.format(date);
System.out.println("当前时间是:"+currentDate);
}
}
运行结果为:“当前时间是:2015年02月23日20时11分19秒”
在“yyyy年MM月dd日HH时mm分ss秒”中:y表示年,M表示月,d表示日,
H表示时,m表示分,s表示秒。常用的格式化字符串有:yyyy-MM-dd、
HH:mm:ss、yyyy/MM/dd、HH:mm:ss、yyyyMMddHHmmss。
可以对照API文档学习其他特殊的格式化方式
格式化时间时,“H”表示24小时制,“h”表示12小时制
import java.util.Date;
import java.text.SimpleDateFormat;
class Test {
public static void main(String[] args) {
Date date=new Date();
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("当前时间是:"+sdf1.format(date));
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间是:"+sdf2.format(date));
}
}
运行结果为:
当前时间是:2010-02-23 20:21:51
当前时间是:2010-02-2308:21:51
运行结果为:
当前时间是:2015-02-23 20:21:51
当前时间是:2015-02-2308:21:51
“H”表示24小时制
“h”表示12小时制
将字符串转换成时间格式
import java.util.Date;
import java.text.SimpleDateFormat;
class Test {
public static void main(String[] args) throws Exception{
String brithday="1996-04-07";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date d=sdf.parse(brithday);
System.out.println("转换成Date类型的时间是:"+d);
}
}
运行结果为:“转换成Date类型的时间是:MonApr 07 00:00:00 CST 1996”
Calendar类
import java.util. Calendar;
class Test {
public static void main(String[] args){
Calendar rightNow = Calendar.getInstance();
System.out.println("当前时间:"+rightNow.getTime());
}
}
Calendar类比Date类更灵活,可以修改或设置日历
import java.text.SimpleDateFormat;
import java.util.Calendar;
class Test {
public static void main(String[] args){
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String today=sdf.format(rightNow.getTime());
System.out.println("今天是:"+today);
rightNow.add(Calendar.DATE, -1);
String yesterday=sdf.format(rightNow.getTime());
System.out.println("昨天是:"+yesterday);
}
}
Calendar.YEAR:年份
Calendar.DAY_OF_WEEK:星期几
Calendar.DAY_OF_WEEK_IN_MONTH:当前月的第几个星期
其他的参考API文档
import java.text.SimpleDateFormat;
import java.util. Calendar;
class Test {
public static void main(String[] args){
Calendar rightNow = Calendar.getInstance();
//指定某年某月某日
rightNow.set(2018, 11, 01);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("设置的日期为:"+sdf.format(rightNow.getTime()));
}
}
运行结果为:“设置的日期为:2018-12-01”
获取星期几
import java.text.SimpleDateFormat;
import java.util. Calendar;
class Test {
public static void main(String[] args){
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(“今天是: "+sdf.format(rightNow.getTime())); System.out.println("星期"+rightNow.get(Calendar.DAY_OF_WEEK));
}
}