JAVA_SE阶段基础知识——String类

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43841301/article/details/101050088

1、字符串的长度

求字符串的长度用   字符串标识符.length();  注意:要有小括号
求数组的长度用   数组名.length;  注意:没有小括号	

2、字符串的比较

用“==”判断的是栈内存中堆内存的地址,两个字符串所存的地址是否一致
用“equals()”判断的是堆内存中的内容,两个字符串所存的内容是否一致

3、可变长的参数

public void show(String(int)...str){
	for(int i;i<str.length;i++){
		system.out.print(str[i]++" ");	

	}
}

4、String类型的赋值方式

a、采用字面直接赋值   String s1="aaa";
b、构造方法赋值  String s2=new String("aaa");
c、传递引用赋值  String s3=s2;//把s2的堆内存的地址给了s3

只有通过传递引用赋值的,才能看到他们的值相等。s3==s2//true

String s1="abc";
String s2="abc";
String s3="abc";
s1==s2,s1==s3,s2==s3;都是true。abc在字符串池中。

5、“==”与“equals()”的区别:

    ==比较的是堆内存的地址是否相等;

	equals()比较的是堆内存里的内容是否一致

6、equalsIgnoreCase()忽略大小写的比较方法

   toLowerCase()大写转小写的方法
   toUpperCase()小写转大写的方法

7、常用的提取方法

获取字符在字符串中出现的位置:indexOf(int ch)    lastIndexOf(int ch)
截取字符串:subString(int beginindex);开始截取直到末尾。
	subString(int beginindex,int endindex)从begin开始打印到end-1结束

8、trim—去掉字符串前后的空格

变量名.trim();

9、根据某个字符拆分字符串—split

变量名.split( "  " );     返回一个字符串的数组

10、StringBuffer类

适用于对字符串频繁修改时
	StringBuffr的声明:
	StringBuffer sb=new StringBuffer();//创建字符串缓冲对象
	StringBuffer sb=new StringBuffer("aaa");

	StringBuffer的使用:
	sb.toString();    //转化为String类型
	添加功能:sb.append("***");      //追加字符串,返回的是本身,没有重新开空间
		 sb.insert(1,"***");       // 插入字符串,返回的是本身,没有重新开空间

	删除功能:sb.deleteCharAt(int index);//删除指定位置的字符,并返回本身
		  sb.deleteCharAt(int start,int end);//删除从指定位置开始到指定位置结束的内容,并返回本身
	
	替换功能:sb.replace(int start,int end,String str);//从start开始到end结束用str替换,并返回本身
	反转功能:sb.reverse();//返回本身
	截取功能:sb.subString(int start);//截取返回的是String,sb本身不变	

11、String与StringBuffer、StringBuilder:

String长度大小不可变
StringBuffer的长度是可变的、线程安全,效率低
StringBuilder长度可变、线程不安全(容易造成死锁)、速度快效率高

 StringBuffer和数组的区别:
二者都可看成是一个容器,装其他数据;
但StringBuffer的数据最终是字符串数据;
而数组可以放置多种数据,但必须是同一种数据类型的

12、把字符串变成字符数组—字符串变量名.toCharArry();

13、String类的判断功能:

boolean equale(Object obj);// 比较字符串的内容是否相同。区分大小写
boolean equaleIgnoreCase(String str);//比较字符串的内容是否相同,忽略大小写
boolean contains(String str);//判断大字符串中是否包含小字符串
boolean startsWith(String str);//判断字符串是否以某个指定的字符开头
boolean endsWith(String str);//判断字符串是否以某个字符结尾
boolean isEmpty();//判断字符串是否为空

注意:字符串内容为空和字符串对象为空
      String s="";
      String s=null;//对象都不存在

14、String类的转换功能:

byte[] getBytes();//把字符串转换为字节数组
char[] toCharArray();//把字符串转换为字符数组
static String valueOf(char[] chs);//把字符数组转换为字符串
static String valueOf(int i);//把int类型的数据转换为字符串
String concat(String str);//把字符串拼接

15、String类的其他功能:

替换功能:String replace(char old,char new);
	 String replace(char old,char new);

16、形参与实参

形参:出现在函数定义中,在整个函数体内可以使用,离开该函数则不能使用
实参:出现在主调函数中,进入被调函数后,实参变量也不能使用
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
String 作为参数传递,效果和基本类型作为参数传递是一样的

17、正则表达式:

符合一定规则的字符串
标准的/^ $/头和尾
最简单的手机号验证:/^1\d{10}$/
邮箱验证:/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+$/

猜你喜欢

转载自blog.csdn.net/weixin_43841301/article/details/101050088