java 是脚本语言_java中使用脚本语言

1. 脚本语言的特点

* 灵活:脚本语言一般都是动态类型,可以不用声明变量类型而直接使用,也可以在运行期改变类型。

* 便捷:脚本语言是一种解释型语言,不需要编译成二进制代码,也不需要向java一样生成字节码。它的执行是依靠解释器解释,因此在运行期变更代码非常容易,而且不用停止应用。

* 简单(部分):技术门槛低。

2. java6开始正式支持脚本语言,只要符合JSR223规范的脚本语言都可以在java平台上运行,JavaScript是默认支持的。

3. emp

js代码:

function compute(var1, var2){

return var1 + var2 - variable;

}

variable来自上下文

java代码:

public class TempTest {

public static void main(String[] args) throws Exception {

//获得一个js的执行引擎

ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");

//建立上下文变量

Bindings bindings = engine.createBindings();

bindings.put("variable", 1);

//绑定上下文,作用域是当前引擎范围

engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);

Scanner input = new Scanner(System.in);

while (input.hasNextInt()){

int first = input.nextInt();

int second = input.nextInt();

System.out.println("输入的参数是:"+first+","+second);

engine.eval(new FileReader("E:/demoProject/compute.js"));

//是否调用方法

if (engine instanceof Invocable){

Invocable in = (Invocable) engine;

//执行js中的函数

Double result = (Double) in.invokeFunction("compute", first,second);

System.out.println("运算结果:"+result.intValue());

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值