1. 阅读下列程序片段,写出运行结果。
public class Test {
public static void main(String args[]) {
double d = 12.3;
decrement(d);
System.out.println(d);
}
public static void decrement(double decMe) {
decMe = decMe - 1.0;
}
}
代码执行后输出的结果是______。
答案:12.3
[解析] 本题参数传递采用的是传值引用,函数中不会改变实参 d 的值,因此 d 的值不变。
2. 阅读下列代码,写出运行结果。
public class Arrays {
public static void main(String[] args) {
int[] a = new int[5];
for (int i = 0; i < a.length; i = i + 1) {
a[i] = 10 + i;
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
String[] s = { "Frank", "Bob", "Jim" };
for (int i = 0; i < s.length; i = i + 1) {
System.out.print(s[i] + " ");
}
s[2] = "Mike";
System.out.print(s[2]);
}
14 Frank Bob Jim Mike
}
代码执行后输出的结果是______。
答案:10 11 12 13
[解析] for 循环执行时,首先执行初始化操作,其次判断终止条件是否满足,如果满足,则执行循环体中的
语句,最后执行迭代部分的。完成一次循环后重新判断终止条件。在本题的程序段中第一个 for 循环功能
是定义一个一维数组 a,第二个 for 循环的功能是输出一维数组 a 的各个元素,第三个 for 循环功能是输出~
维数组 s 的各个元素。
7. 阅读下列程序片段,写出运行结果。
public class Test {
public static void main(String[] args) {
int x = 3, y = 4, z = 5;
if (x > 3) {
if (y < 2)
System.out.println("show one");
else
System.out.println("show two");
} else {
if (z > 4)
System.out.println("show three");
else
System.out.println("show four");
}
}
}
代码执行后输出的结果是______。
答案:show three
[解析] 该程序主要是考查 if 语句的用法。由于 x=3,所以第一个 if 里面的表达式的值为 false,进入下面对
应的 else 的运算中。又由于 z=5,使得里面的 z>4 的值为 true,所以程序运行的最后结果为 show three。
8. 阅读下列程序片段,写出运行结果。
public class Test {
public static void main(String[] args) {
int[] m = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
int sum = 0;
for (int i = 0; i < 8; i++) {
sum += m[i];
if (i == 3)
break;
}
System.out.println(sum);
}
}
代码执行后输出的结果是______。
答案:10
[解析] 该程序的功能是将 m 数组中的前四个数相加,将和保存在 sum 中,最后输出 sum 的值。因为程序
中 for 循环停止的条件有两个,一个是当 i<8 的时候,另一个是当 i==3 的时候,即运行到 m 数组中第四
个值的时候,可以跳出 for 循环。程序执行的是后
者,所以输出的结果是 10。
9. 阅读下列程序片段,写出运行结果。
public class Test {
public static void main(String[] args) {
int percent = 10;
tripleValue(percent);
System.out.println(percent);
}
public static void tripleValue(int x) {
x = 3 * x;
}
}
代码执行后输出的结果是______。
答案:10
[解析] static 关键字应用的场合有:①用来修饰类中定义的变量,这样的变量称为类变量或静态变量。②
可以用来修饰类中定义的方法,这样的方法称为静态方法。③用来修饰初始化语句块,这样的语句块常称
为静态初始化语句块。static 在这里表示这个方法为类方法,不属于任何对象实例,而是类所有,描述对
象的共有动作,可以用类名直接调用。在调用了 tripleValue 函数之后,函数的值没有返回,所以 percent
的值还是 10。
10. 阅读下列程序片段,写出运行结果。
class Shape {
public Shape() {
System.out.print("Shape");
}
}
class Circle extends Shape {
public Circle() {
System.out.print("Circle");
}
}
public class Test {
public static void main(String[] args) {
Shape d = new Circle();
}
}
代码执行后输出的结果是______。
答案:ShapeCircle
[解析] 继承是而向对象编程的一个主要优点之一,它对如何设计 Java 类有着直接的影响。继承有如下几点
好处:
①它可以利用已有的类来创建自己的类,只需要指出自己的类和已有的其他类有什么不同即可,而且还可
以动态访问其他有
关类中的信息。
②通过继承,可以利用 Java 类库所提供的丰富而有用的类,这些类都已经被很好地实现。
③当设计很大的程序时,继承可以使程序组织得层次清晰,有利于程序设计相减少错误的发生。该程序首
先编写了一个 Shape 的类,然后又编写一个类 Circle 去继承 Shape 类。由于子类拥有父类所有的属性和方
法,所以输出的是 ShappeCircle。
11. 阅读下列程序片段,写出运行结果。
import javax.swing.*;
import java.awt.*;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame();
JPanel p = new JPanel();
f.setLayout(new BorderLayout());
f.getContentPane().add(p, "Center");
p.setBackground(Color.blue);
f.setVisible(true);
f.setSize(200, 200);
}
}
代码执行后输出的结果是______。
答案:程序可以运行,显示一个窗口,窗口大小是 200×200 ,背景为蓝色。
[解析] 该程序没有语法和逻辑上面的错误,所以应该是可以运行的。由 JFrame f=new JFrame()可以看出,
该 程 序 创 建 了 一 个 窗 口 , p.setBackground(Color.blue) 告 诉 我 们 , 窗 口 的 背 景 颜 色 是 蓝 色 的 , 而
f.setSize(200,200)则设黄了窗口的大小,最后窗口是可见的。
12. 阅读下列程序片段,写出运行结果。
public class ArrayTest {
public static void main(String[] args) {
int data[][] = { { 1, 2, 3, 4, 5 }, { 11, 22, 33, 44, 55 },
{ 111, 222, 333, 444, 555 } };
for (int i = 0; i < data.length; i++) {
if (i % 2 == 0) {
System.out.print(data[i][4] + "");
}
}
}
}
代码执行后输出的结果是______。
答案:5 555
[解析] 该程序的功能是遇到行下标数为偶数的时候,输出这一行的列下标为 4 的数,即这一行的第五个数。
而程序定义的二维数组一共有三行五列。第 0 行的时候,可以被 2 整除,所以输出第 5 个数“5”,第 2 行
的时候,也可以被 2 整除,所以输出这一行的第 5 个数“555”。
13. 阅读下列程序片段,写出运行结果。
public class Test {
public static void main(String args[]) {
System.out.println(89 >> 1);
}
}
代码执行后输出的结果是______。
答案:44
[解析] 算数右移一位相当于除 2 取商。89 除以 2,商是 44。所以 89>>1 的结果是 44。因此,本题的正
确答案是 A。
14. 下面是 People 和 Child 类的定义和构造方法,每个构造方法都输出编号。在执行 new Child("mike")的
时候都有哪些构造方法被顺序调用?写出运行结果。
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
public Child() {
System.out.print(4);
}
}
public class Demo {
public static void main(String[] args) {
Child c = new Child("5");
}
}
代码执行后输出的结果是______。
答案:132
[解析]无
15. 下面程序中类 Class Demo 中定义了一个静态变量 sum,阅读下列程序片段,写出运行结果。
class ClassDemo {
public static int sum = 1;
public ClassDemo() {
sum = sum + 5;
}
}
public class ClassDemoTest {
public static void main(String args[]) {
ClassDemo demo1 = new ClassDemo();
ClassDemo demo2 = new ClassDemo();
System.out.println(demo1.sum);
}
}
代码执行后输出的结果是______。
答案:11
[解析]无
16. 阅读下列程序片段,写出运行结果。
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
}
代码执行后输出的结果是______。
答案:good and gbc
[解析]无
17. 阅读下列程序片段,写出运行结果。
public class Short {
public static void main(String[] args) {
StringBuffer s = new StringBuffer("Boy");
if ((s.length() < 3) && (s.append("男孩").equals("Flase")));
System.out.println("结果为:" + s);
}
}
代码执行后输出的结果是______。
答案:结果为:Boy
[考点范围] 常用的系统类
18.阅读下列程序片段,写出运行结果。
public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));
}
}
代码执行后输出的结果是______。
答案:ture
[考点范围] 常用的系统类
19.阅读下列程序片段,写出运行结果。
import java.io.*;
public class StringTest1 {
public static void main(String[] args) {
String s1 = "hello";
String s2 = new String("hello");
if(s1==s2){
System.out.println("s1=s2");
}else{
System.out.println("s1!=s2");}
}
}
代码执行后输出的结果是______。
答案:s1!=s2
[考点范围] 常用的系统类
20.阅读下列程序片段,写出运行结果。
public class TestString {
public static void main(String[] args) {
StringCs = new StringC("hello","world!");
System.out.println(s);
}
}!
class StringC{
String s1;
String s2;
StringC(String str1,String str2){
s1 = str1;
s2 = str2;
}
public String toString(){
returns1+s2;
}
}
代码执行后输出的结果是______。
答案:helloworld
[考点范围] 常用的系统类
21.阅读下列程序片段,写出运行结果。
importjava.util.*;
public class Vec {
public static void main(String[] args) {
String[] s;
s = new String[2];
s[0] = new String("no1");
s[1] = new String("no2");
Vector v = new Vector();
for(inti= 0;i<2;i++)
v.addElement(s[i]);
v.insertElementAt(new String("no3"),2);
Enumeration e = v.elements();
while(e.hasMoreElements())
System.out.println(e.nextElement()+" ");
System.out.println();
v.removeElement("no2");
for(inti = 0;i