常用类

第十四天
Calendar   
get
{
可以得到某个年或者月  或者日 小时 分钟  秒
 
}
set{
设置各种时间
}
Math 求随机数    Math.random()*(最大值-最小值+1)+最小值   左闭右开
Random 用random对象     random.nextInt(最大值-最小值)+最小值 


String 长度不可变


StringBuilder  线程不安全 长度可变


StringBuffer 线程安全 长度可变


equals()  Object类中的equals方法比较的是地址
子类可以去重写 equals方法
比较哪个类的对象  就在哪个类中去重写


enum 里面可以写 变量名 也可以直接写汉字
枚举名字.变量名
枚举名字.vauleOf()
枚举也可以用在swtich中


                    对String类方法的总结:


1.charAt(int index)方法用于返回指定索引处的char值


2.compareTo(String s)按照字典的顺序比较两个字符串,返回int类型


3.compareToIgnoreCase(String s)按照字典的顺序进行比较,不考虑字母的大  小,返回int类型的值


4.concat(String s)将指定的字符串连接到此字符串的末尾,返回String类型


5.contains(CharSequence s)当字符串包含指定的char值序列时,返回true


6lastindexOf(String s)返回指定字符串在此字符串最右边出现处的索引


7.lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出  现处的索引,从指定的索引处开始进行反向搜索。


8.length()  返回此字符串的长度


9.replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用   newChar 替换此字符串中出现的所有 oldChar 得到的。


10.replace(CharSequence target, CharSequence replacement) 使用指定的字面   值替换序列替换此字符串所有匹配字面值目标序列的子字符串。


11.replaceFirst(String regex, String replacement) 
          使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
 
12,split(String regex) 根据给定正则表达式的匹配拆分此字符串。
 
13,split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。
 
14,startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
 
15,startsWith(String prefix, int toffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
 
16substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
 
17 String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。 


18.toLowerCase()将字符串中的大写字母转化为小写字母


19.toUpperCase()将字符串中的小写字母转换为大写字母


20.trim()返回字符串的副本 忽略前导空白和尾部空白


                            正则表达式
字符类:
1.[abc] a,b,或 c(简单类)


2.[^abc] 除了a,b,c之外的所有字符


3.[a-zA-Z] a到z或A到Z两头的字母包括在内


4.[a-d[m-p]] a到d或m到p,取并集


5.[a-z&&[def]] d、e 或 f(交集) 


6.[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) 


7.[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去) 


Greedy 数量词 
X? X,一次或一次也没有 
X* X,零次或多次 
X+ X,一次或多次 
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超过 m 次 


预定义字符类 
. 任何字符(与行结束符可能匹配也可能不匹配) 
\d 数字:[0-9] 
\D 非数字: [^0-9] 
\s 空白字符:[ \t\n\x0B\f\r] 
\S 非空白字符:[^\s] 
\w 单词字符:[a-zA-Z_0-9] 
\W 非单词字符:[^\w] 


                StringBuffer类方法总结(StringBuilder方法相似)


1,append()  追加内容
2,delete(int start,int end) 删除指定的元素
3, insert(int offset, charsequence)指定位置添加元素

 * String  不可变长度
 * StringBuffer  可变长度 线程安全的
 * StringBuilder  可变长度 线程不安全的
 * 
 * 线程安全     
 * 能够保证结果是预期的,但是执行效率要慢
 * 
 * 线程不安全
 * 不能够保证结果是预期的,但是执行效率会很高
 * 
 * 有了String 为什么还要StringBuffer
 *
 *  String字符串对象参与添加和连接操作的时候 会产生很多个字符串对象 ,对浪费内存
 *  StringBuffer 和StringBuilder 是不会产生多余的字符串的

 *  如果频繁的操作字符串(连接,删除) 最好使用StringBuffer

package homework;
import java.util.Arrays;
//1.编程. 已知字符串:"this is a test of java". 
//按要求执行以下操作:
//   (1) 统计该字符串中字母s出现的次数
//   (2) 取出子字符串"test"
//   (3) 将本字符串复制到一个字符数组Char[] str中.
//   (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
//   (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
//   (6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
public class Work2 {
	public static void main(String[] args) {
		String a = "this is a test of java";
		System.out.println(count(a));
		System.out.println(sub(a));
		System.out.println(change(a));
		dao(a);
		System.out.println();
		System.out.println(daoo(a));
		System.out.println(Arrays.toString(shuzu(a)));
		
	}
	public static int count(String aa){
		char[] b = aa.toCharArray();//将字符串抓换为字符数组
		int sum = 0;
		for (int i = 0; i < b.length; i++) {
			if (b[i] == 's') {
				sum++;
			}
		}
		return sum;
	}
	public static String sub(String aa){
		String s = aa.substring(10, 14);//字符串的截取
		return s;
	}
	public static char[] copy(String aa){
		char[] c = aa.toCharArray();
		return c;
	}
	public static char[] change(String aa){
		char []b = aa.toCharArray();
		b[0] = (char) (b[0] - 32);
		for (int i = 1; i < b.length; i++) {
			if (b[i] == ' ') {
				b[i + 1] = (char) (b[i + 1] - 32);
			}
		}
		return b;
	}
	public static void dao(String aa){
		char[] c = aa.toCharArray();
		for (int i = c.length - 1; i >= 0; i--) {
			System.out.print(c[i]);
		}
	}
    public static StringBuffer daoo(String aa){
    StringBuffer buffer = new StringBuffer(aa);//创建StringBuffer对象,进行字符串翻转
	StringBuffer str = buffer.reverse();
	return str;
    }
    public static String[] shuzu(String aa){
    	String str[] = aa.split(" ");//拆分字符串放置到字符串数组
    	return str;
    }

}











































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值