前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >String、StringBuffer 的使用 ,两个面试问题

String、StringBuffer 的使用 ,两个面试问题

作者头像
梅花
发布于 2020-09-28 08:26:45
发布于 2020-09-28 08:26:45
46800
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1》统计不同类型字符个数

public static void main(String[] args) {
		//案例:统计不同类型字符个数
		String password = "abZZc23&%Asd^4";
		
		//密码:大写,小写,数字,特殊字符
		
		//1.声明变量
		int big = 0;//大写
		int small = 0;//小写
		int num = 0;//数字
		int other = 0;//特殊字符
				
				
		//2.遍历字符串的字符
		for(int i=0; i < password.length();i++){
			//取字符
			char ch = password.charAt(i);
			System.out.println(ch);
			
			//判断字符是否为大写
			if(ch >= 'A' && ch <='Z'){
				big ++;
			}else if(ch >= 'a' && ch <= 'z'){//判断是否为小写
				small ++;
			}else if(ch >= '0' && ch <= '9'){//判断是否为数字
				//'0' 对应码表的数字是48
				//'9' 对应码表的数字是57
				num ++;
			}else{//特殊字符
				other ++;
			}
		}
		
		System.out.println("大写字母出现的次数:" + big);
		System.out.println("小写字母出现的次数:" + small);
		System.out.println("数字出现的次数:" + num);
		System.out.println("特殊字符出现的次数:" + other);
	}

2》String类转换功能

byte[] getBytes():把字符串转换为字节数组 char[] toCharArray():把字符串转换为字符数组 static String valueOf(char[] chs):把字符数组转成字符串 static String valueOf(int i):把int类型的数据转成字符串 注意:String类的valueOf方法可以把任意类型的数据转成字符串 String toLowerCase():把字符串转成小写 String toUpperCase():把字符串转成大写 String concat(String str):把字符串拼接,且只能拼接字符串。+方式拼接字符串时,可以是任意类型

3》 案例 将一个字符串的首字母 变成大写,其余的字母小写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
 * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
 * 举例:
 * 		helloWORLD
 * 结果:
 * 		Helloworld
 * 
 * 分析:
 * 		A:先获取第一个字符
 * 		B:获取除了第一个字符以外的字符
 * 		C:把A转成大写
 * 		D:把B转成小写
 * 		E:C拼接D
 */
public class StringTest {
	
	public static void main(String[] args) {
		// 定义一个字符串
		String s = "helloWORLD";
 
		// 先获取第一个字符
		String s1 = s.substring(0, 1);
		// 获取除了第一个字符以外的字符
		String s2 = s.substring(1);
		// 把A转成大写
		String s3 = s1.toUpperCase();
		// 把B转成小写
		String s4 = s2.toLowerCase();
		// C拼接D
		String s5 = s3.concat(s4);
		System.out.println(s5);
 
		// 优化后的代码
		// 链式编程
		String result = s.substring(0, 1).toUpperCase().concat(s.substring(1).toLowerCase());
		System.out.println(result);
		
	}
}

4》案例:把int[] arr = {1,2,3} 转成字符串 [1,2,3]

  思路:字符串拼接 首先 新建一个字符串 然后加上 '[' ,循环便利这个数组,然后拼接 字符串,最后判断是否是最后一个,加上 ‘]’

5》String类的其它功能 public String replace(char oldChar, char newChar)//替换字符 public String replace(CharSequence target, CharSequence replacement) //替换字符串 String trim();//去除前后空格 public int compareTo(String anotherString) //比较 public int compareToIgnoreCase(String str) //比较

例子: String s1= "abc"; String s2 = "aac" s1.compareTo(s2):结果+1

6》案例:字符串的反转 String str = "abc"; for(int i = str.length() - 1;i >= 0 ;i--){ System.out.print(str.charAt(i)); }

7》案例:统计大串中小串出现的次数 String str = "helgyfnnnngyfooogyf88"; String name = "gyf";

思路:使用死循环,将匹配道德字符串位置加上匹配子串的长度 ,截取,使用统计变量 统计出现次数

8》StringBuffer的构造方法     >StringBuffer 字符串缓冲区类     >StringBuffer里面的字符序列【char[]】是可以改变的     >String的字符序列是不可以改变

9》StringBuffere的添加方法     >append方法     >insert方法

10》StringBuffer的删除方法     >deleteCharAt(int index) 删除指定索引的字符     >delete(int start,int end): 删除开始到结束位置的字符

11》StringBuffer的反转功能     >reverse()方法,将字符串反转

12》StringBuffer的截取功能     >public String substring(int start): 从指定位置截取到末尾     >public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置

13》StringBuffer与String的相互转换     String –> StringBuffer         通过构造方法         通过append()方法     StringBuffer -> String     通过构造方法     通过toString()方法     通过subString(star,end);

14》数组转成字符串,使用StringBuffer实现     int[] arr = {1,2,3} -> [1,2,3]

    思路:循环便利这个数组,然后使用StringBuffer 的append方法来拼接这个字符串 使用if else 判断添加的位置

15》字符串反转,使用StringBuffere的reverse方法实现

