本书《程序设计基础知识答案》提供了大量编程练习题目的解答和解析,旨在帮助学习者巩固编程基础,提高问题解决能力。适用于计算机专业学生及初学者参考使用。
一、填空题
1. 请填写以下空白:
- 初始化数组总和的语句是:total = ________;
- 循环条件应为:for ( int i = 0; ___________; i++ )
- 数组元素累加操作如下:total=_____________;
二、简答题
1. 分析下面程序:
```java
import java.awt.Graphics;
import java.applet.Applet;
public class BreakTest extends Applet {
public void paint(Graphics g) {
int count, xPos = 25;
for (count = 1; count <= 10; count++) {
if (count == 8)
break;
g.drawString( + count, xPos, 25);
xPos += 10;
}
}
}
```
- 程序的输出结果是什么?
- 方法调用 `g.drawString( + count, xPos, 25 );` 的第一个实参中为什么要有串 ` `?
2. 分析下面程序:
```java
import java.awt.Graphics;
import java.applet.Applet;
public class Applet1 extends Applet {
public void paint(Graphics g) {
int c1, c2;
boolean b1, b2;
c1 = 5;
c2 = 7;
b1 = false;
b2 = true;
// 输出结果
g.drawString(b1和b2相与的结果是: + (b1 & b2), 25, 25);
g.drawString(b1和b2相或的结果是: + (b1 | b2), 25, 45);
// 输出结果
g.drawString(c1= + ++c1, 25, 85);
g.drawString((++c1 == --c2)为 + (++c1 == --c2), 25, 105);
}
}
- 程序执行后共输出几行?
- 输出结果是什么?
3. 分析以下类定义:
```java
class student {
String name;
int age;
int score = 88;
// 构造函数,注意参数顺序与成员变量的赋值匹配问题。
student(String a1, int a2, int a3) {
name=a1;
age=a3;
score=a2; }
}
- 已使用 `student s1,s2;` 语句生成了该类的对象,并初始化如下:
```java
student s1 = new student(张三, 20, 33);
student s2 = new student();
// 分析对象s1和s2的属性值。
- 对象 `s1` 的成员变量 `name`, `age`, 和 `score` 各是什么?
- 对象 `s2` 的成员变量 `name`, `age`, 和 `score` 又各是什么?
4. 分析下面类定义:
```java
class A {
int x = 10;
// 返回x的值。
public int GetA() { return x; }
}
class B extends A{
int x=100;
// 类B试图覆盖了GetA方法,但存在语法错误。请修正并回答问题。
public int GetB() {
return x;
}
}
- 请问类 `B` 是否能继承类 `A` 的属性 `x`?
- 若对象 b 是类型 B,则调用 `b.GetB()` 返回值是什么?
- 对象 b 调用方法 GetA(),返回的 x 值是多少?
- 类 A 和类 B 都定义了变量 x 属性,这种现象称为什么?
这些问题需要你详细理解 Java 中关于继承、构造函数和运算符的知识。请根据上述代码进行分析并回答问题。