下面哪些表达式是声明一个含有10个String对象的数组?
说明理由。(C)
A.char str[]; B. char str[][];
C. String str[]=new String[10]; D. String str[10];
解:选项C声明的是一个含有10个String对象的数组。选项A和选项B声明的是字符对象数组。选项D的形式是不对的。
根据下列语句判断哪些表达式返回true。说明理由。(D)
String s=”hello ”;
String t=” hello”;
Char c[]={‘h’,‘e’,‘l’,‘l’,‘o’};
A.s.equels(t); B.t.equals(c);
C.s==t; D.t.equals(new String(“hello”))
E.t==c.
解:因为==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其他对象都返回false。所以只有选项D返回true。
下面的哪些程序片段可能导致错误?说明理由。(B D)
A. String s = “Gone with the wind”;
String t = “good”;
String k = s+t;
B. String s = “Gone with the wind”;
String t;
t = s[3]+“one”;
C. String s = “Gone with the wind”;
String standard = s.toUpperCase();
D. String s = “home directory”;
String t = s – “directory”;
解:因为选项A中使用的是String类型可以直接使用的连接运算+,是正确的。选项B是错误的,因为String是一种对象,不是简单的字符数组,不能使用下标运算符取其值的某个元素。选项C也是正确的,因为toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。选项D是错误的,因为String类型不能进行减(-)运算。
![]() | ![]() .. 定价:¥45 优惠价:¥42 更多书籍 |
![]() | ![]() .. 定价:¥225 优惠价:¥213 更多书籍 |