String_2学习笔记

前言: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 toBinaryStringlong 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);12316进制。

 

 

 

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 )......注:返回整数ip进制。(通用式)

 

 

       }

}

 

对象的字符串表示

       所有的类都默认是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;

       }

       }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值