问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中一些字符串函数的作用

发布网友 发布时间:2022-04-24 07:50

我来回答

5个回答

热心网友 时间:2022-04-22 12:46

java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
2)concat() 连接两个字符串
例:String s="Welcome to ";
  String t=s.concat("AnHui");
3)replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和结尾的空格
5)valueOf() 转换为字符串
6)toLowerCase() 转换为小写
7)toUpperCase() 转换为大写
8)length() 取得字符串的长度
例:char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一个字符
例:char ch;
   ch=”abc”.charAt(1);
    返回值为’b’
10)getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
Java字符串函数
java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
2)concat() 连接两个字符串
例:String s="Welcome to ";
String t=s.concat("AnHui");
3)replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和结尾的空格
5)valueOf() 转换为字符串
6)toLowerCase() 转换为小写
7)toUpperCase() 转换为大写
8)length() 取得字符串的长度
例:char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一个字符
例:char ch;
ch=”abc”.charAt(1);
返回值为’b’
10)getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
byte[] bytes = s.getBytes();
12)toCharArray()
例:
String s = “Hello!你好!”;
char[] ss = s.toCharArray();
13)equals()和equalsIgnoreCase() 比较两个字符串
14)regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)
15)startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始
endWith()方法决定是否以特定字符串结束
16)equals()和==
equals()方法比较字符串对象中的字符
==运算符比较两个对象是否引用同一实例。
例:String s1=”Hello”;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
17)compareTo()和compareToIgnoreCase() 比较字符串
18)indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。
19)trim去空格函数
例: String t1 = " abc de ";
System.out.println(t1.trim());// 去掉开头和结尾的空格“abc de”
20)split字符串分割
String y = "abc,de,fg,hi,jk";
String[] y1 = y.split(",");// 截取字符串所有","字符
for (int i = 0; i < y1.length; i++) {
System.out.print(y1[i]);// 输出结果abcdefghijk
}
21)append 添加或插入函数
StringBuffer zz1 = new StringBuffer(z1);// append 插入字符
zz1.append('|').append("hijk").append('/').append("lmn").append("opq");
System.out.println();
System.out.print(zz1);// 输出:abcdefg|hijk/lmnopq
StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
下面是StringBuffer相关的函数:
1)length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
2)ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)
3)setLength() 设置缓冲区的长度
void setLength(int len)
4)charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
5)getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
6)append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();
6)insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
7)index指定将字符串插入到StringBuffer对象中的位置的下标。
8)reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()
9)delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
10)replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
11)substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)

热心网友 时间:2022-04-22 14:04

作用?我学过C++,String args[]与C++中的什么类似?如果是C++,想要输出字符串只要在下面写cout<<"...."<<endl;就可以了,void main()中的括号为空,而java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.println("This is a simple Java program.");
}
} 问题补充:既然String args[]或者String[] args表示给主方法传一个字符串数组,那么System.out.println(args[]);为什么是错误,args[]不就是那个字符串This is a simple Java program吗?
String args[]与This is a simple Java program是什么关系?如果没关系,为什么程序中去掉String args[]会出现错误?
不带String args[]的main函数和带String args[]的main函数有什么区别吗?String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。

args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX

你还可以试试这样,在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz

现在你理解了吗。。。

如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。====================================================String[] args是main函数的形式参数,,可以用来获取命令行用户输入进去的参数。如果你是java的初学者,编写一些简单的小程序是用不到它的,但是你在写程序的时候不管用的到用不到,声明main函数的时候一定要在括号里写上它,否则会报错。
我再给你举个用到String[] args的例子,可能语法上有错误,因为我手边没有java的书,而且我也只是个本科生,水平有限,权当给你理解用。
class Example
{
public void main(String[] args)
{
System.out.println(args[0]);
System.out.println(args[1]);
}
}
那么这个程序在执行的时候就需要向main函数传递形式参数的值,好让main函数完成打印的功能。
注:String[] args显示args是一个String类型的数组,args[0]、args[1]是头两个元素。
上面那个小程序执行的时候是这样:
首先,和其他的java程序一样,在命令提示符那个框框里输入
javac Example.java
再输入
java Example straul good
后面两个字符串随便写什么,它们作为实参传入main函数,straul传入args[0],good传入args[1]。
那么屏幕会出现:
straul
good
这和在main函数里调用其他函数并且向被调用函数传递参数是一样的道理,只不过传给main函数罢了。
这是我的理解,可能有问题,不过凭我学java的所得,我就是这么理解的。

