BeanShell中的Java指令和表达式

简介:

我的博客原址:点击此处

BeanShell 能够理解标准的 Java 指令,表达式和方法的语法。那些指令和表达式都是在一个 Java 方法中你会提到的非常常见的东西,像变量的定义和分配,方法调用,循环和条件。
你可以正确得使用这些在 Java 中出现的内容,然而在 BeanShell 中你还可以选择“非严谨类型”的变量。那就是说,你可以简单地忽略你使用的变量类型(基本类型和对象都是)。BeanShell 只会对假设你试图滥用真实类型的变量产生的错误作出标示。

这里有一些例子:


 
 
  1. foo = "Foo"
  2. four = (2 + 2)*2/2; 
  3. print( foo + " = " + four ); // print() 是 BeanShell 的一个命令 
  4.  
  5. // 循环 
  6. for (i=0; i<5; i++) 
  7. print(i); 
  8.  
  9. // 弹出一个 Frame 上面有一个按钮 
  10. button = new JButton( "My Button" ); 
  11. frame = new JFrame( "My Frame" ); 
  12. frame.getContentPane().add( button, "Center" ); 
  13. frame.pack(); 
  14. frame.setVisible(true); 

运行效果

1、对变量“foo”进行初始化,进行计算后赋值给变量“four”,然后使用 print() 命令打印出结果。


2、循环5次打印出变量“i”的值。


3、 这是一段 Swing 的代码。新建一个名为“My Button”的 button 对象和一个名为“My Frame”的 frame 对象。然后将 button 添加到 frame 的正中央的位置。pack() 是类 java.awt.Window 里的方法。

java.lang.Object   
  extended by java.awt.Component       
    extended by java.awt.Container           
      extended by java.awt.Window               
        extended by java.awt.Frame                   
          extended by javax.swing.JFrame

pack() 方法的作用:使窗口按照首选大小和子组件的布局来调整大小。

最后通过 JFrame 的 setVisible() 方法来显示窗体。(关于 Swing 的相关信息可参见官方网站或者本博客中 Swing 章节 的内容)

运行后弹出如下窗口。



本文转自 tongqiuyan  51CTO博客,原文链接:http://blog.51cto.com/tongqiuyan/742662

相关文章
|
安全 Java API
Java中的Lambda表达式:简洁与功能的结合
Java中的Lambda表达式:简洁与功能的结合
605 211
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
806 211
|
Java 编译器
Java 17 Switch表达式:更简洁、更强大的流程控制
Java 17 Switch表达式:更简洁、更强大的流程控制
1316 111
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
562 14
|
SQL JSON 安全
Java 8 + 中 Lambda 表达式与 Stream API 的应用解析
摘要:本文介绍了Java 8+核心新特性,包括Lambda表达式与Stream API的集合操作(如过滤统计)、函数式接口的自定义实现、Optional类的空值安全处理、接口默认方法与静态方法的扩展能力,以及Java 9模块化系统的组件管理。每个特性均配有典型应用场景和代码示例,如使用Stream统计字符串长度、Optional处理Map取值、模块化项目的依赖声明等,帮助开发者掌握现代Java的高效编程范式。(150字)
331 1
|
设计模式 数据采集 Java
Java正则表达式的基础知识,进阶至熟练掌握。
通过大量的练习来熟悉它们的识别模式、如何设计模式来解决实际问题,才能够逐步达到熟练掌握。更多的是通过实践、编写代码和解决真实问题来完善技能。在这方面,没有快速的捷径,唯有刻意练习和长时间的代码实践。
270 0
|
缓存 监控 Java
深入解析java正则表达式
本文深入解析Java正则表达式的应用,从基础概念到实际开发技巧全面展开。正则表达式是一种强大的文本处理工具,广泛应用于格式验证、搜索替换等场景。Java通过`Pattern`和`Matcher`类支持正则表达式,`Pattern.compile()`方法将正则字符串编译为高效模式对象。文章详细介绍了核心类的功能、常用正则语法及实际案例(如邮箱和电话号码验证)。掌握这些内容,可显著提升文本处理能力,满足多种开发需求。
488 1
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
409 6