WEB开发网
开发学院软件开发Java 使用原汁原味的 Java 语言:非 Java 原生程序员的... 阅读

使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性

 2010-02-24 00:00:00 来源:WEB开发网   
核心提示: 但这几乎是惟一的异常,这种风格的最后一种连锁反应就是 Java 程序员通常每行仅声明一个变量,使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性(6),例如,他们初始化变量的方法如下:inti=3;intj=8;intk=9;通常不会写出下面这样的代码:inti=3,j=8,k

但这几乎是惟一的异常。

这种风格的最后一种连锁反应就是 Java 程序员通常每行仅声明一个变量。例如,他们初始化变量的方法如下:

int i = 3; 
int j = 8; 
int k = 9;

通常不会写出下面这样的代码:

 int i=3, j=8, k=9;

这条语句在语法上是正确的,但除非在一种特殊的例外情况下,专业 Java 程序员是不会这样做的,后文将介绍这种特殊情况。

老式的 C 程序员甚至可能编写一个四行的代码:

 int i, j, k; 
 i = 3; 
 j = 8; 
 k = 9;

Java 风格将声明与初始化结合在一起,因而实际上要更简练一些,只需要三行代码。

将变量置入循环

常见的一种特殊情况就是在循环外部声明变量。例如,考虑清单 6 中简单的 for 循环,其作用是计算斐波那契数列的前 20 项:

清单 6. C 程序员喜欢在循环外部声明变量

int high = 1; 
int low = 1; 
int tmp; 
int i; 
for (i = 1; i < 20; i++) { 
  System.out.println(high); 
  tmp = high; 
  high = high+ low; 
  low = tmp; 
}

所有这四个变量都是在循环外声明的,尽管它们仅在循环内部使用,但作用域不止于此。这容易导致 bug,变量可能会在其目标作用域之外被重用。对于使用常用名的变量来说更是这样,例如 i 和 tmp。某次使用的值可能会残留下来,并以无法预计的方式干扰后续的代码。

第一项改进(C 语言的现代版本也支持这项改进)是将 i 循环变量的声明移到循环之内,如清单 7 所示:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 原汁原味 Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接