Java学习 String类

public static void main(String[] args) 
	{
		String s1 = "abc";
		String s2 = "abc";
		
		String s3 = new String("efg");
		String s4 = new String("efg");
		
		System.out.println(s1 == s2);
		System.out.println(s3 == s4);
	}

字符串是常量,他们的值在定义后不能更改

String s1 = "abc";
String s2 = "abc";

字符串存放在常量池中,当定义一个字符串时,会检测常量池是否已经含有这个字符串,如果有就不再创建,否则重新创建。

String s3 = new String("efg");
String s4 = new String("efg");

而通过new产生的字符串对象有两个

public String(String original)    //String类的构造函数
他的形参是一个对象,这个对象位于常量池中(如果常量池中没有则创建),然后通过new在堆内存中产生一个对象。



String类的函数
1,获取字符串中字符的个数:int length()
2,获取某个位置上的字符:char charAt(int index)
3,获取某个字符在字符串中第一次出现的位置:
3.1 int indexOf(int ch)
3.2 int indexOf(int ch,int fromIndex) 从指定位置进行ch的索引(第一次出现的位置)

3.3 int indexOf(String str)

                3.4 int indexOf(String str,int fromIndex)

                3.5 int lastIndexOf(int ch)

                3.6 int lastIndexOf(int ch,int fromIndex)

                3.7 int lastIndexOf(String str)

                3.8 int lastIndexOf(String str,int fromIndex)

示例:

	public static void main(String[] args) 
	{
		String s1 = "asdfagf";
		System.out.println(s1.length());
		System.out.println(s1.charAt(2));
		System.out.println(s1.indexOf('a'));
		System.out.println(s1.lastIndexOf('a'));
		System.out.println(s1.indexOf("ag"));
	}

                4.获取字符串中一部分子串:

                         4.1 String substring(int beginIndex)

                         4.2 String substring(int beginIndex,int endIndex)    //包含beginIndex不包含endIndex

关于转换的函数:

1.将字符串变成字符串数组(字符串的切割)

    String[] split(String regex)  //涉及到正则表达式

2.将字符串变成字符数组

    char[] toCharArray()

String s2 = "葡萄牙,西班牙,巴西,法国";
		String[] str = s2.split(",");
		for(int x = 1;x<str.length;x++)
		{
			System.out.println(str[x]);
		}
		char[] ch = s2.toCharArray();
		for(int x = 1;x<ch.length;x++)
		{
			System.out.println(ch[x]);
		}

输出如下:

----------------------------------

西班牙
巴西
法国


,
西


,

西
,


---------------------------------------

3.将字符串转换成字节数组    byte[]  getBytes()

4.将字符串的字母转化成大小写

    String toUpperCase()

    String toLowerCase()

              

String s1 = "asdfagf";
		byte[] ch = s1.getBytes();
		for (int i = 0; i < ch.length; i++)
		{
			System.out.println(ch[i]);
		}
		System.out.println(s1.toUpperCase());

结果:


5.将字符串内容进行替换

            String replace(char oldchar,char newchar)

            String replace(String s1,String s2)

6.将字符串两边空格去除

            String trim()

7.将字符串进行连接  

            String  concat(String str)

String s1 = "eclipse tool";
		String s2 = " is good!";
		System.out.println(s1.replace('o', 'e'));
		System.out.println(s1.replace("se", "xx"));
		System.out.println("-"+" this is ha   "+"-");
		System.out.println("-"+" this is ha   ".trim()+"-");
		System.out.println(s1.concat(s2));

结果:

-----------------

eclipse teel
eclipxx tool
- this is ha   -
-this is ha-

eclipse tool is good!

----------------------

关于判断的函数:

1,两个字符串是否相同:

            boolean equals(Object obj)

            boolean equalsIgnoreCase(String str)    //忽略大小写来比较(只能比较字符串)

2,字符串是否包含特定字符串:

               boolean contains(String str)

3,字符串是否以某个字符串开头,或以某一个字符串结束

                boolean startsWith(String str)

                boolean endsWith(String str)

String s1 = "eclipse tool";
		String s2 = " is good!";
		String s3 = " is good!";
		String s4 = " Is gooD!";
		
		System.out.println(s2.equals(s3));
		System.out.println(s2.equalsIgnoreCase(s4));
		System.out.println(s1.contains("tool"));
		System.out.println(s1.startsWith("ecl"));
		System.out.println(s4.endsWith("D!"));

结果:

true
true
true
true

true

--------

关于比较的函数:

int compareTo(String str)  //按字典顺序比较两个字符串,返回两者相减的值

		String s1 = "abc";
		String s2 = "aca";
		String s3 = "aca";
		
		System.out.println(s1.compareTo(s2));
		System.out.println(s2.compareTo(s3));

结果:

-1

0

--------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值