否相同 } }
7、请问执行完这段代码后,显示结果是abcd? String a = \;
String b = a.toLowerCase(); //将字符串a的值小写
b.replace('a', 'd');//不影响字符串b,因为并未赋值给b b.replace('b', 'c');//不影响字符串b,因为并未赋值给b System.out.println(b);
8、Java中,用来获取字符串长度的函数是length(),用来取字符串子串的函数是substring()。
9、以下代码段将创建1个对象。
String s1=\;
String s2=\;
10、有下面这样的代码段,总共产生了2个对象。
String A, B, C ;
A = new String( \ ) ; B = A ;
C = A + B ;
11、有如下一段代码:
Integer s = new Integer(9); Integer t = new Integer(9); Long u = new Long(9);
则下面选项中返回值为true的是:CE。 A. (s==u) B. (s==t)
C. (s.equals(t))
D. (s.equals(9)) //有疑问,但输出结果也为true. E. (s.equals(new Integer(9))
三、完成课后习题
课后习题1,3,5,6,7
1.下列叙述哪些是正确的?ABD
A.String类是final类,不可以有子类 B.String类在java.lang包中 C.”abc”==”abc”的值是false
D.”abc”.equals(“abc”)的值是true
3.请说出E类中的输出结果为13 abc夏日
public class E {
public static void main(String args[]){ byte d[]=\夏日的海滩\.getBytes(); System.out.println(d.length); String s=new String(d,0,7); System.out.println(s); } }
5.请说出E类中的输出结果为9javaHello public class E {
public static void main(String args[]){ String regex=\; String str1=\; String str2=\; if(str1.matches(regex)){
System.out.println(str1); }
if(str2.matches(regex)){
System.out.println(str2); } } }
6.字符串调用public.String.toUpperCase()方法返回一个字符串,该字符串把当前字符串中的小写字母变成大写字母;字符串调用public.String.toLowerCase()方法返回一个字符串,该字符串把当前字符串中的大写字母变成小写字母;String类的public.String.concat(String str)方法返回一个字符串,该字符串是把调用该方法的字符串与参数指定的字符串相连接。编写一个程序,练习使用这3个方法。 public class E {
public static void main(String args[]){ String s1,s2,s3,t1=\;
System.out.println(\字符串原来是这个样子: \+t1); s1=t1.toUpperCase();
System.out.println(\字符串中的小写字母变成大写是这个样子: \+s1);
s2=t1.toLowerCase();
System.out.println(\字符串中的大写字母变成小写是这个样子: \+s2);
s3=s1.concat(s2);
System.out.println(\大写字符串连接小写字符串是这个样子: \+s3); }
}
7.String类的public char charAt(int index)方法可以得到当前字符串index位置上的一个字符。编写程序,使用该方法得到一个字符串中的第一个和最后一个字符。
public class Xiti7 {
public static void main(String args[ ]){ String s =\中华人民共和国\; char a=s.charAt(0); char b=s.charAt(6);
System.out.println(\第一个字符: \+a); System.out.println(\最后一个字符: \+b); } }
第9章(2)实用常用类练习题答案
一、填空题
1、如果method()方法会抛出NullPointerException,则该代码段执行结束后b的值是______?1345
StringBuffer b=new StringBuffer(); try{
b.append(\method();
b.append(\
}catch(Exception a{
b.append(\ }
finally{
b.append(\ }
b.append(\
2、String s1=”JAVA”;String s2=”java”; 则s1.equals(s2)的返回值是_____,s1.equalsIgnoreCase(s2)的返回值是_____。false true 3、StringBuffer s1=new StringBuffer();StringBuffer s2=new StringBuffer(“Hello”); 则s1.capacity()的返回值是_____。s2.capacity()的返回值是____.16 21 4、程序执行后的输出结果是:_____?
JavacJava public static void main(String a[]) {
StringBuffer s=new StringBuffer(\String c=new String(\Hello(s,c);
System.out.println(s+c); }
public static Hello(StringBuffer s, String c) {
s.append(\
c.repalce('a','d') }
5、下列代码,执行的时候会错的是______? 4,6
1.StringBuffer sb = new StringBuffer(\2.String s = new String(\3.sb.append(\4.s.append(\
5.sb.insert(1, \6.s.concat(sb); 7.s.trim(); 二、单项选择题
1、 _______选项插在第三行处,程序执行后可以得到结果4247? B 1.public class Cer{
2. public static void main(String[] args){ 3. ___________________________________ 4. System.out.println(s); 5. } 6. }
A. String s=”123456789”; s=(s-“123”).replace(1,3,,”24”)-“89”; B.StringBuffer s=new StringBuffer(“123456789”); s.delete(0,3).replace(1,3,”24”).delete(4,6); C.StringBuffer s=new StringBuffer(“123456789”); s.subString(3,6).delete(1,3).insert(1,”24”);
D.StringBuilder s=new StringBuilder(“123456789”); s.subString(3,6).delete(1,2).insert(1,”24”);
2、应用程序的main方法中有以下语句,则输出的结果是 ( B )。 String s = \ int n = s.indexOf(\ int k = s.indexOf(\ String s2 = s.substring(n+1, k); System.out.println(s2);
A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 3、下列程序段执行后的结果是( A )。
String s = new String(\for(inti=0;i A) aceg B) ACEG C) abcdefg D) abcd 4、应用程序的main方法中有以下语句,则输出的结果是( A )。 String s1=new String(\ String s2=new String(\ boolean b1=s1.equals(s2); boolean b2=(s1==s2);