java基础语法之字符串

目录

一.了解字符串的构造方式

二.字符串的基本操作

1.字符串的比较

2.字符串的拼接

3.获取字符串的长度

4.字符串的转换

5.字符串的查找,截取和替换

6.StringBuilder


一.了解字符串的构造方式


第一种

String str1 = "abc";

这种方法在创建字符串abc时,首先JVM会去缓冲池里寻找有没有“abc”这个字符串,如果有,就直接将缓冲池存放“abc”这块空间的地址直接赋给str1.如果没有,就会在缓冲池先开辟一个空间存放“123”,然后再将缓冲池存放“123”这块空间的地址直接赋给str1.

第二种

String str2 = new String("abc");

这种方法在创建字符串abc时,JVM也会去缓冲池里寻找有没有“abc”这个字符串,如果有,就会在堆区重新开辟一个空间,用来存放缓冲池中存放“abc”这块空间的地址。然后再让str2指向这个堆区开辟的空间的地址。
如果没有,它会先在缓冲池中开辟一个空间用来存放“abc”,然后再在堆区开辟一个空间,用来存放常量池中存放“abc”这块空间的地址。

总而言之,两种创建字符串的方式区别在于虽然内容相同,但是字符串的存放机制不同。

二.字符串的基本操作

1.字符串的比较

  • 1.==只比较内容,===不仅判断内容是否相等,还要判断存放的方式是否相等
String str1 = "abc";
String str2 = new String("abc");
str1==str2//true
str1===str2//false
  • 2.equals(),返回值为布尔值

字符串.equals(字符串2);            //需要判断字母大小写来进行比较
字符串.equalsIgnoreCase(字符串2);  //忽略字母大小写来进行比较

2.字符串的拼接

  • 最常用的使用"+"运算符拼接字符串
  • 使用 StringBuilder类,下面会单独提到

3.获取字符串的长度

  • 字符串.length()

4.字符串的转换

  • 字符数组与字符串的相互转换

字符数组转换为字符串

char []helloArray= {'h','e','l','l','o'};   //声明一个字符数组
String helloString=new String(helloArray);

字符串转换为字符数组

String helloString ="hello";        //声明一个字符串变量并赋值
char []helloArray=helloString.toCharArray();
  • int与String相互转换

int 转string

(1) num+“”;
int num=123;
String str=num+"";
(2) String.valueOf(num)
int num=123;
String str=String.valueOf(num);
(3)Integer.toString(num)
int num=123;
String str=Integer.toString(num);

string转int

(1) Integer.parseInt(str);
String str="123";
int num=Integer.parseInt(str);
(2) Integer.valueOf(str).intValue();
String str="123";
int num=Integer.valueOf(str).intValue();

5.字符串的查找,截取和替换

1.查找

  • int indexOf(char ch):搜索字符ch出现的第一个索引号,如果没有,返回-1;
  • int indexOf(char ch,int index):从index位置开始搜索出现ch的第一个索引号;没有返回-1
  • int indexOf(String str):搜索字符串str出现的第一个索引号

String str="abcd";                    
System.out.println(str.indexOf('c'));    //输出字符'c'的索引号
System.out.println(str.indexOf('c',1));  //输出索引号为1的字符是否是字符'c'
System.out.println(str.indexOf("bc"));   //输出字符串bc出现的索引
//答案为
2
-1
1  

2.截取

  • String substring(int index):提取从位置索引开始的字符串部分;
  • String substring(int beginnum,int endnum):提取beginnum到endnum-1为止的字符串部分。

String str="abcd";
str.substring(2);       //截取开始位置为3的字符串
str.substring(1, 3);    //截取开始索引为1,结束索引为3但不包含3的字符串

3.替换

字符串.replace(char oldchar,char newchar)


String s1="abcd";
char oldchar='a';         //被替换字符
char newchar='A';         //替换字符
String s2=s1.replace(oldchar, newchar);
System.out.println(s2); 
//s2结果为Abcd
 

6.StringBuilder

1.什么是StringBuilder

2.StringBuilder的构造方法

3.StringBuilder的添加与反转

4.StringBuilder与String的转化

总结:java关于字符串的方法有很多,上面只提到常用的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶枯雪落光仍在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值