Java 字符串小结

一、字符串定义

1、直接定义:用双引号表示字符串内容

//直接赋值
String str1="Java is the most beautiful programming language";
String str2;
str2="Java is the most beautiful programming language";

2、String类定义:实例化String对象

String str3=new String("Java is the most beautiful programming language");
String str3;
str3=new String("Java is the most beautiful programming language");

两种定义方式有一定区别,上篇博客已有介绍——https://blog.csdn.net/weixin_43533825/article/details/89317150

二、格式化输出(包含字符串)

1、System.out.printf():跟C语言printf()相似风格的格式化输出功能,输出不换行

2、System.out.format():与System.out.printf()一样,输出不换行

3、System.out.println(String.format()):既可以格式化输出,又具备System.out.println()输出换行的功能

示例代码如下:

public class Stringtest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//syso快捷键结果,换行输出,无法格式转换
		System.out.println("test");
		//一般输出无法换行输出,也无法格式转换
		System.out.print("test");
		//常用于格式转换,但是无法换行输出
		System.out.printf("%s is the most beautiful programming language","java");
		//格式转换,无法换行输出
		System.out.format("%s is the most beautiful programming language","java");
		//格式转换,可以换行输出
		System.out.println(String.format("%s is the most beautiful programming language","java"));
	}
}

三、字符串操作

1、字符串查找

  • indexOf(int ch/String s,int fromIndex):ch字符,s字符串,fromIndex开始搜索的索引位置,返回指定字符/字符串在字符串中第一次出现位置的索引,从fromIndex位置处开始寻找
  • lastIndexOf(int ch/String s,int fromIndex):同上,返回指定字符/字符串在字符串中最后一次出现位置的索引,从fromIndex位置处开始寻找
  • charAt(int index):返回指定索引处的字符
  • getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin):将字符从字符串复制到目标字符数组,srcBegin要复制的第一个字符的索引,srcEnd要复制的最后一个字符的索引,dst目标数组,dstBegin目标数组中起始位置。
public class Stringtest{
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="JavaJava";
		//返回字符串或字符在s首次出现位置的索引
		System.out.println(s.indexOf("ava"));
		System.out.println(s.indexOf('a'));
		//返回字符串或字符在s最后一次出现位置的索引
		System.out.println(s.lastIndexOf("ava"));
		System.out.println(s.lastIndexOf('a'));
		//返回字符串指定索引位置的字符
		System.out.println(s.charAt(5));
		//返回指定位置的字符放入数组中
		char[] dst=new char[20];
		s.getChars(2, 5, dst, 2);
		System.out.println(dst);
	}
}

2、字符串比较

  • compareTo(Object o/String s):字符串与对象的比较/按字典顺序比较两个字符串,返回整型,相等返回0,如果字符串小于字符串参数,返回小于0的差值,如果字符串大于字符串参数,返回大于0的差值。
  • equals(String s):返回true false
  • equalsIgnoreCase(String s):返回true false,忽略大小写
public class Stringtest2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="JavaJava";
		//比较首字母,首字母相同,比较下个,以此类推
		System.out.println(s.compareTo("asdfasdfa"));//-23
		//比较内容
		System.out.println(s.equals("JavaJava"));//true
		//忽略大小写,比较内容
		System.out.println(s.equalsIgnoreCase("javajava"));//true
	}
}

3、字符串分割、截取

  • split():将拆分的结果保存到数组中,可以限定拆分的次数
  • substring():截取范围内的字符串
public class Stringtest {
	public static void main(String[] args) {
		String s="Java is the most beautiful programming language";
		//以空格分割s字符串,将拆分后的单词保存到str字符串数组里
		String[] str=s.split(" ");
		for(int i=0;i<str.length;i++)
		{
			System.out.println(str[i]);
		}
		//截取第一个单词
		System.out.println(s.substring(0,s.indexOf(" ")));
		//截取最后一个空格之后的子字符串
		System.out.println(s.substring(s.lastIndexOf(" ")+1));
		//截取最后一个单词
		System.out.println(s.substring(s.lastIndexOf(" ")+1,s.length()));
		//输出字符串长度,length()是函数
		System.out.println(s.length());
		//输出数组的长度,length是属性
		System.out.println(str.length);
	}
}

4、字符串大小写转换

  • toLowerCase():转换为小写
  • toUpperCase():转换为大写
//转换为小写字符串
System.out.println(s.toLowerCase());
//转换为大写字符串
System.out.println(s.toUpperCase());

5、字符串替换、修改

  • replace(char oldchar,char newchar):返回替换后的字符串
  • trim():删除头尾空白符
public class Stringtest4 {
	public static void main(String[] args) {
		String s="  Java is the most beautiful programming language  ";
		//替换字符串,不改变原有s字符串
		String str=s.replace("Java", "Python");
		System.out.println(s);
		System.out.println(str);
		//删除首尾空白符
		System.out.println(s.trim());
		System.out.println(str.trim());
	}
}

6、字符串开始、结尾

  • startsWith():是否以指定内容开始,返回boolean类型
  • endsWith():是否已指定内容结束,返回boolean类型
//先去出首尾空白符,在进行首尾字符串判断
System.out.println(s.trim().startsWith("Java"));
System.out.println(str.trim().endsWith("language"));

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

2019.12.14 更新

  • String.join把 list 转换为 String
        Map<String, String> map = new HashMap<String, String>();
        map.put("sss", "sssss");
        List<String> list = new ArrayList<String>(map.keySet());
        System.out.println(list);
        list.add("sss");
        String str=String.join("0",list);
        System.out.println(str);
        // 判断字符是 数字,字母
        System.out.println(Character.isDigit('3'));
        System.out.println(Character.isLetter('s'));
  • str.toCharArray() 把字符串转换成 字符 数组
  • Integer.toBinaryString 把数字转换成二进制字符串
        String binaryStr=Integer.toBinaryString(24);
        System.out.println(binaryStr);
        char[] chars=binaryStr.toCharArray();
        for (char c:chars){
            System.out.println(c);
        }
  • parseint() 和 valueof() 区别:前者返回的int基本类型,无法使用对象方法,后者返回的Integer包装类,可以使用对象方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值