(此系列试题来源于Java面试宝典书籍)
一、选择题
1. 下面关于栈的描述错误的是
- A. 栈是先进后出的线性表
- B. 栈只能顺序存储
- C. 栈具有记忆功能
- D. 对栈的插入和删除操作中,不需要改变栈底指针
解析
- 栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素
- 栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的,这便是栈的记忆作用
- 对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变
2. 下面说法正确的是
public class Person{
int arr[] = new int[10];
public static void main(String args[ ]){
System.out.println(arr[1]);
}
}
// arr[1] :报错,无法引用非静态的变量
// 如果是 static int arr[] = new int[10] 输出结果为0
3. 输出结果
public static void operator(StringBuffer x,StringBuffer y){
x.append(y);
y = x;
}
public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a,b);
System.out.println("a:"+a+",b:"+b);
}
// 输出结果:AB,B
// 原因:方法内变量不能代到方法外 拼接可以 赋值操作不行
4.
int x = 0;
int y = 10;
do {
y--; // 9 y-1得到y值
++x; // 0 先看x值,进行++
}while (x&