java中string的知识零碎总结

本文深入讲解Java中字符串的各种操作方法,包括遍历、判断、获取、转换等核心功能,通过实例演示了字符串的使用技巧,如模拟登录验证、首字母大写转换、字符串反转等实用案例。

1、字符串的遍历方法小结:
(1)用length()与charAt()方法进行遍历

package fangfa.com;

import java.util.Scanner;

public interface ChouXiangLei {
	public static void main(String[] args) {
		String name = "YouToBe";
		for (int i = 0; i < name.length(); i++) {
			char set = name.charAt(i);
			System.out.printf("%c",set);
		}
	}	
}

(2)将string字符串转换为数组然后进行遍历

package fangfa.com;

import java.util.Scanner;

public interface ChouXiangLei {
	public static void main(String[] args) {
		String name = "Youtobu";
		char[] name1 = name.toCharArray();
		for (int i = 0; i < name1.length; i++) {
			System.out.printf("%s",name1[i]);
		}
	}	
}

2、String类的判断功能
boolean equals(Object obj):
比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):
比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str):
判断字符串对象是否以指定的str开头
boolean endsWith(String str):
判断字符串对象是否以指定的str结尾

  package com.itheima_03;
/*
 * Object:是类层次结构中的根类,所有的类都直接或者间接的继承自该类。
 * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象。
 * 
 * String类的判断功能:
 * boolean equals(Object obj):比较字符串的内容是否相同
 * boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
 * boolean startsWith(String str):判断字符串对象是否以指定的str开头
 * boolean endsWith(String str):判断字符串对象是否以指定的str结尾
 */
public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s1 = "hello";
		String s2 = "hello";
		String s3 = "Hello";
		
		//boolean equals(Object obj):比较字符串的内容是否相同
		System.out.println(s1.equals(s2));
		System.out.println(s1.equals(s3));
		System.out.println("-----------");
		
		//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
		System.out.println(s1.equalsIgnoreCase(s2));
		System.out.println(s1.equalsIgnoreCase(s3));
		System.out.println("-----------");
		
		//boolean startsWith(String str):判断字符串对象是否以指定的str开头
		System.out.println(s1.startsWith("he"));
		System.out.println(s1.startsWith("ll"));
	}
}

3、判断功能案例
需求:模拟登录,给三次机会,并提示还有几次

package com.itheima_03;

import java.util.Scanner;

/*
 * 模拟登录,给三次机会,并提示还有几次。
 * 
 * 分析:
 * 		A:定义两个字符串对象,用于存储已经存在的用户名和密码
 * 		B:键盘录入用户名和密码
 * 		C:拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
 * 			如果内容相同,提示登录成功
 * 			如果内容不同,提示登录失败,并提示还有几次机会
 */
public class StringTest {
	public static void main(String[] args) {
		//定义两个字符串对象,用于存储已经存在的用户名和密码
		String username = "admin";
		String password = "admin";
		
		//给三次机会,用for循环实现
		for(int x=0; x<3; x++) {
			//键盘录入用户名和密码
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入用户名:");
			String name = sc.nextLine();
			System.out.println("请输入密码:");
			String pwd = sc.nextLine();
			
			//拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
			if(username.equals(name) && password.equals(pwd)) {
				System.out.println("登录成功");
				break;
			}else {
				if((2-x) ==0) {
					System.out.println("用户名和密码被锁定,请与管理员联系");
				}else {
					System.out.println("登录失败,你还有"+(2-x)+"次机会"); //2,1,0
				}
			}
		}
	}
}

4、String类的获取功能

package com.itheima_04;
/*
 * String类的获取功能:
 * int length():获取字符串的长度,其实也就是字符个数
 * char charAt(int index):获取指定索引处的字符
 * int indexOf(String str):获取str在字符串对象中第一次出现的索引
 * String substring(int start):从start开始截取字符串
 * String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
 */
public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s = "helloworld";
		
		//int length():获取字符串的长度,其实也就是字符个数
		System.out.println(s.length());
		System.out.println("--------");
		
		//char charAt(int index):获取指定索引处的字符
		System.out.println(s.charAt(0));
		System.out.println(s.charAt(1));
		System.out.println("--------");
		
		//int indexOf(String str):获取str在字符串对象中第一次出现的索引
		System.out.println(s.indexOf("l"));
		System.out.println(s.indexOf("owo"));
		System.out.println(s.indexOf("ak"));
		System.out.println("--------");
		
		//String substring(int start):从start开始截取字符串
		System.out.println(s.substring(0));
		System.out.println(s.substring(5));
		System.out.println("--------");
		
		//String substring(int start,int end):从start开始,到end结束截取字符串
		System.out.println(s.substring(0, s.length()));
		System.out.println(s.substring(3,8));
	}
}

