java中实用类(二)

一、String类

1.在java中String类比较特殊,它是一种引用数据类型,位于java.lang包中。

2.String类的常用方法

(1)length()方法,是求字符串的长度

String str="abcdefg";

int s=str.length();

//注意,length()方法返回值是int类型,获得字符串的长度

(2)equals()方法,是比较两个字符串的值是否相同。返回值是boolean 值,true或者false。==判断的是内存地址。

注意:在java中,String类的 == 双等于表示判断内存地址是否相等,equals()判断内容是否相同,也就是判断里面的值是否相同,它是一个字符一个字符去比较的。String类特殊是因为它已经重写了equals()方法非String类的类类型 ==  双等于比较是内存地址,equals()比较的还是内存地址。如果要比较里面的值是否一样,那么就需要去重写equals()方法!!!

(3)equalsIgnoreCase()方法,可以忽略大小写比较字符串。

String str1="TOM";

String str2="tom";

System.out.println(str1.equalsIgnoreCase("tom"));

//忽略大小写比较两个字符串

(4)toLowerCase():转换字符串为小写。toUpperCase():转换字符串为大写。

String s1="aaa";

String s2="AAA";

System.out.println(s1.toUpperCase(s2));

//将s1字符串常量值转换成大写,然后和s2进行比较,返回true.

(5)字符串的连接:如  “+” 或者 字符串.concat();

String s1="你好!";

String s2=s1+"java";

或者:

String s3=s1.concat("java");

//这两种连接字符串的效果是一样的。

(6)字符串的查询和提取

方法 说明
pubic  int  index(int  ch) 返回第一个出现字符ch的位置,位置从0开始,找不到返回-1
public int index  (String value) 返回第一个出现字符串ch的位置,位置从0开始,找不到返回-1
public  int  lastIndexOf(int ch) 返回最后一个出现字符的位置,找不到返回-1
public  int  lastIndexOf(String ch) 返回最后一个出现字符串的位置,找不到返回-1
public  String substring(int index) 提取从指定位置开始的部分字符串,从索引位置开始,包含起始位置
public String substring(int a,int b) 提取a和b之间的字符串,从a索引位置开始,到结束位置-1
public  String trim() 去字符串的前后空格

(6)字符串拆分  split()方法。

String  s4= "This is my dog";
String s[]=new String[s4.length()];        //定义数组去接收
s=s4.split(" ");            //拆分字符串
for (int i = 0; i < s.length; i++) {
	System.out.println(s[i]);    //输出拆分后的字符串
}

二、StringBuffer类和StringBuilder类

1.StringBuffer类属于线程安全的,它可以储存,连接操作字符串,使用效率比String类更加高效

位于java.uti包中,是String类的增强类。

StringBuffer sf=new StringBuffer("我爱编程");        //创建StringBuffer对象

//1.toString()方法,

String s1=sf.toString();            //将StringBuffer转换成String类


//2.append()方法,追加字符串

String  s2=sf.append("java").toString;        //在sf对象后面之间追加字符串,它改变的是本身的值


//3.insert()方法,插入字符串

String s3=sf.insert(2, ",").toString();        //返回值2是位置,后面的是要插入的参数,类型不限!

2.StringBuilder类

它位于java.lang.StringBuilder,是JDK5.0新增的类。它是线程不安全,它比StringBuffer类执行要快。

3.String 类 和StringBuffer类,StringBuilder类对比

  • String:是字符串常量,是不可变的对象,每次改变的是生成的String对象,然后指向的副本。操作字符串效率低

  • StringBuffer:字符串变量。它是可变的字符串,操作时改变的是本身,效率高,推荐使用。

  • StringBuilder:字符串变量。他和StringBuilder类等价。区别是StringBufrer是线程安全,而StringBuilder是线程不安全的。

三、日期操作类

1.Data类

Data类对象用来表示日期和时间。一般用其子类SimpleDateFormat

public class Test {
	public static void main(String[] args) {
		Date date=new Date();			//实例化时间类
		//获取当前系统时间,使用SimpleDateFormat类格式化时间
		SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String time=format.format(date);        //返回值是String类型
		System.out.println("当前时间为:"+time);
	}
}

2.Calendar类

Calendar类也是用来操作日期和时间的类,它可以看作是Date类的增强类。因为本身是抽象类,可以通过getInstance()获得Calender类的对象

四、Random类

Random类用来生成随机数。

Random rand=new Random ();

public class Test {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		//创建一个Random对象
		Random rand=new Random();
	        //产生随机数是0~9之间
		int num=rand.nextInt(10);		    
		System.out.println("随机数是:"+num);
	}
}

猜你喜欢

转载自blog.csdn.net/JAVA52Lin/article/details/83345986