热心网友 时间:2022-04-22 15:39

indexOf

public int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。如果在此 String 对象表示的字符序列中出现值为 ch 的字符,则返回第一次出现该字符的索引(以 Unicode 代码单元表示)。对于位于 0 到 0xFFFF(包括 0 和 0xFFFF)范围内的 ch 的值,返回值是
this.charAt(k) == ch

为 true 的最小值 k。对于 ch 的其他值,返回值是
this.codePointAt(k) == ch

为 true 最小值 k。无论哪种情况,如果此字符串中没有这样的字符,则返回 -1。
参数:
ch - 一个字符(Unicode 代码点)。
返回:
在该对象表示的字符序列中第一次出现该字符的索引,如果未出现该字符,则返回 -1。
indexOf

public int indexOf(int ch,
int fromIndex)
从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
在此 String 对象表示的字符序列中,如果带有值 ch 的字符的索引不小于 fromIndex,则返回第一次出现该值的索引。对于位于 0 到 0xFFFF(包括 0 和 0xFFFF)范围内的 ch 值,返回值是

(this.charAt(k) == ch) && (k >= fromIndex)

为 true 的最小值 k。对于 ch 的其他值,返回值是
(this.codePointAt(k) == ch) && (k >= fromIndex)

为 true 的最小值 k。在任何情况下,如果此字符串中没有这样的字符在位置 fromIndex 处或其后出现,则返回 -1。
fromIndex 的值没有*。如果它为负,它和 0 具有同样的效果:将搜索整个字符串。如果它大于此字符串的长度,则它具有等于此字符串长度的相同效果:返回 -1。

所有索引都在 char 值中指定(Unicode 代码单元)。

参数:
ch - 一个字符(Unicode 代码点)。
fromIndex - 开始搜索的索引。
返回:
在此对象表示的字符序列中第一次出现的大于或等于 fromIndex 的字符的索引,如果未出现该字符,则返回 -1。

indexOf

public int indexOf(String str)
返回第一次出现的指定子字符串在此字符串中的索引。返回的整数是
this.startsWith(str, k)

为 true 的最小值 k。
参数:
str - 任意字符串。
返回:
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这样的子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。
indexOf

public int indexOf(String str,
int fromIndex)
从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。返回的整数是最小值 k,它满足:
k >= Math.min(fromIndex, str.length()) && this.startsWith(str, k)

如果不存在这样的 k 值,则返回 -1。
参数:
str - 要搜索的子字符串。
fromIndex - 开始搜索的索引位置。
返回:
从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
lastIndexOf

public int lastIndexOf(String str)
返回在此字符串中最右边出现的指定子字符串的索引。将最右边的空字符串 "" 视作发生在索引值 this.length() 处。返回的索引是
this.startsWith(str, k)

为 true 的最大值 k。
参数:
str - 要搜索的子字符串。
返回:
如果在此对象中字符串参数作为一个子字符串出现一次或多次,则返回最后一个这样的子字符串的第一个字符。如果它不作为一个子字符串出现,则返回 -1。
lastIndexOf

public int lastIndexOf(String str,
int fromIndex)
从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。返回的整数是最大值 k,它满足:
k <= Math.min(fromIndex, str.length()) && this.startsWith(str, k)

如果不存在这样的 k 值,则返回 -1。
参数:
str - 要搜索的子字符串。
fromIndex - 开始搜索的索引位置。
返回:
最后一次出现的指定子字符串在此字符串中的索引。
offsetByCodePoints

