使用String s1=new String("Java");S

题目

使用String s1=new String("Java");String s2=new String("Java")创建两个字符串时,s1,s2使用不同的内存空间

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面的程序执行后,屏幕上显示的应是 public class Exam{ public static void main(String[]args){ char char1[]={'t','e','s','t'}; char char2[]={'t','e','S','t','1'}; String s1=new String(char1); String s2=new String(char2,0,4); System.out.println(s1.equals(s2)); } }

A.true

B.false

C.test

D.编译错误


正确答案:A
解析:首先可以通过字符数组来生成一个字符串对象:String(char[]value)和 String(char[]value,int startIndex,int numChars),其中,startIndex指定字符串在数组中的起始下标, numChars表示字符个数。然后再测试字符串是否相等,可调用equals()方法,两个字符串相等则返回 true,否则返回false。题目中s1和s2都是“test”,所以最后返回是true,选项A正确。

第2题:

有如下applet代码:

import java.applet.*;

import java.awt.*;

public class MyApplet extends Applet

{

AA s;

public void int()

{

s = new AA("Hello!", "I love JAVA.");

}

public void paint(Graphics g)

{

g.drawString(s.toString(), 30, 50);

}

}

class AA

{

String s1;

String s2;

AA(String str1, String str2)

{

s1 = str1;

s2 - str2;

}

public String toString()

{

return s1 + s2;

}

}

运行后,窗口上将会出现什么,选择一个正确答案______。

A.Hello!

B.I love JAVA.

C.Hello! I love JAVA.

D.什么都没有


正确答案:C

第3题:

( 17 )阅读下面程序

public class OperatorsAndExpressions {

void equalsMethod1(){

String s1=new String("how are you");

String s2=new String("how are you");

System.out.println(s1==s2);

}

public static void main(String args[]){

OperatorsAndExpressions perAndExp=new OperatorsAndExpressions();

// 用于复合类型数据的 “ == ” 运算符

OperAndExp. equalsMethod1();

}

}

程序运行结果是

A ) ==

B ) true

C ) false

D ) equal


正确答案:C

第4题:

下列程序的执行结果是______。 public class Test9 { public static void main(String[] args) { String s1 = new String("I am a girl"); String s2 = new String("I am a girl"); System.out.println (s1.equal (s2)); } }

A.true

B.假

C.I amgirl

D.都不正确


正确答案:A
解析:如果需要比较两个对象的值是否相同,则可以调用equal()方法,如果被比较的两个对象相等,则返回true,否则返回false。

第5题:

下面程序的运行结果是( )。 public class OperatorsAndExpressions{ void equalsMethod1( ){ //基本类型的数据之间的比较 int i=10,j=15; System.out,println(i==j); //复合数据类型的数据之间的比较 String s1=new String ("how are you"); String s2=new String ("how are you"); System.out.println(s1==s2): } public static void main (String args[ ]){ OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions( ): //用于基本类型数据和复合类型数据的=="运算符 OperAndExp,equalsMethod1( ) } }

A.false false

B.false true

C.tree false

D.true true


正确答案:A

第6题:

分析两个字符串,分别输出每个字符串的单词并统计出单词个数。阅读程序,填写空行。

注意:不改动程序结构,不得增行或删行。

import java.util.*;

public class ex2

{

public static void main(String args[])

{

String s1="I am Chinese,she is my girlfriend";

String s2="Oh,really,fine";

StringTokenizer fenxi_1=new StringTokenizer(s1,",");

StringTokenizer fenxi_2=new StringTokenizer(s2,",");

int n1=fenxi_1.countTokens();

int n2=fenxi_2.countTokens();

while(fenxi_1.hasMoreTokens())

{

String s=fenxi_1.nextToken();

System.out.println(s);

}

System.out.println("s1单词:"+n1+"个");

while(fenxi_1.hasMoreTokens())

{

String s=______;

System.out.println(s);

}

System.out.println("s2单词:"+n2+"个");

}

}


正确答案:fenxi_2.nextToken()
fenxi_2.nextToken() 解析:本题是考查处理字符串的考题,一般使用StringTokenizer类来分析字符串。 StringTokenizer(String s)尽为字符串s构造一个分析器。一个分析器可以使用nextToken()方法逐个获取字符串中语言符号,每当调用nextToken()时,都将在字符串中获得下一个语言符号。通常用while循环来逐个获取语言符号,为了控制循环,还可以使用StringTokenizer类中的 hasMoreTokens()方法,只要字符串还有语言符号,该方法就返回true,否则返回false。另外还可以调用countTokens()方法得到字符串一共有多少个语言符号。因此在本题目中的空白处应该填写fenxi_2.nextToken()。

第7题:

下列语句输出结果为( )。 public class test\ { public static void main (String args[]) { String s1=new String("How"); String s2=new String("How"); System.out.println(!(s1.equals(s2))); } }

A.false

B.true

C.0

D.1


正确答案:A

第8题:

在执行下面这段Java程序时: public class Test { public static void main (String[] args) { String s1=args[0]; String s2=args[1]; String s3=args[2]; } }若编译程序后键入命令: java Test one two three,那么变量s1所引用的字符串为( )。

A.null

B.test

C.one

D.java


正确答案:C
解析:main()方法中参数表中定义的数组args用于接收命令行参数。在题中提到命令行 java Test one two three中参数分别为"one"、"two"、"three",它们将被依次存放在数组args中。由于在Java中数组的下标从0开始,所以s1所引用的字符串为"one"。

第9题:

下列程序段: String s1=new String("How"); String s2=new String("How"); System.out.println(!(s1==s2)); 的结果为

A.false

B.true

C.1

D.0


正确答案:B

第10题:

阅读下面程序 public class OperatorsAndExpressions{ void equalsMethodl(){ String s1=new String("how are you"); String s2=new String("how are you"); System.out.println(s1==s2); } public static void main(String args[]){ OperatorsAndExpressionsOperAndExp=new OperatorsAndExpressions(); //用于复合类型数据的“==”运算符 OperAndExp.equalsMethod1(); } } 程序运行结果是

A.=

B.true

C.false

D.equal


正确答案:C
解析:本题考查的是Java语言中运算符的特殊用法。相等比较运算符“=”,不仅可用于基本类型的数据之间的比较,还可以用于复合数据类型之间的比较。但是,对于复合类型数据的“=”运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,.则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象s1和s2,然后输出表达式“s1=s2”的结果。根据上面介绍的相等比较运算符的用法,字符串对象s1和s2是复合数据类型,因此表达式“s1=s2”比较的是s1和s2是否同一个对象。显然,s1和s2虽然具有相同的值,即“how are you”,但它们是两个不同的对象。因此,本题的正确答案是C。

更多相关问题