李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
字符串--String上的操作及练习题
Leefs
2019-12-18 AM
2014℃
0条
# 字符串--String上的操作及练习题 ### 前言 本篇讲述字符串的一些基本方法和一些关于字符串的练习题 ### String基本方法 | 方法 | **参数,重载版本** | 应用 | | -------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 构造器 | 重载版本:默认版本,String,StringBuilder,StringBuffer,char数组,byte数组 | 创建String对象 | | length() | | String中字符的个数 | | charAt() | Int索引 | 取得String中该索引位置上的char | | getChars(),getBytes() | 要复制部分的起点和终点的索引,复制目标的数组,目标数组的起始索引 | 复制char或byte到一个目标数组中 | | toCharArray() | | 生成一个char[],包含String的所有字符 | | equals(),equalsIgnoreCase() | 与之进行比较的String | 比较两个String的内容是否相同 | | compareTo() | 与之进行比较的String | 按词典顺序比较String的内容,比较结果为负数、零或者整数。注意,大小写并不等价 | | contains() | 要搜索的CharSequence | 如果该String对象包含参数的内容,则返回true | | contentEquals() | 与之进行比较的CharSequence或StringBuffer | 如果该String与参数的内容完全一致,则返回true | | equalsIgnoreCase() | 与之进行比较的String | 忽略大小写,如果两个String的内容相同则返回true | | regionMatcher() | 该String的索引偏移量,另一个String及其索引偏移量,要比较的长度。重载版本增加了“忽略大小写”功能 | 返回boolean结果,以表明所比较区域是否相等 | | startsWith() | 可能的起始String。重载版本在参数中增加了偏移量 | 返回boolean结果,以表明该String是否以此参数起始 | | endsWith() | 该String可能的后缀String | 返回boolean结果,以表明该此参数是否该参数的后缀 | | indexOf(),lastIndexOf() | 重载版本包括:char,char与起始索引,String,String与起始索引 | 如果该String并不包含此参数,就返回-1,否则返回此参数在String中的起始索引。lastIndexOf()是从后向前搜索 | | substring()(subSequence()) | 重载版本:起始索引;起始索引+终点坐标 | 返回一个新的String,以包含参数指定的子字符串 | | concat() | 要连接的String | 返回一个新的String对象,内容为起始String连接上参数String | | replace() | 要替换掉的字符,用来进行替换的新字符。也可以用一个CharSequence来替换另一个CharSequence | 返回替换字符后的新String对象。如果没有替换发生,则返回原始的String对象 | | toLowerCase(),toUpperCase() | | 将字符的大小写改变后,返回一个新的String对象。如果没有发生则返回原来的String对象 | | trim() | | 将String两端的空白字符删除后,返回一个新的String对象。如果没有改变发生,则返回原始的String对象 | | valueOf() | 重载版本:Object;char[];偏移量,与字符个数;boolean;char;int;long;float;double | 返回一个表示参数内容的String | | intern() | | 为每一个唯一的字符序列生成一个且仅生成一个String引用 | ### 练习题 **题目一** > 1. 编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕 **代码** ```java public class StringTest01 { public static void main(String[] args) { String s = "jdk"; s = s.toUpperCase(); System.out.println(s); s = s.substring(1); System.out.println(s); } } ``` **运行结果** ```java JDK DK ``` **题目二** > 2. 编写程序将String类型字符串”test” 变为 “tset”. (隐含:实现字符串的反转) **方法一** ```java public class StringTest02 { public static void main(String[] args) { String s = "test"; char[] array = s.toCharArray(); String reverse = ""; for(int i=array.length-1;i>=0;i--){ reverse += array[i]; } System.out.println(reverse); } } ``` **方法二** ```java public class StringTest02 { public static void main(String[] args) { String s = "test"; StringBuffer sb = new StringBuffer(s); sb.reverse(); s = sb.toString(); System.out.println(s); } } ``` **方法三** ```java public class StringTest02 { public static void main(String[] args) { String s = "test"; String reverse=""; for(int i=0;i
3. 写一个方法判断一个字符串是否对称 **方法一** ```java public class StringTest03 { public static void main(String[] args) { String s = "AABBBBAA"; int x=0; int y = s.length() -1; char[] ch = s.toCharArray(); while(true){ if(ch[x]!=ch[y]){ System.out.println("字符串不对称"); break; } if(x>=y){ System.out.println("字符串对称"); break; } x++; y--; } } } ``` **方法二** ```java public class StringTest03 { public static void main(String[] args) { String s = "AABBBBAAC"; StringBuffer sb = new StringBuffer(s); String str = sb.reverse().toString(); if(s.equals(str)){ System.out.println("字符串对称"); }else{ System.out.println("字符串不对称"); } } } ``` *附:[参考文章链接](https://www.cnblogs.com/panxuejun/p/10102331.html)*
标签:
Java
,
Java编程思想
,
JavaSE
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/305.html
上一篇
字符串--无意识的递归
下一篇
字符串--格式化输出
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
Hive
MySQL
Eclipse
Jquery
Thymeleaf
Tomcat
链表
Hadoop
数据结构和算法
CentOS
国产数据库改造
Azkaban
Java工具类
容器深入研究
Ubuntu
HDFS
JavaWeb
哈希表
Spark
Docker
Kafka
Flink
Yarn
DataX
JavaSE
SpringCloudAlibaba
机器学习
Python
前端
并发编程
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