当前位置:K88软件开发文章中心编程语言JavaJava01 → 文章内容

【JAVA基础知识】第八章 常用实用类(1)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 7:53:40

-->

主要内容:

1. String类

2. StringTokenizer类

3. Scanner类

4. Data类与Calendar类

5. 日期格式化

6. Math、BigInteger与Random类

7. 数字格式化

8. StringBuffer类

9. Pattern与Match类

10. Class类

[t]8.1 String类[/t]

(1)String类在java.lang包中

(2)String类为final类,不可以有子类,也不能扩展String类

[t]8.1.1 构造字符串对象[/t]

String s=new String(“abc”);

char a[]={‘j’,’a’,’v’,’a’};

String str=new String(a); 相当于

String s=new String(“Java”);

char a[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’};

String s=new String(a,2,4); // String(char a[],int startIndex,int count);提取字符串数组a中一部分字符创建一个字符串对象。

String类常用方法

1. public int length()

使用String类中的length方法可以获取一个字符串的长度。

2. public boolean equals(String s)

字符串对象调用equals方法比较当前字符串对象的实体是否与参数s指定的字符串的实体相同。

String s1=new String(“12345”);

String s2=new String(“234”);

boolean a=s1.equals(s2);

3.public boolean startsWith(String s)、public boolean endsWith(Stirng s)方法

字符串对象调用startWith(String s)方法,判断当前字符串对象的前缀是否是参数s指定的字符串,如:

String num1=”abcderg”,num2=”qwert”;

则: num1.startsWith(“abcd”); 的值为true,num2.endsWith(“wrt”); 为false

4.public int compareTo(String s)方法

字符串对象可以使用String类中的compareTo(String s)方法,按字典序与参数s指定的字符串比较大小。如果当前字符串与s相同,该方法返回值0,如果当前字符串对象大于s,该方法返回正值;如果小于s,回访负值。

String str=”abcde”;
System.out.println(str.compareTo(“ac”)); // 结果为 -1

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.String;

import java.util.Arrays;

class StringSort{
public static void sort(String a[]){
int count=0;
for(int i=0;i<a.length-1;i++)
{
for(int j=i+1;j<a.length;j++)
{
if(a[j].compareTo(a[i])<0)
{
String temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}

}
}

public class example {

public static void main(String[] args) {
String []a={"melon","apple","pear","banana"};
String []b={"西瓜","苹果","梨","香蕉"};
System.out.println("使用自定义类中的字母排列方法:");
StringSort.sort(a);
for(int i=0;i<a.length;i++)
{
System.out.println(" "+a[i]);
}
System.out.println(" ");
System.out.println("使用类库中的Arrays类,按字典序排列数组b:");
Arrays.sort(b);
for(int i=0;i<a.length;i++)
{
System.out.println(" "+b[i]);
}
}

}

5. public boolean contains(String s)

字符串对象调用contains方法判断当前字符串对象是否有参数指定的字符串s,例如,tom=”student”,那么tom.contains(“tu”)的值就是true

String s=”student”;
System.out.println(s.contains(“tu”));

6. public int indexOf(String s)

字符串调用方法indexOf从当前字符串的头开始检索字符串s,并返回首次出现s的索引位置。如果没有索引到字符串s,该方法返回的值为-1

Stirng tom-“I am a good cat”;

tom.indexOf(“a”); // 值为2

tom.indexOf(“good”,2); //值为7,从位置2开始检索

tom.indexOf(“a”,7); //值为13,从位置7开始检索

tom.indexOf(“w”,2); //值为-1

7. public String substring(int startpoint)

字符串对象调用substring方法获得一个当前字符串的子串,该子串是从当前字符串的startpoint出截取到最后所得到的字符串。若调用substring(int start,int end)方法则截取字符串start~end-1上的字符串。

String tom=”我喜欢篮球”;

String s=tom.substring(1); //s的值为 ”喜欢篮球“

String s1=tom.substring(1,3); //s1的值为“喜欢”

8. public String trim()

一个字符串s通过调用方法trim()得到一个字符串对象,该字符串对象时s去掉前后空格后的字符串。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.String;

public class string_contains {

public static void main(String[] args) {
String path="c:\\book\\javabook\\Java Programmer.doc";
int index=path.indexOf("\");
index=path.indexOf("
\",index);
String sub=path.substring(index);
System.out.println(sub);
index=path.lastIndexOf("
\");
sub=path.substring(index+1);
System.out.println(sub);
System.out.println(sub.contains("
Programmer"));

}
}

结果:

\book\javabook\Java Programmer.doc
Java Programmer.doc
true

8.1.3 字符串与基本数据的互相转换

(1)使用java.lang包中的Byte、Short、Long、Float、Double 类调用相应的类方法可以将由“数字”字符串组成的字符转换为相应的基本数据类型。

例如:

1
2
3
4
5
6
7
String s="678";

int x=Integer.parseInt(s);

float x1=Float.parseFloat(s);

double x2=Double.Double("3435.565");

(2)可以使用

1
2
3
4
5
6
7
8
9
public static String valueOf(byte n)

public static String valueOf(int n)

public static String valueOf(long n)

public static String valueOf(float n)

public static String valueOf(double n)

将形如123、1232.98等数值转化为字符串,如:

1
String str=String.valueOf(12313.8756);

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.String;

public class String_parseInt{
public static void main(String args[]){
double aver=0,sum=0,item=0;

boolean computer=true;

for(String s:args){
try{
item=Double.parseDouble(s); //将输入的字符串转换为Double型
sum=sum+item;
}

catch(NumberFormatException e){
System.out.println("您输入的非数字字符:"+e);
computer=false;

}

}

if(computer){
System.out.println("sum="+sum);

}

}
}

[t]对象的字符串表示[/t]

Object类有一个public String to toString()方法,一个对象通过调用该方法可以获得该对象的字符串表示。

1
2
3
4
5
6
7
8
9
10
11
12
package com.String;

import java.util.Date;

public class to_string {
public static void main(String args[])
{
Date date=new Date();
System.out.println(date.toString());
}

}

[t]8.1.5字符串与字符、字节数组[/t]

1. 字符串与字符数组

String类提供了将字符串存放到数组中的方法: public void getChar(int start,int end,char c[],int offset);

字符串调用getChars()方法将当前字符串中的一部分字符串复制到参数c指定的数组中,将字符串中从位置start到end-1位置上的字符串复制到数组c中,并从数组c的offset处开始存放这些字符。

1
2
3
4
5
char [] a;
String s="k88编程学习网";
a=new char[5];
s.getChars(1,6,a,0);
System.out.println(a);

【JAVA基础知识】第八章 常用实用类(1)