java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 java 用语句块的正确方法实例详解的相关资料, 需要的朋友可以参考下
java 语句块
犹记得在初看 C,C++ 和 Java 的编程书籍时, 上面就有介绍语句块, 但当时甚是不理解什么是语句块代码大全中也有讲说要把相似功能的语句组织到一起形成语句块, 然后与其他语句块用空行分隔但这只是在人的理解上的语句块, 并非是真的程序语言意义上的语句块
程序上的定义, 在我的理解来看应该是有着相同的变量作用域的相关一组语句的集合, 看起来就是应该用 {} 括起来的, 比如控制结构中的逻辑我认为最关键的一点就是变量作用域, 也就是说, 如果能用同一个局部变量, 那么就是程序意义上的语句块来看个例子:
- @Override public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case MENU_GOTO_FILEANT:
- Intent i = new Intent();
- i.setClass(this, FileAntActivity.class);
- startActivity(i);
- break;
- case MENU_TEST_LINEARLAYOUT:
- i.setClass(this, LinearLayoutTest.class);
- startActivity(i);
- break;
- default:
- break;
- }
- return true;
- }
对于第二个 case 语句, 仍可以使用前面 case 所定义的变量, 所以整个 switch() {}内都是一个语句块
但如果给每个 case 语句加上语句块标志, 就不一样了:
- @Override public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case MENU_GOTO_FILEANT:
- {
- Intent i = new Intent();
- i.setClass(this, FileAntActivity.class);
- startActivity(i);
- break;
- }
- case MENU_TEST_LINEARLAYOUT:
- {
- Intent i = new Intent();
- i.setClass(this, LinearLayoutTest.class);
- startActivity(i);
- break;
- }
- default:
- break;
- }
- return true;
- }
加上了 {} 就把二个 case 语句分隔了开来, 形成了二个语句块, 它们有各自的变量作用域, 互不影响, 即使用名字相同, 或再次定义也无妨
说明这些的目的就在于, 要尽可能多的使用 {} 以形成真正的语句块, 最大的好处在于它能形成变量作用域, 避免变量的作用域过大, 即提高了可读性, 也减少了出错的可能
来源: http://www.phperz.com/article/18/0216/358909.html