java数组与字符串
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ex3:数组和字符串
1、假设s1,s2,s3,s4是四个字符串,其值如下:(25分)
String s1=“Welcome to Java”
String s2=s1
String s3=new String(“welcome to java”);
String s4=“welcome to java”
下面表达式的结果是什么?
(1)s1= =s2; 结果:true
(2)s2= =s2; 结果:true
(3)s1.equal(s2); 结果:true
(4)s2.equal(s3); 结果:false
(5)pareTo(s2); 结果:0
(6)pareTo(s3); 结果:-32
(7)s1= =s4; 结果:false
(8)s1.charAt(0); 结果:W
(9)s1.indexof(…j‟); 结果:11
(10)s1.indexof(“to”); 结果:8
(11)stindexof(…a‟); 结果:14
(12)stindexof(“o”,15); 结果:9
(13)s1.length() 结果:15
(14)s1.substring(5) 结果:me to Java
(15)s1.substring(5,11) 结果:me to J
(16)s1.startwith(“wel”) 结果:false
(17)s1.ednwith(“Java”) 结果:true
(18)s1.toLowerCase() 结果:welcome to java
(19)s1.toUpperCase() 结果:WELCOME TO JA V A
(20)“Welcom”.trim() 结果:Welcome
(21)s1.replace(…o‟, …T‟) 结果:WelcTme tT Java
(22)s1.replaceAll(…o‟, …T‟) 结果:WelcTme tT Java
(23)s1.replaceFirst(…o‟, …T‟) 结果:WelcTme to Java
(24)s1.toCharArray() 结果:char []s1={…W‟,‟e‟,‟l‟,‟c‟,‟o‟,‟m‟,‟e‟,‟…,‟t‟,‟o‟, ……,‟J‟,‟a;,‟v‟,‟a‟}
为了创建一个字符串“Welcome to Java”,可能会用到如下所示的语句:
String s=”Welcome to Java”;
或者
String s=new String(“Welcome to Java”);
哪个语句更好?为什么?
解:第一个语句。因为字符串使用非常频繁第一种比较简化,而第二种比较繁琐。
2、假设s1和s2是两个字符串,下面哪些语句或表达式是错误的?(9分)
(1)String s=new String(“new string”);
(2)String s3=s1+s2;
(3)String s3=s1-s2;
(4)s1==s2;
(5)s1>=s2;
(6)pareTo(s2);
(7)int i=s1.length();
(8)char c=s1(0);
(9)char c=s1.charAt(s1.length());
解:(3)(4)(5)(9)是错误的
3、假设s1是“Welcome”而s2是“welcome”为下面的陈述编写代码:(18分)
(1)检查s1和s2是否相等,然后将结果赋值给一个布尔变量isEqual。
isEqual=s1.equalsTo(s2)
(2)检查在忽略大小写的情况下s1和s2是否相等,然后将结果赋值给一个布尔变量isEqual。
isEqual=s1.equalsTo(s2)
(3)比较s1和s2,然后将结果赋值给一个整型值x。
x=pareTo(s2)
(4)在忽略大小写的情况下比较s1和s2,然后将结果赋值给一个整型值x。
x=pareToIgnoreCase(s2)
(5)检查s1是否有前缀“AAA”,然后将结果赋值给一个布尔变量b。
b=s1.startwith(“AAAl”)
(6)检查s1是否有后缀“AAA”,然后将结果赋值给一个布尔变量b。
b=s1.ednwith(“AAA”)
(7)将s1的长度赋值给一个字符型变量x。
x=String.valueOf(s1.length())
(8)将s1的第一个字符赋值给一个字符型变量x。
x=s1.charAt(0)
(9)创建一个新字符串s3,它是s1和s2的组合。
new String s3=s1+s2
(10) 创建一个s1的子串,下标从1开始。
String s=s1.substring(1)
(11) 创建一个s1的子串,下标从1到4。
String s=s1.substring(1,4)
(12)创建一个新字符串s3,它将s1转换为小写。
new String s3=s1.toLowerCase()
(13)创建一个新字符串s3,它将s1转换为大写。
new String s3=s1.toUpperCase()
(14)创建一个新字符串s3,它将s1的两端空格去掉。
new String s3=s1..trim()
(15)用E替换s1中所有出现字符e的地方,然后将新字符串赋值给s3。
s3=s1.replace(…e‟, …E‟)
(16) 将“Welcome to Java and HTML”按空格分隔为一个数组tokens。
String []tokens=“Welcome to Java and HTML”.split()
(17)将s1中字符e第一次出现的下标赋值给一个int型变量x。
x=s1.indexof(…e‟);
(18)将s1中字符串abc最后一次出现的下标赋值给一个int型变量x。
x=stIndexof(“abc”);
4、假设给出如下所示的s1和s2:(12分)