JAVA学习(String类,基本数据类型对象)

一、String类

1.String类的特点:

(1).字符串对象一旦被初始化就不会被改变。

(2).字符串创建后会存储在字符串常量池(字符串缓冲区)中。若池中有该字符串,则创建的对象直接引用该字符串。

String s = “abc”  与  String s1 = new String("abc")   的区别:

String s = “abc”  在字符串常量池中创建一个字符串“abc”并把其地址赋值给了对象s。

String s1 = new String("abc") 在堆内存中使用new创建了一个String对象,同时在构造该对象的时候接收了一个字符串对象“abc“,这些操作并没有涉及到字符串常量池。

所以对象s 与 对象s1 所引用的字符串虽然都是“abc“ 但是二者所引用的地址值并不相同。

 

2.String类的常见功能:

(1)获取

1.1获取字符串长度。 

  length();

1.2返回指定索引处的字符

  charAt(int index);

1.3返回指定字符在此字符串中第一次出现指定字符的索引

  indexOf(int ch);

  indexOf(int ch, int fronIndex);   //功能相同,从指定位置开始搜索。

  indexOf(String str);                  //也可以搜索字符串类型

  indexOf(String str, int fronIndex);

1.4返回指定字符在此字符串中最后一次出现指定字符的索引

  LastIndexOf(int ch);

  LastIndexOf(int ch, int fronIndex);   //功能相同,从指定位置开始搜索。

  LastIndexOf(String str);                  //也可以搜索字符串类型

  LastIndexOf(String str, int fronIndex);

1.5返获取字符串中一部分字符串,它是此字符串的一个子串

  substring(int beginIndex);                       //指定开始位置。

  substring(int beginIndex,int endIndex);  //指定开始,与结束位置。

(2)转换

2.1将字符串转换为字符串数组(字符串的切割)

  split(String regex);      //使用正则表达式对字符串进行相应的切割。

2.2将字符串转换为字符数组

  toCharArray();           //保留每一个字符,组合成为新的字符串数组。

二、基本数据类型对象包装类

为了方便操作数据基本类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。

用于描述该对象的类就称为基本数据类型对象包装类。

数据类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

 

 

 

 

 

 

 

 

 

 

1.常用功能

(1)字符串与基本类型之间的转换:

基本类型——>字符串

    1.基本类型数值+“”

    2.使用String类中的静态方法valueOf(基本类型数值);

字符串———>基本类型

    1.使用包装类中的静态方法xxx parseXxx(“xxx类型的字符串”);

      例如:int parseInt("intstring");

         long parseLong("longstring");

         ........

         Character没有parsefangfa

    2.如果字符串被Integer对象封装

      可以使用另一个非静态的方法 intValue();

      将一个对象转化为基本的数据类型值。

      例如:Integer i = new Integer(“123”);

      System.out.println(i.intValue());        //将字符串“123”,转换为值123输出

(2)进制转换

    1.十进制——>其他进制

    Integer.toBinaryString(60);            //转二进制

    Integer.toOctalString(60);            //转八进制

    Integer.toHexString(60);              //转16进制

    2.其他进制转十进制

    Integer.parseInt("X进制的字符串",X);

 

(3)自动装箱拆箱

    1.自动装箱,简化书写

    Integer i = 4;    //  与Integer i = new Integer();  相等

    2.自动拆箱

    i = i + 6;    // 等价于    i = new Integer(i.intValue()+6);       本质上i是一个对象

    3.jdk1.5以后。自动装箱,如果装箱的是一个字节,那么该数据会被共享不会开辟新的空间。

 

posted @ 2021-04-08 22:46  金芒果决斗  阅读(162)  评论(0)    收藏  举报