String类常用API
String 为不可变字符串,但凡对字符串进行增删操作都会产生一个新的字符串,若想创建一个可以进出增删的字符串,则需要创建StringBuider,StringBuffer字符串类。StringBuilder是线程不安全的,StringBuffer是线程安全的,但我们使用的比较多的是StringBuilder
这里先总结一下String常用的Api
charAt()
charAt() —方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
String message = "Welcome to java!";
char result = message.charAt(1);
System.out.println(result); //输出结果为 e
charAt(x) — 返回字符串下标为x的字符
String s ="qazwsx";
System.out.println(s.charAt(0)); //输出q
equals(s)
equals(s) —用于比较两个字符串的内容是否相等(几乎所有的类都有这个方法),返回boolean类型;
String s = "qazwsx";
String a = "qazwsx";
System.out.println(s.equals(a)); //输出结果为true
equalsIgnoreCase(S)
equalsIgnoreCase(S) —用忽略大小写的方法比较两个字符串是否相等,返回boolean类型
String a="qazwsx";
String s="QAzwsx";
System.out.println(a.equalsIgnoreCase(a)); //输出结果为true
indexOf(s)
indexOf(s) —该方法返回某个指定的字符串值在字符串中首次出现的位置(从左向右)。没有匹配的则返回-1,否则返回首次出现位置的字符串的下标值。
String s = "qazwsx";
System.out.println(a.indexOf("s")); //输出结果为 4
"KBCLFBCD".indexOf("BC") ; 返回1
"PBODABDD".indexOf("B") ; 返回1
"KMCSABCD".indexOf("DE") ; 返回-1
lastIndexOf()
lastIndexOf() —该方法返回从右向左(从字符串最后出现的位置)出现摸个字符或字符串的首个字符索引值,没有匹配的则返回-1(与indexOf相反)
"NBCWABCD".lastIndexOf("BC") ; 返回5
"HQGDAUCD".lastIndexOf("DE") ; 返回-1
length()
length() —返回字符串的长度
String s = "qazwsx";
System.out.println(s.length()); //输出结果为 6
subString(x1,x2)
subString(x1,x2) —用字符串s1代替原字符串中的s2,如果找不到就输出原字符串
String s = "qazwsx";
System.out.println(s.replace("x","o")); //输出结果为 qazwso
subString(x1,x2)
subString(x1,x2) —返回一个从下表x1到x2的字符串
String a = "qazwsx";
System.out.println(a.substring(0,2)); //输出结果为 qa
toUpperCase()
toUpperCase() —把小写全变成大写,参考toLowerCase()
startsWith()
startsWith() —该方法用于检测字符串是否以指定的前缀开始。
String s2="1,2,3,4,5";
System.out.println(s2.startsWith("1,"));//true
endsWith()
endsWith() —该方法判断字符串a是不是以字符串b结尾
String s = "abcdefghijk";
System.out.println(s.endsWith("jk"));//true,是否以指定后缀结束
split()
split() —根据指定的规则切割字符串
String s2="1,2,3,4,5";
String[] strs = s2.split(",");//根据指定的规则切割字符串
trim()
trim() —该方法用于将字符串两边的空白(\t、Tab等)去除掉.
String str = " Hello ";
System.out.println(str.trim());//"Hello"
replaceAll()
replaceAll() —该方法可实现将指定的字符或字符串替换成新的字符或字符串.
String str = "root:x:0:0:root:/root:/bin/bash";
System.out.println(str.replaceAll(":", "冒号"));//root冒号x冒号0冒号0冒号root冒号/root冒号/bin/bash
toUpperCase()
** toUpperCase() —该方法用于将当前字符串中的英文部分的字符全部变为大写后再将新的字符串返回.**
String str = "Hello";
System.out.println(str.toUpperCase());//HELLO
toLowerCase()
toLowerCase() —该方法用于将当前字符串中的英文部分的字符全部变为小写后再将新的字符串返回.
String str = "Hello";
System.out.println(str.toLowerCase());//hello
valueOf()
valueOf() —字符串提供了很多重载的valueOf()方法,可以将其他基本类型的值转换为字符串
double pi = 3.1415926;
System.out.println(String.valueOf(pi));//"3.1415926"
int value = 123;
System.out.println(String.valueOf(value));//"123"
boolean flag = true;
System.out.println(String.valueOf(flag));//"true"
char[] charArr = { 'a', 'b', 'c', 'd', 'e', 'f', 'g' };
System.out.println(String.valueOf(charArr));//"abcdefg"
Date 类常用API
Date 表示特定的瞬间,精确到毫秒。
毫秒概念:1000毫秒 = 1秒 千分之一秒
所在包:java.util.Date
作用:封装一个日期,提供对日期执行操作的API,从1970-1-1 0点开始的毫秒值。
何时使用: 今后只要保存或操作日期都用Date对象
如何使用:4种方式
- 获得客户端当前系统时间:
var now = new Date();
- 创建日期对象保存自定义时间
var date = new Date("yyyy/MM/dd hh:mm:ss");
var = date = new Date(yyyy,MM-1,dd,hh,mm,ss);
- 复制一个日期:
为什么:日期的极端都直接修改原日期对象,旧时间无法保存
何时:如果需要同时保存计算前后的两个时间时,就必须将原日期复制一个副本再计算。
如何: var date2=new Date(date1);
ex:
var date1=new Date(); //假设当前时间为"2016/10/10";
var date2=new Date(date1); //复制date1的值给date2,date1不变
date2.getDate()+10;//在date2中获取当前天数,然后加10天,date2变成了"2016/10/20" date1不变
console.log(date1); //2016/10/10
console.log(date2); //2016/10/20
- 直接用毫秒数创建日期对象
var date=new Date(ms);
Date的API
单位:年 FullYear
月 Month
日 Date
星期 Day
时 Hours
分 Minutes
秒 Seconds
毫秒 MilliSeconds
1、每个单位都有一对get xxx / set xxx 方法
get xxx(n) 方法赋值读取指定分量的值:
比如:date.getDate(); //获取几号
setXXX(n) 方法赋值修改指定分量的值:
比如:date.setDate(10); //修改date的日期为10号
特例:Day没有set方法,因为新奇只读,不可改
getTime():取内部毫秒值
setTime():存取内部毫秒值
getMonth():获取当前月份
getHours():获取当前小时
compareTo(Date):当前对象与参数对象比较。当前对象大返回正数,小返回负数,相同0。
日期工具SimpleDateFormat
**概述:**日期格式化工具,可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象
创建对象
new SimpleDateFormat(格式)
//格式:yyyy-MM-dd HH:mm:ss
//MM/dd/yyyy..
常见方法
format(Date):把Date格式化成字符串
parse(String):把String解析成Date
练习:计算存活天数
接收用户输入的出生日期,计算存活天数
package cc;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class bb {
public static void main(String[] args) throws ParseException {
//生存XX天
String birth = new Scanner(System.in).nextLine();
SimpleDateFormat s =new SimpleDateFormat("yyyy-MM-dd");
Date date = s.parse(birth);
long birthday = date.getTime();
long now=System.currentTimeMillis();
System.out.println((now-birthday)/1000/60/60/24);
}
}