16》两首字符串的面试题:     a>StringBuffer和StringBuilder的区别     StringBuffer是jdk1.0版本的,是线程安全的,效率低,加同步锁     StringBuilder是jdk1.5版本的,是线程不安全的,效率高,没有加锁

    b>String 和StringBuffer,StringBuilder的区别     String是一个不可变的字符序列     StringBuffer,StringBuilder是可变的字符序列

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java基础笔记12
12.01_常见对象(Scanner的概述和方法介绍) A:Scanner的概述 B:Scanner的构造方法原理 Scanner(InputStream source) System类下有一个静态的字段: public static final InputStream in; 标准的输入流,对应着键盘录入。 C:一般方法 hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是Int,Double等。如果需要判断是否包含下一个字符串,则可以省略Xxx nextXxx() 获取
dreamkong
2018/06/21
4780
第十五天 常用API-object&string&stringbuilder&stringbuffer【悟空教程】
第十五天 常用API-object&string&stringbuilder&stringbuffer【悟空教程】
Java帮帮
2018/07/26
4210
第十五天 常用API-object&string&stringbuilder&stringbuffer【悟空教程】
Java基础之String
(1)多个字符组成的一串数据。 其实它可以和字符数组进行相互转换。 (2)构造方法: public String():空构造。 public String(byte[] bytes):把字节数组转成字符串。 public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串。 public String(char[] value):把字符数组转成字符串。 public String(char[] value,int index,int c
南风
2018/07/02
4970
Java基础-12(02)总结Scanner,String
(6)字符串的案例 A:模拟用户登录 B:字符串遍历 C:统计字符串中大写,小写及数字字符的个数 D:把字符串的首字母转成大写,其他小写 E:把int数组拼接成一个指定格式的字符串 F:字符串反转 G:统计大串中小串出现的次数 A: import java.util.Scanner; /* * 模拟登录,给三次机会,并提示还有几次。 * * 分析: * A:定义用户名和密码。已存在的。 * B:键盘录入用户名和密码。 * C:比较用户名和密码。 * 如果都相同,则登录
Java帮帮
2018/03/15
9510
Java - String源码解析及常见面试问题
这里需要提一下的是: 以 StringBuffer 和 StringBuilder 为参数的构造函数容易被忽略,因为String 、 StringBuffer、StringBuilder 这三种数据类型, 通常都是单独使用的哇。 知道就行,反正平常也不这么写
小小工匠
2021/08/17
2050
JDK1.9-常用类String
概述 java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例
cwl_java
2022/11/30
3220
JDK1.9-常用类String
Java基础(八)| 常用API与StringBuilder详解
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!
timerring
2022/10/28
2960
《JavaSE》---17.<String 类的常见操作>
我们都知道String是字符串类型,是引用类型。在java中String也是一个类。
用户11288958
2024/09/24
2080
《JavaSE》---17.<String 类的常见操作>
JAVA零基础小白学习教程之day10-API&Object&String
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
张哥编程
2024/12/13
840
java基础学习_常用类02_Scanner类和String类_day12总结
============================================================================= ============================================================================= 涉及到的知识点有: 1:Scanner类的概述和使用(了解)     (1)Scanner类的概述     (2)Scanner类的构造方法     (3)Scanner类的成员方法
黑泽君
2018/10/11
3950
String 类内置对象
int indexOf(int ch) 返回指定字符第一次出现的字符串内的索引。
软件小生活
2021/08/16
6000
java 常用类
StringBuilder是线程不安全的可变字符串。 和StringBuffer的功能一样。就是效率高一些,但是不安全。
Cell
2022/02/25
4230
java 常用类
【15】JAVASE-常用工具类【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1740
【15】JAVASE-常用工具类【从零开始学JAVA】
8:String类
String类 String类的特点: 字符串对象一旦被初始化就不会被改变。  字符串是最常用的类型之一,所以为了使用方便java就给封装成了对象方便使用  public static void stringDemo2() {  String s = "abc";//创建一个字符串对象在常量池中。     String s1 = new String("abc");//创建两个对象一个new一个字符串对象在堆内存和常量池中。 System.out.println(s==s1);//false  System
六月的雨
2018/05/14
7490
Java基础-12(01)总结Scanner,String
1:Scanner的使用(了解) (1)在JDK5以后出现的用于键盘录入数据的类。 (2)构造方法: A:讲解了System.in这个东西。 它其实是标准的输入流,对应于键盘录入 B:构造方法 InputStream is = System.in; Scanner(InputStream is) C:常用的格式 Scanner sc = new Scanner(System.in); (3)基本方法格式: A:hasNextXxx() 判断是否是某种类型的 B:nextXxx() 返
Java帮帮
2018/03/15
7180
【java概念】String的常用方法
1、length() 字符串的长度   例:char chars[]={'a','b'.'c'};     String s=new String(chars);     int len=s.length(); 2、charAt() 截取一个字符   例:char ch;     ch="abc".charAt(1); 返回'b' 3、 getChars() 截取多个字符   void getChars(int sourceStart,int sourceEnd,char target[],int ta
程序员互动联盟
2018/03/16
8940
Java String、StringBuffer 和 StringBuilder 的区别和理解
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。
默 语
2024/11/20
1130
Java String、StringBuffer 和 StringBuilder 的区别和理解
【趣学程序】java常用类(一)
String表示字符串,所谓字符串,就是一连串的字符,是java中最常用的类之一。 String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁; String对象保存在JVM的常量池中,String类是用final来修饰的,是不可以被继承的类。
趣学程序-shaofeer
2019/08/20
3380
Java基础(十六):String的常用API
方法二思路:截取前中后三个字符串,中是需要反转的,从新拼接,拼接中字符串时候,从后开始拼接
冬天vs不冷
2025/01/21
840
Java基础(十六):String的常用API
Java学习笔记之常用API String类 StringBuilder类
API(Application Programming Interface):应用程序编程接口
Jetpropelledsnake21
2021/11/22
4060
Java学习笔记之常用API String类 StringBuilder类
相关推荐
Java基础笔记12
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验