栈中的变量

Java 笔试拾遗(3)

栈中的变量

栈的主要作用

  • 符号匹配;
  • 表达式求值;
  • 实现函数调用。

一 符号匹配
示例
解析XML时,需要校验节点是否闭合,如必须有与之对应,用栈数据结构实现就比较好。遇到一个标签(左标签)就入栈,遇到其子标签的左标签同样入栈。遇到右标签就校验栈顶标签是否与该右标签对应,能对应就出栈,不能对应则说明标签不对称,是无效的XML文件.

二表达式求值

引例:

public class Test {
public static void main(String[] args) {
    StringBuffer a = new StringBuffer("A"); 
    StringBuffer b = new StringBuffer("B"); 
    operator(a, b); 
    System.out.println(a + "," + b); 
} 
public static void operator(StringBuffer x, StringBuffer y) { 
    x.append(y); y = x; 
}
}

输出

AB,B

栈中的变量_第1张图片
x.append(y)修改x所指的内容,y=x 把x的指向赋给y;但是,打印的是a和b所指向的内容,于是,结果就是AB,B。

这在java中算是非参数的引用传递。
同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。

三 后续继续补充函数调用

你可能感兴趣的:(牛客网刷题_Java,java,引用传递)