使用原汁原味的Java語言

來源:互聯網
上載者:User

學習一種新的程式設計語言比學習新的口頭語言要容易得多。然而,在這兩種學 習過程中,都要付出額外的努力去學習不帶口音地說新語言。如果您熟悉 C 或 C++,那麼學習 Java 語言並不困難,這就像是會說瑞典語的人去學丹麥語一樣 。語言雖有不同,但又彼此互連。但若不夠謹慎,您的口音每次都會暴露出您並 非原生語言使用者這個秘密。

C++ 程式員往往會對 Java 代碼做出一些變形,而這樣的舉動將他們與原生 Java 語言使用者清晰地區分開來。他們的代碼可以無錯運行,但對於原生語言用 戶來說,就是有一些地方不對勁。因而原生語言使用者可能會輕視非原生使用者。從 C 或 C++(或者 Basic、Fortran、Scheme 等)轉到 Java 語言時,您需要根除 一些習慣用語,並糾正某些發音,以便流暢地使用新語言。

在本文中,我探討了一些往往被忽視的 Java 編程細節,因為從語義上來說 ,它們並不重要,甚至是無關緊要的。它們純粹是風格和慣例問題。其中有些細 節有著似是而非的理由,其他一些甚至連似是而非的理由也沒有。但所有這些細 節都是當今編寫的 Java 代碼中真實存在的現象。

這是什麼語言?

讓我們首先來看一段代碼,其作用是將華氏溫度轉換為攝氏度,如清單 1 所 示:

清單 1. 一段 C 代碼?

float F, C;
float min_tmp, max_tmp, x;

min_tmp = 0;
max_tmp = 300;
x = 20;

F = min_tmp;
while (F <= max_tmp) {
   C = 5 * (F-32) / 9;
   printf("%f\t%f\n", F, C);
   F = F + x;
}

清單 1 中使用的是什麼語言?很顯然是 C 語言 —請等一下,讓我們來看看 完整的程式,如清單 2 所示:

清單 2. Java 程式

class Test {

   public static void main(String argv[]) {
     float F, C;
     float min_tmp, max_tmp, x;

     min_tmp = 0;
     max_tmp = 300;
     x = 20;

     F = min_tmp;
     while (F <= max_tmp) {
      C = 5 * (F-32) / 9;
      printf("%f\t%f\n", F, C);
      F = F + x;
     }
   }

   private static void printf(String format, Object...  args) {
     System.out.printf(format, args);
   }

}

無論您是否相信,清單 1 和清單 2 都是使用 Java 語言編寫的。它們只是 以 C 語言方言(老實說,清單 1 也確實可以是 C 代碼)編寫的 Java 代碼。 這裡的幾個習語標誌著:編寫這段代碼的人是以 C 語言思考的,只是單純地將 其翻譯為 Java 語言:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.