关于String类的东西

关于String类的构造方法

  • String(String original):把字符串数据封装成字符串对象
  • String(char[] value):把字符数组的数据封装成字符串对象
  • String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
public static void main(String[] args) {
		//方式1
		//String(String original):把字符串数据封装成字符串对象
		String method1 = new String("hello");
		System.out.println("method1:"+method1 );
		System.out.println("---------");
		
		//方式2
		//String(char[] value):把字符数组的数据封装成字符串对象
		char[] chs = {'h','e','l','l','o'};
		String method2 = new String(chs);
		System.out.println("method2:"+method2);
		System.out.println("---------");
		
		//方式3
		//String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
		//String s3 = new String(chs,0,chs.length);
		String method3 = new String(chs,1,3);
		System.out.println("method3:"+method3);
		System.out.println("---------");
		
		//方式4
		String method4 = "hello";
		System.out.println("method4:"+method4);

	}
}

这里的直接赋值创建的对象和构造方法创建的对象是有区别的,直接赋值创建的对象在是在当前方法区内的常量池里的,而构造方法创建的字符串对象是在堆内存里的。

关于String类的判断功能

  • boolean equals(Object obj):比较字符串的内容是否相同
  • boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
  • boolean startsWith(String str):判断字符串对象是否以指定的str开头
  • boolean endsWith(String str):判断字符串对象是否以指定的str结尾
public static void main(String[] args) {
		//创建字符串对象
		String str1 = "hello";
		String str2 = "hello";
		String str3 = "Hello";
		
		//boolean equals(Object obj):比较字符串的内容是否相同,大小写会区分
		System.out.println(str1.equals(str2));
		System.out.println(str1.equals(str3));
		System.out.println("-----------");
		
		//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
		System.out.println(str1.equalsIgnoreCase(str2));
		System.out.println(str1.equalsIgnoreCase(str3));
		System.out.println("-----------");
		
		//boolean startsWith(String str):判断字符串对象是否以指定的str开头,endwith是否以指定的结尾
		System.out.println(str1.startsWith("he"));
		System.out.println(str1.startsWith("ll"));
		System.out.println(str2.endsWith("heo"));
//		System.exit(0);
	}

关于String类的获取功能

  • int length():获取字符串的长度,其实也就是字符个数
  • char charAt(int index):获取指定索引处的字符
  • int indexOf(String str):获取str在字符串对象中第一次出现的索引,如果没有返回-1
  • String substring(int start):从start开始截取字符串
  • String substring(int start,int end):从start开始,到end结束截取字符串,包括start,不包括end
	public static void main(String[] args) {
		String str= "abcdefg";
		System.out.println("str长度:"+str.length());//获取字符长度
		System.out.println("--------------------");
		System.out.println("str.0:"+str.charAt(0));//过去字符串的指定索引的值
		System.out.println("str.1:"+str.charAt(1));
		System.out.println("--------------------");
		System.out.println(str.indexOf("cf"));//找到在字符串中第一次出现的索引值返回,如果没找到返回-1
		System.out.println(str.indexOf("fg"));
		System.out.println("---------------------");
		System.out.println(str.substring(2, 5));//从开始位置到结束位置的字符,[start,end) : >=2 <5
		System.out.println("------------------------");
		for(int i =0 ; i<str.length();i++){//遍历字符串
			System.out.print(str.charAt(i)+" ");
		}
	}

关于String类的转换方法

  • char[] toCharArray():把字符串转换为字符数组
  • String toLowerCase():把字符串转换为小写字符串
  • String toUpperCase():把字符串转换为大写字符串
//例子:键盘录入一个字符串,把该字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
	 public static void main(String[] args) {
		Scanner  sc = new Scanner(System.in);
		System.out.println("请输入一段字符串:");
		String str = sc.nextLine();
         String start=str.substring(0, 1).toUpperCase();
         String end =str.substring(str.length()-1, str.length()).toUpperCase();
         String middle= str.substring(1, str.length()-1).toLowerCase();
         System.out.println("变化后为:");
         System.out.println(start+middle+end);
	}

另外

  • String类型转换成StringBuilder类型:可以看一看StringBuilder的构造方法
  • String类型转换成int类型:可以看一看Integer的构造方法

关于String类的其他功能

  • String trim():去除字符串两端空格
  • String[] split(String str):按照指定符号分割字符串
	public static void main(String[] args) {
		//创建字符串对象
				String s1 = "helloworld";
				String s2 = "  helloworld  ";
				String s3 = "  hello  world  ";
				System.out.println("---"+s1+"---");
				System.out.println("---"+s1.trim()+"---");
				System.out.println("---"+s2+"---");
				System.out.println("---"+s2.trim()+"---");
				System.out.println("---"+s3+"---");
				System.out.println("---"+s3.trim()+"---");
				System.out.println("-------------------");

				//String[] split(String str)
				//创建字符串对象,按照指定符号进行分割
				String s4 = "aa,bb,cc";
				String[] strArray = s4.split(",");
				for(int x=0; x<strArray.length; x++) {
					System.out.println(strArray[x]);
				}
	}

小案例(字符翻转)

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一段字符串:");
		String str=sc.nextLine();	
//		String s=fanzhuan(str);
		String s[]=fanzhuan2(str);
		for(String i:s){
			System.out.print(i);
		}
	}
	//方法1:
//	public static String fanzhuan(String str) {
//		char[] arr=str.toCharArray();
//		char p=0;
//		for(int i=0;i<(arr.length/2);i++){
//			p=arr[i];
//			arr[i]=arr[arr.length-i-1];
//			arr[arr.length-i-1]=p;
//		}
//		String s=" ";
//		for(int i=0;i<arr.length;i++){
//			s+=arr[i];
//		}
//		return s.trim();
//	}
    //方法2:
	public static String[] fanzhuan2(String str) {
		char[] arr=str.toCharArray();
		String[] brr=new String[arr.length];
		char p=0;
		for(int i=0;i<(arr.length/2);i++){
			p=arr[i];
			arr[i]=arr[arr.length-i-1];
			arr[arr.length-i-1]=p;
		}
		for(int i=0;i<brr.length;i++){
			brr[i]=String.valueOf(arr[i]);
		}
		
		return brr;
	}

总结

没啥好总结的,记录一下尝试写博客1


  1. loverara ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

别慌我有细节

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

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

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

打赏作者

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

抵扣说明:

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

余额充值