public int offsetByCodePoints(int index,
int codePointOffset)
返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。文本范围内由 index 和 codePointOffset 给定的未配对代理项各计为一个代码点。
参数:
index - 要偏移的索引
codePointOffset - 代码点中的偏移量
返回:
String 的索引
抛出:
IndexOutOfBoundsException - 如果 index 为负或大于此 String 的长度;或者 codePointOffset 为正,并且以 index 开头的子字符串比 codePointOffset 具有更少的代码点;如果 codePointOffset 为负,并且 index 前的子字符串比 codePointOffset 的绝对值具有更少的代码点。
从以下版本开始:
1.5

热心网友 时间:2022-04-22 17:30

int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
int indexOf(String str)
返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex)
从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。

热心网友 时间:2022-04-22 19:38

给你举一个简单的例子,讲解方法indexOf(int ch)
源文件Test.java
public class Test {
public static void main(String args[])
{
String str1="aacdabcd";
String str2="abcdabcd";
System.out.println(str1.indexOf(98));
System.out.println(str2.indexOf(98));
}

}
运行结果是5和1。
indexOf(int ch)方法的作用是字符在此字符串中第一次出现处的索引.。整型(int)数据它会转换成字符型(char),例中的98对应的是字符'b',字符'b'在字符串str1中第一次出现处是第5个位置(不是第6个,因为是从0开始计算的,这个应该知道吧),在字符串str2中第一次出现处是第1个位置。
其实实参98换成'b',运行结果是一样的。换成101则返回-1,101对应的是字符'e',字符串str1,str2中没有字符'e',方法返回的值是-1。.
能懂吗,不懂的话加QQ 1550752279.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...乙肝表面抗体和乙肝核心抗体同显阳性,其余三项为阴性说明了什么... 确认劳动关系原告可以是多人吗 华为p7_l09的时间如何调整 什么地方卖毛线 如何订购毛线 顾景舟石瓢壶多少价 ...这个日期什么格式 Java 中怎么日期 转换成这样子呢如:2013-06-27... java中用正则表达式匹配并输出的时间怎样拿到别的方法里进行计算。例... Java程序 题目:星期计算器的实现。实现要点:输入一个2013-05-01后的日... 半夜敷面膜这些星座就是这样被吓死的 防锈油有哪些分类? 眉飞色舞 猜一生肖 java中怎么实现String类型变量作为函数参数 防锈油是什么 眉飞色舞的是什么动物 java中String是什么? 十二生肖眉飞色舞、销魂体魄是什么动物 十二生肖眉飞色舞的动物是 java String相关函数 眉飞色舞打一动物是羊对吗? 眉飞色舞解一生肖,眉飞色舞打一生肖 java中string怎么使用 眉飞色舞是什么动物? 这个支架怎么推下去自己弹上来?求解?飞利浦的 java中string的构造函数有哪些 请问这款飞利浦液晶显示器的底座怎么拆,急需拆下来,求大神指教 飞利浦190E1SB显示器底座怎么拆??高手求解!! 飞利浦328E8P怎么拆支架? 飞利浦170C6台式显示器支架如何拆卸 电池的储存寿命长吗? 笔记本无鼠标怎么复制粘贴 十二生肖眉飞色舞指哪个动物 JAVA中String(data,0,rs) 环保型防锈油的优势有什么? 眉飞色舞代表生肖 链条生锈了 请问用什么油能都防止生锈哦 java 函数返回值为String要求递归 眉飞色舞。是12生肖中的什么动物。 防锈油是什么?主要的作用有哪些? java截取字符串函数 十二生肖中哪个动物眉飞色舞 防锈油种类有哪些? 十二生肖里那个生肖属于眉飞色舞的动物 防锈油可以防锈多久? java中string类concat方法和+的区别 眉飞色舞乐边天是什么意思解打一动物生肖 请问防锈油是什么 脑筋急转弯:眉飞色舞乐边天。比喻哪个生肖? java中怎样比较String和字符串是否相等? 什么油可以防止铁生锈