前言:Java专门提供了用来处理字符序列的String类。
String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。
需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类。
字符串与数字的相互转化
1.数字格式的字符串转换为相应的基本数据类型
java.long包中的Byte,Short,Long,Float,Double类调用相应的类方法:
public static byte parseByte(String s)
public static short parseShort(String s)
public static long parseLong(String s)
public static double parseDouble(String s)
ex:调用如下,Double.parseDouble(args[i]);
2.整数的各种进制的字符串表示:
Long类中:
public static String toBinaryString(long i)二进制
public static String toOctalString(long i)八进制
public static String toHexString(long i)十进制
public static String toString (long i,intp)十六进制
ex:调用如下,Long.toString(123,16);123的16进制。
3.将数字转换为字符串
public static String valueOf( byte n)
public static String valueOf( int n)
public static String valueOf( long n)
.
.
.
.public static String valueOf( double n)
class String_2
{
publicstatic void main(String[] args)
{
doublen,sum=0.0;
for(int i=0;i<args.length;i++ )
{
sum=sum+Double.parseDouble(args[i]);//
}
n=sum/args.length;
System.out.println("平均数:"+n);
intnumber=8658;
StringbinaryString=Long.toBinaryString(number);//使用long类中的toBinaryString方法,,,得到整数的二进制的字符串表示。
System.out.println(number+"的二进制表示:"+binaryString);
System.out.println(number+"的八进制表示:"+Long.toOctalString(number));
System.out.println(number+"的十六进制表示:"+Long.toString(number,16));//publicstatic String toString(long i,int p )......注:返回整数i的p进制。(通用式)
}
}
对象的字符串表示
所有的类都默认是java.lang包中Object类的子类或间接子类。
Object类有一个public String toString()方法,一个对象通过调用该方法可以获得该对象的字符串表示。
例如,java.util包中的Date类就重写了toString()方法,使Date对象调用toString()方法得到的字符串是由日期信息组成的字符序列。
如果一个类没有重写toString()方法,则该类创建的对象调用toString()方法得到的字符串格式是
创建对象的类的名字@对象的引用的字符串表示。ex:下例,tv@123
import java.util.Date;
class String_2
{
publicstatic void main(String args[])
{
Datedate =new Date();
Studentstu =new Student("张三",89);
TVtv =new TV("电视机",8776);
System.out.println(date.toString());
System.out.println(stu.toString());
System.out.println(tv.toString());
}
}
class Student
{
Stringname;
doublescore;
Student(Stringname,double score)
{
this.name=name;
this.score=score;
}
publicString toString()
{
return("姓名:"+name+",分数:"+score);
}
}
class TV
{
Stringname;
Doubleprice;
TV(Stringname,double price)
{
this.name=name;
this.price=price;
}
}