浪潮优派培训java笔记:第7章 String_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浪潮优派培训java笔记:第7章 string第7章 sing 7.1 基本数据类型 string不行以被继承,由于java.lang.string是一个final类。(面试常考) public class teststring public ic vo main(stringargs) string s1= hello string s2= hello system.out.print(s1=s2); /true;s1、s2都指向常量区的字符串常量 hello string s3=new string( hello string s4=new string( hello system.out

2、.println(s3=s4); /fae;s3、s4指向不同的string对象 system.out.println(s1=s3); /false system.out.println(s3.equals(s4);/true;比较的是所指对象的 而非地址 system.out.println(s1.equals(s3);/false string是 传递,stringbuffer是引用传递 public class j_test_4_11 public static void mb_method(strings, stringbuffer t) s =s.replace('j'

3、;, 'i'); t = t.append( c public static void main(stringargs) string a = new string( java stringbufferb = new stringbuffer( java mb_method(a,b); system.out.println( a: a , b: b); 【运行结果】a:java, b:javac public class j_test_4_13 public static voidmb_method(stringbuffer x, stringbuffer y) x.appen

4、d(y); y = x; /把x的地址赋给y public static void main(stringargs) stringbuffera = new stringbuffer( a stringbufferb = new stringbuffer( b mb_method(a,b); system.out.println(a , b); 【运行结果】ab,b string类的常用办法(细节参见协助文档) int length();/猎取长度 char charat(int);/取得指定位置上的字符 char tochararray();/把指定字符串转换为字符数组 byte getby

5、tes(); /转换为字节数组 int compareto(string);/与另一个字符串按字典挨次比较大小,返回 为 0, =0, 0 三种状况之一 boolean startswith(string);/推断是否以指定的字符串打头 boolean endswith(string);/推断是否以指定的字符串结尾 string coat(string);/返回与另一个字符串衔接后的字符串 string bstring(intbegin);/可用于字符串截取 string substring(int begin,int end);/返回子串,注重不包括end位置上的字符 string trim

6、();/返回去除两端空 后的字符串 string replace(char oldc,char ne); string replaceall(string olds,string news);/返回替换后的字符串 string tolowercase();/转换为小写 stringtouppercase(); /转换为大写 int indof(char/string); int indexof(char/string,int off);/返回字符/串首次浮现的位置,无时返回-1 int lastindexof(char/string); int lastindexof(char/string,

7、int offset);/返回字符/串末次浮现的位置,无时返回-1 static string valueof(xxx);/返回xxx的字符串表示,xxx普通取基本数据类型和字符数组 /用法它可以实现数字到字符串的转换 【string类的常用办法练习】 字符串t中的字符为( ) string s = hypertext string t = s.substring(2, 5); system.out.println(t); a. yper b. ype c. pert d. per 答案:d 解析:s.substring(2, 5);/从下标为2的取到下标为4的,注重取不到5. 输入一个字符串

8、,显示将该字符串中非字母字符删除后的字符串。 public class deletestr public static void main(stringargs) string str = sj$% *asqekjf_sd/sdsd'fds3s1! string newstr= new string(); char a =str.tochararray(); for (int i = 0; i str.length(); i ) system.out.print(ai if (ai = 'a' ai = 'z' | ai = 'a' ai

9、 = 'z') newstr= newstr.con(string.valueof(ai); system.out.println(); system.out.println( 删除后的字符串为: newstr); 【办法提炼】 1. 将其它类型(如字符串)转换成字符串形式:string.valueof(char c); 编写一个程序,输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母数。 办法一: public class countstring public static void main(stringargs) string s = i love china

10、!because i'm a chinese! int k = 0, m = 0, n =0; for (int i = 0; i s.length(); i ) char c = s.charat(i); /把字符串中的每一个字符赋给字符数组 if (character.isuppercase(c) /推断是否是大写字母(利用包装类的办法) k else if (character.islowercase(c) m else n system.out.println( 大写字母个数有: k 个 system.out.println( 小写字母个数有: m 个 system.out.p

11、rintln( 非字母个数有: n 个 办法二: public class countstring public static void main(stringargs) string s = i love china!because i'm a chinese! int k = 0, m = 0, n =0; char c = s.tochararray(); for (int i = 0; i c.length; i ) if (ci = 65 ci = 90) k else if (ci = 97 ci = 122) m else n system.out.println( 大写

12、字母个数有: k 个 system.out.println( 小写字母个数有: m 个 system.out.println( 非字母个数有: n 个 编写一个程序,输出在一个字符串中,指定字符串浮现的次数。 public class findstrcount public static void main(string args) string str = i love china!because i'm a chinese! string substr = ch int count = 0; int index = -1; while (index = str.indexof(su

13、bstr) != -1) str = str.substring(index substr.length(); system.out.println(str); count system.out.println(count); 将取出的字段名转化为变量名,例如: company_code= companycode company_c- companyc*/ public class changestr public static void main(stringargs) string str = company_code_name string newstr= new string(); s

14、tring substr = str.( _ for (int i = 0; i substr.length; i ) substri= substri.tolowercase(); if (i != 0) substri= substri.substring(0,1).touppercase() substri.substring(1); newstr =substri; system.out.println(newstr); 【办法提炼】 1.字符串首字母大写:str=str.substring(0,1).touppercase(); 2.去掉字符串的首字母:str=str.substri

15、ng(1); 3.以下划线为界分割字符串并赋给一个字符串数组:string substr = str.split( _ 编写一个办法,返回一个double型二维数组,数组中的元素通过解析字符串参数获得。如字符串参数: 1,2;3,4,5;6,7,8 对应的数组为: d0,0=1.0 d0,1=2.0 d1,0=3.0 d1,1=4.0 d1,2=5.0 d2,0=6.0 d2,1=7.0 d2,2=8.0 public class doublestr public static void main(stringargs) string str = 1,2;3,4,5;6,7,8 strings

16、ubstr = str.split( double d = new doublesubstr.length; for (int i = 0; i substr.length; i ) stringsubstr2 = substri.split( , di = new doublesubstr2.length; /要写在for内循环外面(难点) for (int j = 0; j substr2.length; j ) dij= double.parsedouble(substr2j); for (int i = 0; i d.length; i ) for (int j = 0; j di.l

17、ength; j ) system.out.print(dij system.out.println(); 【办法提炼】 1. 把字符串转换成数 类型(包装类的静态办法): double d= double.parsedouble(str); 从输入的一行字符串中求出其中最长的英文单词的长度及其个数,并输出。单词之间只能用空 隔开。 【运行示例】 请输入以空 隔开的字符串: nice tomeet you 字符串 = nice to meet you 最长单词长度: 4 ,最长单词个数: 2 【编程提醒】输入整行字符串,包括空 符,可以用法scanner类的nextline( )办法。*/ i

18、mport java.util.scanner; public class test public static void main(stringargs) scanner sc = new scanner(system.in); system.out.println( 请输入一行以空 隔开的字符串: string str =sc.nextline(); stringsubstr = str.split( int max = 0, count =0; for (int i = 0; i substr.length; i ) if (max substri.length() max =substri.length();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论