JAVA的学习记录(二)String的基本语法

Java String类详解
本文深入解析Java中的String类,涵盖String类的特性、对象创建、构造方法及常用方法。了解如何创建、比较和操作字符串,掌握字符串长度、字符检索、连接和比较技巧。

一、String类

String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。

二、String类对象的创建

字符串声明:String stringName;
字符串创建:stringName = new String(字符串常量);或stringName = 字符串常量;

三、String类构造方法

1、public String()
无参构造方法,用来创建空字符串的String对象。

1 String str1 = new String():

2、public String(String value)
用已知的字符串value创建一个String对象。

1 String str2 = new String("asdf"); 2 String str3 = new String(str2); 

3、public String(char[] value)
用字符数组value创建一个String对象。

1 char[] value = {"a","b","c","d"};
2 String str4 = new String(value);//相当于String str4 = new String("abcd");

**
4、public String(char chars[], int startIndex, int numChars)**
用字符数组chars的startIndex开始的numChars个字符创建一个String对象。

1 char[] value = {"a","b","c","d"};
2 String str5 = new String(value, 1, 2);//相当于String str5 = new String("bc");

5、public String(byte[] values)
用比特数组values创建一个String对象。

1 byte[] strb = new byte[]{65,66};
2 String str6 = new String(strb);//相当于String str6 = new String("AB");

四、String类常用方法

1、字符串介绍
1)字符串定义 只定义不分配内存空间,不做任何操作;
字符串初始化 两种方式直接等号赋值,用new初始化,直接等号赋值放入内存池,其它变量也可以引用;new初始化分配内存空间,不可引用;
字符串赋值为null 初始化了,并且有了引用,但是没有指向任何内存空间

2、求字符串长度
public int length()//返回该字符串的长度

1 String str = new String("asdfzxc");
2 int strlength = str.length();//strlength = 7

3、求字符串某一位置字符
public char charAt(int index)//返回字符串中指定位置的字符;注意字符串中第一个字符索引是0,最后一个是length()-1。

1 String str = new String("asdfzxc");
2 char ch = str.charAt(4);//ch = z

4、字符串比较
1)public int compareTo(String anotherString) //该方法是对字符串内容按字典顺序进行大小比较,通过返回的整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。
2)public int compareToIgnore(String anotherString)//与compareTo方法相似,但忽略大小写。
3)public boolean equals(Object anotherObject)//比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。
4)public boolean equalsIgnoreCase(String anotherString)//与equals方法相似,但忽略大小写。

1 String str1 = new String("abc");
2 String str2 = new String("ABC");
3 int a = str1.compareTo(str2);//a>0
4 int b = str1.compareTo(str2);//b=0
5 boolean c = str1.equals(str2);//c=false
6 boolean d = str1.equalsIgnoreCase(str2);//d=true

5)equals 方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

对于字符串变量来说,使用“= =”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。 例如:

s1 = new String("abc");
s2 = new String("abc");
s1.equals(s2) 是 true

3.对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

class A
{
      A obj1   =   new  A();
      A obj2   =   new  A();
}
    obj1.equals(obj2)是false

5、字符串连接
public String concat(String str)//将参数中的字符串str连接到当前字符串的后面,效果等价于"+"。

1 String str = "aa".concat("bb").concat("cc");
2 相当于String str = "aa"+"bb"+"cc";
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值