5、String类的转换功能
char[] toCharArray()
把字符串转换为字符数组
String toLowerCase()
把字符串转换为小写字符串
String toUpperCase()
把字符串转换为大写字符串

package com.itheima_05;
/*
 * String类的转换功能:
 * char[] toCharArray():把字符串转换为字符数组
 * String toLowerCase():把字符串转换为小写字符串
 * String toUpperCase():把字符串转换为大写字符串
 * 
 * 字符串的遍历:
 * 		A:length()加上charAt()
 * 		B:把字符串转换为字符数组,然后遍历数组
 */
public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s = "abcde";
		
		//char[] toCharArray():把字符串转换为字符数组
		char[] chs = s.toCharArray();
		for(int x=0; x<chs.length; x++) {
			System.out.println(chs[x]);
		}
		System.out.println("-----------");
		
		//String toLowerCase():把字符串转换为小写字符串
		System.out.println("HelloWorld".toLowerCase());
		//String toUpperCase():把字符串转换为大写字符串
		System.out.println("HelloWorld".toUpperCase());
	}
}

6、转换功能案例


```java
package com.itheima_05;

import java.util.Scanner;

/*
 * 键盘录入一个字符串,把该字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
 * 
 * 分析:
 * 		A:键盘录入一个字符串
 * 		B:截取首字母
 * 		C:截取除了首字母以外的字符串
 * 		D:B转大写+C转小写
 * 		E:输出即可
 */
public class StringTest {
	public static void main(String[] args) {
		//键盘录入一个字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String s = sc.nextLine();
		
		//截取首字母
		String s1 = s.substring(0, 1);
		
		//截取除了首字母以外的字符串
		String s2 = s.substring(1);
		
		//B转大写+C转小写
		String s3 = s1.toUpperCase()+s2.toLowerCase();
		
		//输出即可
		System.out.println("s3:"+s3);
	}
}

7、String类的其它功能
去除字符串两端空格
String trim()
按照指定符号分割字符串
String[] split(String str)

package com.itheima_06;
/*
* 去除字符串两端空格	
*		String trim()
* 按照指定符号分割字符串	
*		String[] split(String str)
*/
public class StringDemo {
   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]);
   	}
   }
}

8、字符串的反转

package com.itheima_07;

import java.util.Scanner;

/*
 * 字符串反转
 * 举例:键盘录入”abc”		
 * 输出结果:”cba”
 * 
 * 分析:
 * 		A:键盘录入一个字符串
 * 		B:写方法实现字符串的反转
 * 			a:把字符串倒着遍历,得到的每一个字符拼接成字符串。
 * 			b:把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串
 * 		C:调用方法
 * 		D:输出结果
 */
public class StringTest2 {
	public static void main(String[] args) {
		//键盘录入一个字符串
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String s = sc.nextLine();
		
		//写方法实现字符串的反转
		
		//调用方法
		String result = reverse(s);
		
		//输出结果
		System.out.println("result:"+result);
	}
	
	
	
	/*
	 * 把字符串倒着遍历,得到的每一个字符拼接成字符串。
	 * 
	 * 两个明确:
	 * 		返回值类型:String
	 * 		参数列表:String s
	 */
	
	/*
	public static String reverse(String s) {
		String ss = "";
		
		for(int x=s.length()-1; x>=0; x--) {
			ss += s.charAt(x);
		}
		
		return ss;
	}
	*/
	
	//把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串
	public static String reverse(String s) {
		//把字符串转换为字符数组
		char[] chs = s.toCharArray();
		
		//对字符数组进行反转
		for(int start=0,end=chs.length-1; start<=end; start++,end--) {
			char temp = chs[start];
			chs[start] = chs[end];
			chs[end] = temp;
		}
		
		//最后在把字符数组转换为字符串
		String ss = new String(chs);
		return ss;
	}
}

把字符数组转换为字符串:
方式一:
String ss = new String(chs);
方法二:
String ss = String.valueOf(chs);
把字符串转换为数组:
String name = “YouToBe”;
String[] set = name.toCharMarry(name);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ctrl精

面试很多问题,积攒不容易

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

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

打赏作者

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

抵扣说明:

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

余额充值