四,Java常用类库

写在最前,该笔记整理来源互联网,由于不知出处,如侵则删,自用学习

[知识要点]:熟练应用Java语言的工具类库。

一.掌握:String 类对象和 StringBuffer 类对象的创建、使用和操作

String类的初始化
在操作String类之前需要对其进行初始化,常见的的方式有两种:
1.使用字符串常量直接初始化一个String对象,具体代码如下:

String str1 = "abc";

2.使用String的构造方法初始化对象,具体代码如下:
在这里插入图片描述

String str1 = new String();
String str2 = new String("abcd");
char[] charArry =  new char[]{'D','E','F'};
Stirng str3 = new String(charArry); 
System.out.println("a"+str1+"b");
System.out.println(str2);
System.out.print(str3);

String类的常见操作
在这里插入图片描述
字符串的基本操作

String s = "abcdefg";
//字符串中第一个出现的位置
System.out.println(s.charAt(0));
//第一次出现C的位置(可以是子字符串想·)
System.out.println(s.indexOf('c'));
//最后一次出现C的位置
System.out.println(s.lastIndexOf('c'));

字符串的转换操作

String s1 = "ancd";
//将字符串转为字符数组后的结果
char[]  charArray = str.toCharArry();
for(int i =0;i<charArray.length.i++){
	//如果不是数组的最后一个元素,在元素的后面加逗号。
	if(i!= charArry.lengyh-1){
		System.out.println(charArray[i]+",");
	}
	//数组的最后一行元素后面不加逗号。
	else{
		System.out.println(charArray[i]);
	}
}
//将int值转换为String类型
System.out.println(String.valueOf(12));
//将字符串大写
System.out.println(String.toUpperCase());
}

字符串的替换和去除空格操作

String s = "pzyruo";
//将p替换为H
System.out.println(s.replace("p","H"));
//将字符串首尾的空格去除
System.out.println(s.trim());
//将字符串中所有空格去除
System.out.println(s.replace(" ",""));

字符串的判断操作

String s = “GameForGo”;
String s2 = “Game”;
//判断是否是以"Game"开头/结尾
System.out.println(s.startWith(“Game”));//endWith(“Game”);
//判断是否包含字符串
System.out.println(s.contains(“Game”));
//判断是否为空
System.out.println(s.isEmpty());
//判断两个字符串是否相等
System.out.println(s1.equals(s2));


字符串的截取与分割


String s = “123456789”;
//从第五个开始截取/5到6
System.out.println(s.substring(4));//(4,6)
//字符串分割 Python比java简单


StringBuffer类

StringBuffer和String最大的区别在于它的长度和内容都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象,而String则是一个常量。

public class StringBuff {
	public static void main(String[] args) {
	System.out.println("1.添加---------------------------------------------");
	add();
	System.out.println("2.删除----------------------------------------------");
	delete();
	System.out.println("3.替换----------------------------------------------");
	alter();
	}
	public static void add() {
		StringBuffer sb = new StringBuffer("abcdefg");
		sb.append("hijklmn");
		System.out.println("添加后"+sb);
		sb.insert(2, "我");
		System.out.println(sb);
	}
	public static void delete() {
		StringBuffer sb = new StringBuffer("abcdefg");
		sb.delete(2, 5);
		System.out.println(sb);
		sb.deleteCharAt(3);
		System.out.println(sb);
	}
	public static void alter() {
		StringBuffer sb = new StringBuffer("abcdefg");
		sb.replace(1, 5, "kkkk");
		System.out.println(sb);
		System.out.println(sb.reverse());
	}
}

StringBuffer和String的区别
String 是字符串常量,一旦创建后无法进行修改。而StringBuffer表示字符容器,其内容和长度可以随时修改。在操作字符时,如果仅表示数据类型,使用String即可。但是如果需要对自字符串进行增删操作,则使用StringBuffer。
String类覆盖率Object的equals()方法,而StringBuffer类没有覆盖。换句话说,使用Sting创建的对象比较之后是true,使用StringBuffer创建的话是false。
String可以使用+"进行连接,而StringBuffer不能。
记录子串在字符串中出现的次数

public class StringTest {	
	public static void main(String[] args) {
		String str = "nbakjslkdjasnbaasjlkdjnbaskdlknbaksdnbalksdlnba";
		String key = "nba";
		int count = getKey(str ,key);
		System.out.println(count);
	}
	public static int getKey(String str,String key) {
		int count = 0;
		if(!str.contains(key)) {
			return count;
		}
		int index = 0;
		while((index = str.indexOf(key))!=-1) {
			str = str.substring(index+key.length());
			count++;
		}
		return count;
	}
}

二.掌握:Date、DateFormat、Random、Locale、Math等常用类

1、Date类
构造方法:

public Date();//表示当前系统时间的Date对象
public Date(long time)//代表距离标准时间time毫秒值的Date对象

成员方法:

public long getTime();//获取当前Date对象的毫秒值

2、DateFormat类,用于格式化日期的类,为抽象类,不可以直接用它创建对象,常用其子类SimpleDateFormat;

构造方法:
public SimpleDateFormat(String pattern);//以指定的模式创建格式化对象
成员方法:
public String format(Date d);//把date对象按照指定的模式 转成字符串
public Date parse(String s);//把字符串转成Date对象,如果字符串有问题,就会抛出ParseException

其中pattern字符串的含义列表如下:
在这里插入图片描述

DateFormat类的常用方法有:

public String format(Date date):将Date对象格式化为字符串。
public Date parse(String source):将字符串解析为Date对象。

format方法
使用format方法的代码为:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 把Date对象转换成String
*/
public class Demo03DateFormatMethod {
    public static void main(String[] args) {
        Date date = new Date();
        // 创建日期格式化对象,在获取格式化对象时可以指定风格
        DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
        String str = df.format(date);
        System.out.println(str); // 2008年1月23日
    }
}

parse方法
使用parse方法的代码为:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 把String转换成Date对象
*/
public class Demo04DateFormatMethod {
    public static void main(String[] args) throws ParseException {
        DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
        String str = "2018年12月11日";
        Date date = df.parse(str);
        System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
    }
}

3、Calenedar类
该类仍为抽象类,通常借用getInstance();方法获取该类的子类的对象,再进行相关方法的调用。

构造方法:
public static Calendar getInstance();
成员方法:
public int get(int field);//获取指定字段的值
public void add(int field,int amount);//给指定的字段增加值
public void set(int field,int value);//修改指定字段的值
public Date getTime();//把Calendar对象转成Date 对象

其中 public int get(int field);方法,通常会使用Calender类中的静态成员变量作为实参调用该方法,例如:

Calendar cal = Calendar.getInstance();
cal.get(Calendar.YEAR);

Calendar类中的静态成员列表参见API,通常将其命名翻译为中文即可获知其含义。

需要注意的是,Calender类中获取到的MONTH值为0-11,用于表示1到12月
4、System类

public static void exit(0);//结束JVM
public static void gc();//通知垃圾回收器过来收垃圾
public static getProperty(String key);//根据键 获取值
public static long currentTimeMillis();//获取当前系统的毫秒值

5、Math类

public static double max(double d1,double d2);//求最大值
public static double min(double d1,double d2);//求最小值
public static double abs(double d);//取绝对值
public static double random();//返回一个随机数,范围 [0,1)
public static long round(double d);//四舍五入,只看小数的第一位
public static double pow(double d1, double d2);//求次幂(次方)
public static double ceil(double a);//ceil 天花板,向上取整
public static double floor(double a);//floor 地板.向下取整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值