字符串String的定义与使用、字符串String与基本数据类型的相互转换

字符串String的定义:

1、字符串String类存放与 java.lang 包中,因为java.lang包是系统默认引入的,所以使用该包时,不用再通过 import 关键字进行引入了

2、String 类是 final 类型的类,所以 String 类不能被其他类继承,即没有子类;

字符串String的使用:

String 常量 :和别的数据类型不一样,String类型的常量 和 对象一样,也拥有自己的 引用和实体,这些引用和实体都存放在常量池中;

例如: "你好"、"itm"、"my" ,这三个都是String 常量,它们分别拥有自己的 引用和实体 ;

String 对象:通过 String类 声明对象并创建对象;

声明空对象 ;

String str ;

创建对象 ;

String str = new String("my one String");

****因为 String常量 拥有自己的 引用和实体,所以可以通过 String 常量 直接赋值给 String 对象 ,这样对象就拥有了和常量一样的引用和实体了;

例如:

        String ac;
        ac = "你好";
        System.out.println("ac:"+ac);

****需要注意的是,用户不能输出String对象的引用,上面代码 ac 输出的不是引用值,而是: 你好 ;


String类比较常用构造方法:

1、String str = new String();         //此时对象 str 实体为 空 ;

2、String str = new String("你好");     //此时对象 str 实体为 你好 ;

3、String s = new String(str);       //此时对象 s 的引用和实体 与 对象str一样 ;

4、String(char [] a) 用一个字符数组创建一个String对象;

例如:

char[] ch = {'你','好','世','界'};

String str = new String(ch);

str的实体为:你好世界 ;

5、String(char [] a , int start , int count) 用一个字符数组指定 位置、数量 创建一个String对象;

start表示: 起点,从0开始算起;

count表示: 个数,不是位置,从1开始算起;

例如:

        char[] ch = {'你','好','世','界','n','m'};
        String str = new String(ch,2,3);
        System.out.println(str);

str的实体为:世界n ;


字符串String的并置:

String 对象可以通过 “ + ” ,进行并置,得到一个新的 String对象;

第一种情况:

String h = "ITM", j = "ITM" ;

String hj = h + j ;

第二种情况:

String hj = "ITM" + "ITM" ;

需要注意的是:

对于第一种情况,对象 hj 会得到新的 引用;

如下代码↗:

	    String h = "d",j = "s" ;

	    String hj,jh;
	    hj = h + j ;
	    jh = h + "s" ;

	    if(hj == jh){
	    	System.out.println("hj == jh");
	    }else{
	    	System.out.println("hj != jh");
	    }

	    if(hj.equals(jh)){
	    	System.out.println("hj == jh");
	    }else{
	    	System.out.println("hj != jh");
	    }
	    

代码中,对于 对象 hj 和 jh ,都存在一个 String对象的赋值 ,所以对象 hj 和 jh 会得到新的 引用 ;

相当于: hj = new String("ds") ;  jh = new String("ds") ;

代码输出结果:

hj != jh
hj == jh

对于第二种情况得到的是常量池中已有的引用;

如下代码↗:

	    String hj,jh;
	    hj = "d" + "s" ;
	    jh = "d" + "s" ;
	    
	    if(hj == jh){
	    	System.out.println("hj == jh");
	    }else{
	    	System.out.println("hj != jh");
	    }

	    if(hj.equals(jh)){
	    	System.out.println("hj == jh");
	    }else{
	    	System.out.println("hj != jh");
	    }

代码中,对于 对象 hj 和 jh ,都是 String 常量 + String 常量 进行运算的,所以结果也是一个 String 常量,则它们的引用都是一样的;

代码输出结果:

hj == jh
hj == jh


字符串String与基本数据类型的相互转换:

一、字符串String 转换成 基本数据类型 ;

调用 java.lang 包的 Byte、Short、Integer、Long、Double 类中相应方法,可以实现字符串类型转换成基本数据类型;

如下代码↗:

            String number = "111" ;
	    int in = Integer.parseInt(number);
	    in += 11 ;
	    System.out.println("in:"+in);

代码输出结果:

in:122

对于其他数据类型,使用时也是一样的:

byte by = Byte.parseByte(number);

short sho = Short.parseShort(number);

long lon = Long.parseLong(number);

float flo = Float.parseFloat(number);

double dou = Double.parseDouble(number);

需要注意的是:

1、转换时,String对象的值是不能有字母的;
 


二、基本数据类型 转换成 字符串String;

通过 String 类的 public static String valueOf() ; 方法,可以实现基本数据类型 转换成 字符串String类型;

如下代码↗:

	    double casea = 122.111;
	    String strings = String.valueOf(casea);

	    String str = "密码:";
	    System.out.println(str+strings);

代码输出结果:

密码:122.111

发布了59 篇原创文章 · 获赞 10 · 访问量 7931

猜你喜欢

转载自blog.csdn.net/LagerSwan/article/details/104446117