Java--String字符串
来源:互联网 发布:2016最新淘宝刷单技巧 编辑:程序博客网 时间:2024/06/05 07:28
一 字符串 Java使用java.lang包中的String类来创建一个字符串变量,因此字符串变量是类类型变量,是一个对象。 1 字符串常量 如,“你好”,“1234.987”,“weqweo” 2 声明字符串 String s 3 创建字符串 使用String类的构造方法。 例如 s=new String("we are students") 也可以写成 s="we are students" 声明和创建可用一步完成 String s=new String("we are students"); 或 String s="we are students"; 也可以用一个已创建的字符串创建另一个字符串,如 String tom=String(s); 相当于 String tom="we are students" String类还有两个较常用构造方法 1 String(char a[])用一个字符数组a创建一个字符串对象,如 char a[3]={'b','o','y'}; String s=new String(a); 上述过程相当于 String s="boy"; 2 String(char a[],int startIndex,int count) 提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,例如 char a[]={'s','t','b','u','s','n'}; String s=new String(a,2,3); 上述过程相当于 String s="bus"; 二 怎样获取字符串的长度 使用String 类中的length()方法可以获取一个字符串的长度,如 String s="we are students",tom="我们是学生"; int n1,n2; n1=s.length(); n2=tom.length(); 那么n1的值是15,n2的值5。 字符串常量也可以使用length()获得长度,如"你的爱好".length()的值是4。 三 字符串比较 1 equals方法 字符串对象调用String类中的public boolean equals(String s)方法比较当前字符串对象的实体是否与参数指定的字符串s的实体相同,如 String tom=new String("we are students"); String boy=new String("We are students"); String jerry=new String("we are students"); tom.equals(boy)的值是false,tom.equals(jerry)的值是true。 注:tom==jerry的值是false。因为字符串是对象,tom,jerry是引用。内存示意如图: 2 equalsIgnoreCase 方法 字符串对象调用public boolean equalsIgnoreCase(String s)比较当前字符串对象是否与参数指定的字符串s是否相同,比较时忽略大小写。如 String tom=new String("ABC"); Jerry=new String("abc"); tom.equalsIgnoreCase(Jerry)的值是true。 3 startsWith,endsWith方法 字符串对象调用public boolean startsWith(String s)方法,判断当前字符串对象的前缀是否是参数指定的字符串s,如 String tom="220302620629021",jerry="21079670924022"; tom.startsWith("220")的值是true,jerry.startsWith("220")的值是false。 可以使用public boolean endsWith(String s)方法,判断一个字符串的后缀是否是字符串s,如 String tom="220302620629021",jerry="21079670924022"; tom.endsWith("021")的值是true,jerry.endsWith("021")的值是false。 例子2: import java.applet.*;import java.awt.*; public class Example5_2 extends Applet { String tom; public void init() { tom="220302620629021"; } public void paint(Graphics g) { if((tom.startsWith("220302"))&&(tom.endsWith("1")||tom.endsWith("3"))) g.drawString("tom是吉林人,男性",10,10); } } 4 regionMatches方法 字符串调用 public boolean regionMatches(int firstStart,String other,intortherStart,intlength)方法,从当前字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串和参数other指定的一个子串进行比较,其中,other指定的子串是从参数otherStart指定的位置开始,从other中取长度为length的一个子串。如果两个子串相同该方法就返回true,否则返回false。 使用该方法的重载方法 public boolean regionMatches(boolean b,int firstStart,String other,int otherStart,int length) 可以通过参数b决定是否忽略大小写,当b取true时,忽略大小写。 在下面的例子中,我们判断一个字符串中共出现了几个“en” 例子3: class Example5_3 { public static void main(String args[]) { int number=0; String s="student;entropy;engage,english,client"; for(int k=0;k<s.length();k++) { if(s.regionMatches(k,"en",0,2)) { number++; } } System.out.println("number="+number); } } 5 compareTo,compareToIgnoreCase方法 字符串对象可以使用String类中的public int compareTo(Strings)方法,按辞典序与参数s指定的字符串比较大小。如果当前字符串与s相同,该方法返回值0,如果当前字符串对象大于s,该方法返回正值,如果小于s,该方法返回负值。例如 String str="abcde" str.compareTo("boy")小于0,str.compareTo("aba")大于0,str.compareTo("abcde")等于0. 按辞典序比较两个字符串还可以使用public int compareToIgnoreCase(String s)方法,该方法忽略大小写。 下面的例子一个字符串数组按字典序重新排列。 例子4: class Example5_4 { public static void main(String args[]) { String a[]={"boy","apple","Applet","girl","Hat"}; for(int i=0;i<a.length-1;i++) { for(int j=i+1;j<a.length;j++) { if(a[j].copareTo(a[i])<0) { String temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(int i=0;i<a.length;i++) { System.out.print(" "+a[i] ); } } } 四 字符串检索 1 搜索指定串出现的位置 · public int indexOf(String s) 字符串调用该方法从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回值是-1. · public int indexOf(String s,int startpoint ) 字符串调用该方法从当前字符串的startpoint位置处开始检索字符串s,并返回首次出现s的位置。如果同有检索到字符串s,该方法返回值是-1. · public int lastIndexOf(String s) 字符串调用该方法从当前字符串的头开始检索字符串s,并返回最后出现s的位置。如果没有检索到字符串s,该方法返回的值是-1. · public int lastIndexOf(String s,int startpoint) 字符串调用该方法从当前字符串的startpoint位置处开始检索字符串s,并返回最后出现s的位置。如果没有检索到字符串s,该方法返回的值是-1. 例如: String tom="I am a good cat" tom.indexOf("a"); //值是2. tom.indexOf("good",2); //值是7. tom.indexOf("a",7); //值是13. tom.indexOf("w",2); //值是-1. 2 搜索指定字符出现的位置 · public int indexOf(int char) 字符串调用该方法从当前字符串的头开始检索字符char,并返回首次现在char的位置。如果没有检索到字符char,该方法返回的值是-1. · public int indexOf(int char,int startpoint) 字符串调用该方法从当前字符串的startpoint位置处开始检索字符char,并返回首次出现char的位置。如果没有检索到字符char,该方法返回的值是-1. · public int lastIndexOf(int char ,int startpoint)字符串调用该方法从当前字符串的startpoint位置处开始检索字符char,并返回最后出现char的位置,如果没有检索到字符char,该方法返回值是-1. 五 字符串的截取 · public String substring(int startpoint) 字符串对象调用该方法获得一个当前字符串子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串。 · public String substring(int start,int end) 字符串对象调用该方法获得一个当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。 如: String tom="I love tom"; String s=tom.substring(2,5); s是lov 六 替换 ·public String replace(char oldChar,char newChar) 字符串对象s调用该方法可以获得一个串对象,这个串对象是用参数newChar指定的字符替换s中由oldChar指定的所有字符而得到的字符串。 · public String replaceAll(String old,String new) 字符串对象s调用该方法可以获得一个串对象,这个串对象是通过用参数new指定的字符串替换s中由old指定的所有字符串而得到的字符串。 · public String trim() 一个字符串s通过调用方法trim()得到一个字符串对象,该字符串对象是s去掉前后空格后的字符串。 例如: String s="I miss sheep"; String temp=s.replace( t , s ) Temp是“I miss sheep”. String s=" I am a student "; String temp=s.trim(); 那么temp是“I am a student”。 七 字符串转化为相应的数值 1 转化为整型 Java.lang包中的Integer类调用其类方法 public static int parseInt(Strint s)可以将“数字”格式的字符串,如“12387”,转化为int型数据。例如 int x; String s="6542"; x=Integer.parseInt("6542"); 类似地,使用java.lang包中的Byte,Short,Long类调用相应的类方法 public static byte parseByte(String s) public static short parseShort(String s) public static long parseLong(String s) 可以将“数字”格式的字符串,转化为相应的基本数据类型。例如 int x; String s="6542"; x=Integer.parseInt("6542"); 2 转化为float型或double型 java.lang包中的Float类调用其类方法 public static int parseFloat (String s) 可以将“数字”格式的字符串,如“12387.8976”,转化为float型数据。例如 float n=Float.parseFloat("12387.8976") 或 String s=new String("12387.8976"); float n=Float.parseFloat(s) 类似地,使用java.lang包中的Double类调用相应的类方法 public static double parseDouble(String s) 可以将“数字”格式的字符串转化为double型数据。 另外,还可以使用Float类的类方法:public static Float valueOf(String s) 将形如“12334.870”字符串转化为float型数据 例如 float n=Float.valueOf("12334.870").floatValue() 使用Double类的类方法:public static Double valueOf(String s) 将形如“12334.870”字符串转化为double型数据,例如: double n=Double.valueOf("12334.870").doubleValue() 现在我们举一个求若干个数的平均数的例子,若干个数从键盘输入。 例子5: public class Example5_5 { public static void main(String args[]) { double n,sum=0.0; for(int i=0;i<args.length;i++) { sum=sum+Double.valueOf(args[i]).doubleValue(); } n=sum/args.length; System.out.println("平均数:"+n); } } 这是一个应用程序,应用程序中的main方法中的参数args能接受你从键盘键入的字符串,你首先应编译上述源程序 c:/2000/>javac Exampe5_5.java 编译通过后,你要使用解释器java.exe来执行你的字节码文件 c:/2000/>java Example5_5 "123.78" "23324.9" "213214 " (回车) 这时,程序中的args[0],args[1],args[2]分别得到字符串“123.78”“23324.9” “213214”. 在源程序中我们再将这些字符串转化为数值进行运算,得到所需的结果。 八 数值转化为字符串 可以使用String类的下列类方法 public String valueOf byte n public String valueOf int n public String valueOf long n public String valueOf float n public String valueOf double n 将形如123,1232.98等数值转化为字符串,如 String str=String.valueOf(12313.9876); float x=123.987f; String temp=String.valueOf(x); 九 对象的字符串表示 在子类的讲述中我们讲过,所有的类都默认地是java.lang包中Object类的子类或间接子类。Object类有一个public方法toString(),一个对象通过调用该方法可以获得该对象的字符串表示。 例子6: import java.util.Date; import java.awt.*; public class Example5_6 { public static void main(String args[]) { Date date=new Date(); Button button=new Button("确定"); System.out.println(date.toString()); System.out.println(button.toString()); } }
- java字符串String与String
- java字符串String&StringBuffer
- Java--String字符串
- java String字符串截取
- 了解java String字符串
- JAVA: String : 字符串类型
- java string 字符串替换
- Java中string字符串
- (8)Java String字符串
- JAVA String 字符串压缩
- java string 字符串替换
- Java 字符串String
- java ,String分割字符串
- Java字符串(String)
- java 字符串(string)
- java string 字符串替换
- java字符串(String)
- Java -数组-String字符串
- 让Delphi的DataSnap发挥最大效率
- C++虚函数表解析(转)
- 红黑树插入算法
- 软件测试方法和技术 之 基本名词都搞清楚篇 续
- Java基础之字符串类
- Java--String字符串
- 字符串的学习---基本理论学习
- 服务器端向页面动态添加javascript脚本
- Ubuntu自动挂载 windows 分区及读写NTFS分区
- 给准程序员的一课
- 招聘软件工程师(Software Engineer)
- windwos下安装pear
- ==和equals的区别(论坛讨论总结)
- Java基础之IO流处理