使用原汁原味的Java语言 - 非Java原生程序员的语言流畅性 - 编程入门网
量或文字在 Java 代码中极为罕见,更常 用的是 double。使用 float 的惟一时机就是操纵精度有限的大型多维浮点数字 数组,此时存储空间较为重要。否则使用 double 即可。
比 float 更不常见的是 short。我在 Java 代码中几乎没有见过 short 变 量。只有惟一的一次(我要警告您,这是极其罕见的情况),读入的外部定义数 据格式碰巧包含 16 位有符号整型类型。在这种情况下,大多数程序员都会将其 作为 int 读入。 确定私有属性的范围 您是否见过清单 22 中这种 equals() 方法? 清单 12. C++ 程序员编写的 equals()方法
这个方法在技术上是正确的,但我确信,这个类是由一名保守的 C++ 程序员 编写的。他在一个方法中使用了私有字段 x 和公共 getter 方法 getX(),实际 上是在一行代码之中,这泄漏了他的身份。在 C++ 中,这种做法是必要的,因 为私有属性的范围是对象而不是类。也就是说,在 C++ 中,同一个类的对象无 法看到彼此的私有成员变量。他们必须使用 accessor 方法。在 Java 语言中, 私有属性的范围是类而非对象。类型同为 Foo 的两个对象可直接访问对方的私 有字段。 某些微妙 — 往往又不相关 — 的考虑思路认为,您应该在 Java 代码中首 选直接字段访问而非 getter 访问,或者反之。字段访问相对速度较快,但在少 数时候,getter 访问可能会提供与直接字段访问略有不同的值,特别是在涉及 子类的时候。在 Java 语言中,没有任何理由在同一行代码中为同一个类的同一 个字段同时使用直接字段访问和 getter 访问。 使用原汁原味的Java语言 - 非Java原生程序员的语言流畅性(8)时间:2011-06-10 IBM Elliotte Rusty Harol标点和语法方言 下面是一些与 C 语言对应部分不同的 Java 方言,在某些情况下,这样的差 异是为了利用某些 Java 语言特性。 将数组括号紧接于类型之后 Java 语言声明数组的方式与 C 语言中大致相同:
但 Java 语言也提供了一种替代性的语法,将数组复括号紧接于类型之后, 而不是变量名之后:
大多数 Java 程序员都采用了第二种风格。上面的代码表示 k 的类型是 int 数组,temperatures 的类型是 double 数组,names 的类型是 String 数组。 同样,与其他本地变量一样,Java 程序员习惯在声明时初始化这些变量: int[] k = new int[10]; double[] temperatures = new double[75]; String[] names = new String[32]; 使用 s == null 而不是 null == s 谨慎的 C 程序员已经学会了将文字置于比较运算符的左侧。例如: if (7 == x) doSomething(); 目标在于避免意外地使用单等号赋值运算符而非双等号比较运算符: if (7 = x) doSomething(); 若将文字置于左侧,这样的错误就会成为编译时错误。这项技巧是 C 语言中 一项著名的编程实践。它能帮助避免出现真正的 bug,因为若将文字置于右端, 将始终返回 true。 然而,不同于 C 语言,Java 语言具有独立的 int 和 boolean 类型,赋值 运算符返回 int,而比较运算符返回 boolean。因而,if (x = 7) 已经成为编 译时错误,就没有必要为比较语句使用不自然的形式 if (7 == x),流畅的 Java 程序员不会这样做。 使用原汁原味的Java语言 - 非Java原生程序员的语言流畅性(9)时间:2011-06-10 I |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |