java中 String str = "hello world"

题目

java中 String str = "hello world"下列语句错误的是()。

  • A、str+=’ a’
  • B、int strlen = str.length
  • C、str=100
  • D、str=str+100
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请阅读下面的程序

classTest/{

privatestaticStringname;

static/{

name="World";

System.out.print(name);

/}

publicstaticvoidmain(String[]args)/{

System.out.print("Hello");

Testtest=newTest();

/}

/}

下列选项中,程序运行结果是()。

:A.World

B.Hello

C.World Hello

D.Hello World


参考答案:D

第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题:

下列程序段的输出结果是( )。 String MyStr="Hello,"; MyStr=MyStr+ "World!"; System.out.println(MyStr);

A.Hello, World!

B.Hello,

C.World!

D.该程序段有语法错误


正确答案:A
解析:本题主要考查String类型可以直接使用“+”进行连接运算。

第4题:

设有以下语句: char strl[]="string",str2[8],*str3,*str4="string"; 则_______不是对库函数的正确调用。

A.strcpy(strl,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4");


正确答案:C
解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。

第5题:

设有以下语句: char str1 []="string"mstr2 [8],*str3,*str4=="string"; 则 ______不是对库函数的正确调用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str 4,"HELLO4");


正确答案:C
解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。

第6题:

设有语句:char str1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是

A.strcpy(str1,"Hello1");

B.strcpy(str2,"Hello2");

C.strcpy(str3,"Hello3");

D.strcpy(str4,"Hell04");


正确答案:C
解析:本题考核函数调用。函数strcpy的函数原型为:char*strcpy(char*strDest,constchar*trSrC);,其功能是复制strSrc所有字符到strDest,并返回strDest。根据函数strcpy的原型可知选项A)、B)和D)的调用都是正确的。在C)选项中,由于指针*str3没有初始化其字符长度,容易引起访问越界,故是不正确的。

第7题:

设有以下语句: char str1[]="string",str2[8],*str3,*str4=="string; 则______不是对库函数的正确调用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4")


正确答案:C
解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的中指针str3没有指向具体有效的存储单元,故是错误的调用。

第8题:

下列Applet程序中,指定s为字符串类型,将s绘制在屏幕上,请将程序补充完整。

import java.applet.Applet;

import java.awt.Craphics;

public class testl8_1 extends Applet {

______String s;

public void init ()

{

s=new String("Hello World");

}

public Void______(Graphics g) {

g.______(s,10,25);

}

}


正确答案:publicpaintdrawString
public,paint,drawString

第9题:

以下程序的输出结果是 ______。includeincludevoidmain(){char *p1=",he

以下程序的输出结果是 ______。 #include<iostream.h> #include<string.h> void main(){ char *p1=",hello",*p2="world!",str[50]:"Hii"; strcpy(str+2,p1); strcat(str,p2); cout<<str; }

A.Hii,hello world!

B.hello world!

C.ii,hello world!

D.Hi,hello world!


正确答案:D

第10题:

String s = "Hello";s = s + " world!";这两行代码执行后,

原始的String 对象中的内容到底变了没有?


正确答案:

 

没有。因为String 被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。

在这段代码中,s 原先指向一个String 对象,内容是 "Hello",然后我们对s 进行了+

操作,那么s 所指向的那个对象是否发生了改变呢?答案是没有。这时,s 不指向原来那个对象了,而指向了另一个 String 对象,内容为"Hello world!",原来那个对象还

存在于内存之中,只是s 这个引用变量不再指向它了。

通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修

改,或者说,不可预见的修改,那么使用String 来代表字符串的话会引起很大的内存

开销。因为 String 对象建立之后不能再改变,所以对于每一个不同的字符串,都需要

一个String 对象来表示。这时,应该考虑使用StringBuffer 类,它允许修改,而不是每

个不同的字符串都要生成一个新的对象。并且,这两种类的对象转换十分容易。

同时,我们还可以知道,如果要使用内容相同的字符串,不必每次都new 一个String。

例如我们要在构造器中对一个名叫s 的String 引用变量进行初始化,把它设置为初始

值,应当这样做:

public class Demo {

private String s;

...

public Demo {

s = "Initial Value";

}

...

}

而非

s = new String("Initial Value");

后者每次都会调用构造器,生成新对象,性能低下且内存开销大,并且没有意义,因

为String 对象不可改变,所以对于内容相同的字符串,只要一个String 对象来表示就

可以了。也就说,多次调用上面的构造器创建多个对象,他们的String 类型属性s 都

指向同一个对象。

上面的结论还基于这样一个事实:对于字符串常量,如果内容相同,Java 认为它们代

表同一个String 对象。而用关键字new 调用构造器,总是会创建一个新的对象,无论

内容是否相同。

至于为什么要把String 类设计成不可变类,是它的用途决定的。其实不只String,很

多Java 标准类库中的类都是不可变的。在开发一个系统的时候,我们有时候也需要设

计不可变类,来传递一组相关的值,这也是面向对象思想的体现。不可变类有一些优

点,比如因为它的对象是只读的,所以多线程并发访问也不会有任何问题。当然也有

一些缺点,比如每个不同的状态都要一个对象来代表,可能会造成性能上的问题。所

以Java 标准类库还提供了一个可变版本,即 StringBuffer。

更多相关问题