Java基础-类(String类、封装类)

目录

  • String类
  • 封装类

String类

  String属于引用数据类型,用来存储字符串。

String定义方法有两种

  1.String str=“abc”;

  2.String str2=new String(“abc”);

  在Java中,String类是用final关键字修饰的,这代表String一旦被赋值就不可改变。

  String str1=“abc”;

  用“=”直接赋值,str1直接指向方法区中的String字符串常量池中

  String str2=new String(“abc”)

  用new关键字创建的String对象,str2先指向存储在堆中的String对象的地址,然后再指向字符串常量池中所对应的数据

“==”和equals()

  1.在基本数据类型中,“==”比较的是数据的值,而在引用数据类型中比较的是对象的地址

  2.equals()用来比较两个字符串的值是否相等

  用new创建的String不能用“==”比较值是否相等,每一个用new创建的对象,在堆中都有唯一的属于自己的区域,直接“==”比较的是地址而不是值

  String str1=“abc”;

  String str2=“abc”;

  对于值相等的多个String类型,在内存中不会划分多个区域存储数据,而是直接指向一个相同的数据

String类中的主要常用方法

1、length()

  length()方法可以获取字符串的长度(也就是字符串中字符的个数),返回值是int类型

  字符串是有下标的

  字符串获取长度的方法和数组获取长度有什么区别?

  字符串是通过length()方法获得字符串长度的,而数组是通过自身的属性length来获取数组长度的

2、equals()

  equals()方法用来比较两个字符串的值是否相等,返回值为boolean类型

  例如:String str1=“a”;

   String str2=new String(“a”);

  System.out.println(str1.equals(str2));

  运行结果:true

3、charAt()

  charAt()方法用来获得指定下标的字符,()里是字符串的下标,字符串下标从0开始,返回值为字符型。

  charAt()可以配合Scanner来实现从键盘输入一个字符

  例如: Scanner scanner=new Scanner(System.in);

  char c=scanner.next().charAt(0);

4、indexOf()

  indexOf()用来查找指定字符串,返回值为指定字符串的下标,()可以有两个参数,第一个是要查找的字符串,第二个是从下标为几开始查找(包含开始下标),当没有找到是返回-1

  例如:String str=“abcabc”;

  int  index1=str.indexOf("a",1);

  int index2=str.indexOf("a",0);

  System.out.println(“index1”);

  System.out.println(“index2”);

  运行结果:3

                    0

5、substring()

  substring()方法用来截取指定下标起始或结束位置的字符或字符串,返回值为String类型,原String数据不会改变

  substring(fromindex,lastindex)截取的字符串包含起始位置,不包含终止位置

  substring(fromindex)从字符串下标为起始下标的字符开始截取,包含起始下标,一直截到最后,

6、toUpperCase() 、 toLowerCase()

  toUpperCase()方法将字符串中的小写字母全部转为大写字母

   toLowerCase()方法将字符串中的大写字母全部转为小写字母

7、startsWitch()

  startsWitch()判断字符串是否以什么开头,返回值为布尔型

8、endsWith()

  endsWith()判断字符串是否以什么结尾,返回值为布尔型

9、equalsIgnoreCase()

  equalsIgnoreCase()忽略大小写比较

10、trim()

  trim()去掉空格

  例如:String str="dad  a";

  System.out.println(str.trim());

  运行结果:dada

11、split()

  split()根据指定字符分割字符串

12、replace()、replaceAll()

  replace(‘a’,‘b’)用字符‘a’来代替字符串中的‘b’;

  replace(“ads”,“dads”)用字符串“ads”代替字符串中的子字符串“dads”

例如:

1    String str="hello";
2       str.replace('e','o');
3         System.out.println(str.replace('e','o'));
4         str.replaceAll("l","o");
5         System.out.println(str.replaceAll("ll","o"));

13、valueOf()

  把其他类型转化为字符串型

例如:

1   int i=10;
2         char c='o';
3         //把int类型转为字符串(推荐)
4         String s=String.valueOf(i);

14、toCharArray()

  字符串转为字符型数组

例如:

1  String str="dawd";
2        char[] c= str.toCharArray();

包装类

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

自动装箱,基本数据类型转为对应的包装类

Integer s=2;

手动装箱

Integer s2=Integer.valueOf(2);

自动拆箱,将包装类转为对应的基本数据类型

int i=s;

手动拆箱

int i2=s.intValue();
posted on 2022-07-20 20:07  轮回dawd  阅读(37)  评论(0)    收藏  举报