Oak*_*Oak 2 java variables output
我正在创建一个程序(实际上,我已经完成了它),它将kiloBytes转换为字节和MegaBytes.
它相当容易,创建它花了我几秒钟.我的问题是我设法找到了大量的解决方案,这让我感到奇怪,这更有效率.
这是字节输出的示例:
System.out.println(kiloByte + " KB = " + (1024 * kiloByte) + " bytes");
Run Code Online (Sandbox Code Playgroud)
但想象一下,如果我必须在不同的地方打印字节,而不是我必须有类似的东西
System.out.println((1024 * kiloByte) + " " + (1024 * kiloByte));
Run Code Online (Sandbox Code Playgroud)
在我看来,最好是创建一个变量,而不是两次执行相同的操作,因此看起来像这样:
int vbyte = 1024 * kiloByte;
System.out.println( vbyte + " " + vbyte); // vbyte as a variable for bytes
Run Code Online (Sandbox Code Playgroud)
虽然,我并不完全确定是这种情况,所以,我是否正确假设第一个版本慢于第二个?
JVM可能会发现它们是相同的计算并且只执行一次.但即使它没有,在任何现代CPU上乘法都不到一纳秒,所以你不会注意到差异,特别是在打印时,这需要花费几个数量级的时间......
现在从可读性的角度来看,使用命名良好的变量通常是一件好事,所以选择2.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |