不敢说,字符串是java程序中用的最多的对象,但是肯定的一点是,字符串是用的很多的那种,如果字符串用的不好,足以影响你代码执行的效率,来说说字符串
写过c代码的人,都知道字符串在本质上是字符(char)类型的数组,但是在java中字符串不仅仅是一个字符数组,还是一个String类的实例对象,常见的字符串的定义有两种,一种是直接指向字符串的
比如:String str = “hello world”
一种是采用最常见的对象建立的方式来定义,比如Strig str = new String(“hello world”);
在java中可以通过“+”来进行字符串串联,比如String Str=“hello”+“world”;“+”本来是一个加法运算符,但是在这里它被重写了,作为连接符;
刚才说过,字符串是以String的一个实例存在的,所以每个字符串对象本身就拥有几个可以操作的方法
length()获得字符串的字符长度,注意在这里是方法名称,而不是属性length
equals()比较两个对象的内容
toLowerCase()字符串改为小写
toUpperCase()字符串改为大写
来看代码
public class StrDemo1{
public static void main(String[] args){
String str = "hello world";
System.out.println("转换为小写"+str.toLowerCase());
System.out.println("转换为大写"+str.toUpperCase());
System.out.println("字符串的长度"+str.length());
}
}
运行结果如图1-2所示
图1-2 StrDemo1编译运行的结果
代码很简单,没什么要说的,看看就好
当然字符串和基本数据类型之间是可以相互转换的,这个比较多而且很常见的,用的时候百度就好,没啥技术含量
由于字符串在本质上是一个字符数组,所以,它本身也有字符数组的特性
取得字符串上的字符的的方法
char charAt(int index);取得指定索引出的字符;
int indexOf(char c);返回c第一个出现的位置的索引值
int indexOf(String str);返回第一个出现字符串str的索引
int lastIndexOf(char c);返回最后一个c出现的位置索引
String substring(int beginIndex);返回从指定索引到结束的字符串
String subString(int beginIndex,int endIndex);返回从指定开始索引到结束索引的字符串
char[] toCharArray();将字符串转换为字符数组
boolean endWith(String str);判断字符串是否是已指定的字符串结尾的
来看一段代码
public class StrDemo2{
public static void main(String[] args){
String str = "hello";
System.out.println("逐一取得每个索引上是字符");
for(int i=0;i<str.length();i++){
System.out.println(str.charAt(i));
}
System.out.println("最后一个l的位置"+str.lastIndexOf("l"));
System.out.println("第一个l的位置"+str.indexOf("l"));
System.out.println("将字符串转换为字符数组");
char[] arr = str.toCharArray();
for(int i=0;i<arr.length;i++){//从这里可以看出length的不同了
System.out.println(arr[i]);
}
}
}
代码运行结果如图1-3所示
图1-3 StrDemo2编译运行的结果
代码很简单,不做什么解释了,很明了的
不可变字符串
在java中有一个很重要的规则,就是一旦一个字符串被配置,它的内容就是固定不可改变的,其它的东西,改天继续唠……
- 大小: 3.9 KB
- 大小: 7.7 KB
分享到:
相关推荐
* 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match() var str = "123" var reg = RegExp(/3/); if(str.match(reg)){ //包含; } ...
Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下...
编写程序:从键盘上输入一个包含10个字符的字符串,把该字符串与程序中给定的字符串("bacdbcabca") //依次比较,统计两个字符串对应字符相等的数目。然后输出从键盘上输入的字符串, //并把两个字符串中对应字符不...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...
C#字符串删除指定字符串|C#字符串删除子字符串
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
通过键盘输入一串小写字母(a~z)组成的字符串,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。 要求实现...
这个代码可以添加一个新的字符串到已有的字符串数组中,并确保不会重复添加相同的字符串。具体来说,它首先创建了一个包含3个字符串的字符串数组`strArray`,然后定义了一个新的字符串`newStr`。接着,使用`ismember...
|PowerBuilder 数组字符串相互转化 天津 李华锋 * * | | * *PowerBuilder 数组字符串相互转化 完全免费 * * | | * *如果你将这个程序放在你的网站上,我希望你能同时加上本站的链接 | | * | * | * *老字符串转数组...
编写控制台应用程序,接受长度大于3的字符串,完成以下功能: 1:输出字符串长度 2:输出字符串中第一个出现字母a的位置 3:在字符串的第3个字符后面插入字符串“hello”,输出新字符串. 4:将字符串“hello”替换为...
字符串数组 matlabMATLAB字符串数组 基本规则 (1)所有字符串都用单引号(英文状态下输入)括起来; (2)将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。 (3)size指令获得串数组的大小。串...
按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象在参数字符串之前,则比较结果为一个负...
必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),...
输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的个数,本文给出解决方法 编写思路: 1、字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法 2...
编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。 例如: 当s为"12345", t为"8624677"时, p...