栈中的变量

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

在这里插入图片描述
x.append(y)修改x所指的内容,y=x 把x的指向赋给y;但是,打印的是a和b所指向的内容,于是,结果就是AB,B。

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

三 后续继续补充函数调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值