选择题 2. 下面程序段的输出结果为______。
public class Test
{
int a, b;
Test()
{
a=100;
b=200;
}
Test(int x, int y)
{
a=x;
b=y;
}
public static void main(String args[])
{
Test Obj1=new Test(12,45);
System. out. println("a="+Obj1. a+"b="+Obj1. b);
Test Obj2=new Test();
System. out. println("a="+Obj2. a+"b="+Obj2. b);
}
}
A.a=100 b=200 a=12 b=45 B.a=12 b=45 a=100 b=200 C.a=12 b=200 a=100 b=45 D.a=100 b=45 a=12 b=200
A B C D
B
[解析] 本题考查构造方法及构造方法重载。Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变量进行赋值。TestObj1=newTest(12,45)语句调用的是Test (intx, inty),而TestObj2=newTest()调用的是Test(),注意根据参数个数来区分。
6. 阅读下面代码
public class {
public static void main(String[] args) {
double d=12.3;
Decrementer dec=new Decrementer();
dec.decrement(d);
System.out.println(d);
}
}
class Decrementer {
public void decrement(double decMe) {
decMe=decMe-1.0;
}
}
代码执行后输出的结果是______。
A B C D
A
[解析] Java中的方法的参数传递是传值调用,而不是地址调用,因此方法不能改变d的值,但是改变了参数变量decMe的值。
8. 如下程序执行后,字符串s的值应是______。
public class Test24
{
public static void main (String args[ ])
{
String greets="Hello";
String s=greets.substring(0,3);
System.out.println(s);
}
}
A B C D
B
[解析] 本题考查字符串基本函数的应用。greets.substring(0,3)表达的意思是从greets字符串中取子串,子串是从第0位开始的3个字符组成的,所以子串应是“Hel”。
9. 阅读如下程序。
import java.io.*;
public class TypeTransition{
public static void main(String args[]}
char a='h';
int i=100;
int j=97;
int aa=a+i;
System.out.println ("aa="+aa);
Char bb=(char)j;
System.out.println ("bb="+bb);
}
}
如果输出结果的第二行为bb=a,那么第一行的输出是______。
A.aa=1 B.aa=204 C.aa=v D.aa=156
A B C D
B
[解析] 因为字符'h'的ASCII码为97+(8-1)=104,所以aa=a+i=104+100=204,所以第一行的输出为aa=204。
17. 在下面程序的空白处,应填入的正确选项是
import java.io.*;
public class writeInt {
public static void main(String[]a) {
int[] myArray={10,20,30,40};
try{
DataoutputStream dos=new DataoutputStream(new FileOutputStream("ints.dat"));
for(int i=0;i<myArray.length;i++)dos.writeInt(myArray[i]);
dos.______;
System.out.println("Have written binary file ints.dat");
}catch(IOException ioe){System.out.println("IO Exception");}
}
}
A.start() B.close() C.read() D.write()
A B C D
B
[解析] 字节输出流首先要实现DataOutput接口,字节数据流DataOutputStream是一个实现这一接口的类。字节数据是以文件输出流FileOutputStream对象的形式作为DataOutputStream的构造方法的参数。字节数据来自二进制文件,二进制文件作为FileOutputSteam对象的构造方法的参数出现。这里将数据写入了二进制文件,最后要关闭输出流,并释放相关资源,所以应该调用close()方法。
18. 有以下程序
public class Sun
{
public static void main(string args[ ])
{
int a, b;
for(a=1, b=1; a<=100; a++)
{
if(b>=10}
break;
if (b%3 1)
{
b+=3;
continue;
}
}
System.cut.println(A) ;
}
}
执行后的输出结果是
。
A B C D
D
[解析] 本题考查for循环和if语句的嵌套以及break语句和continue语句的用法。第1个if语句的意义为:当b>=10时退出for循环。第2个if语句的意义为:如果b%3=1时,b的值加3并退出本次循环。本程序当b的值分别为1、4、7的时候执行3次循环,此时a=3, b=10,当执行第4次循环时,a的值为4但b=1O,所以退出循环程序结束。答案A没有考虑for循环中的两个if条件。
19. 为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是______。
<HTNL>
<HEAD>
<TITEL>Greetings</TITEL>
</HEAD>
<BODY>
<APPLET______>
</APPLET>
<BODY>
</HTML>
A.HelloApplet.class B.CODE="HelloApplet.class" C.CODE="HelloApplet.class"WIDTH=150 HEIGHT=25 D.CODE="HelloApplet class"VSPACE=10 HSPACE=10
A B C D
C
[解析] <APPLET>标记的一般格式为 <APPLET [coDEBASR=codebaseURL] CODE=appletFile [ALT=alternateText] [NAME=appletInstaneName] WIDTH=pixels HEIGHT=pixels [ALIGN=alignment] [ASPACE=pixels] [HSPAEC=pixels] > [<PARAM NAME=appletParameter1 VALUE=value>] [<PARAM NAME=appletParameter2 VALUE=value>] [alternateHTML] </APPLET> 本题的正确答案是C。
34. 下列代码段执行结果为______。
public class Test
{
public static void main(String args[])
{
System.out.println("abc"+3+4+5);
System.out.println(3+4+5+"abc");
}
}
A.编译出错 B.abc345 abc345 C.abc和12 D.abc345和12abc
A B C D
D
[解析] Java语言对“+”运算符进行了扩展,使它能够进行字符串的连接。但是一般来说,如果“+”运算符的第一个操作数是字符串,则Java系统会自动将后续的操作数类型转换成为字符串类型,然后再进行连接;如果“+”运算符的第一个操作数不是字符串,则运算结果由后续的操作数决定。
40. 下列程序的输出结果是
。
public class Test {
public static void main (String[] args) {
int n=5,sum=0;
while (n>0) {
sum+=n;
--n;
}
System.out.println("Sum is"+sum);
}
}
A.sum is 14 B.sum is 15 C.sum is 10 D.sum is 5
A B C D
B
[解析] 本题目实际上是利用循环求1到n的和,n为5,所以结果为15。