前言

我是今年 4 月入社、工作第 1 年的新鮮人:bust_in_silhouette:
這次想聚焦在研修中學到的語言裡的 Python 和 Java,介紹它們在結構與程式碼上的差異。

目次

1. 契機
2. 執行環境
3. 程式碼比較
3-1 計算式
3-2 是否有基本結構
3-3 變數宣告
3-4 輸出處理
4. 總結
5. 參考文獻

1. 契機

雖然我從學生時代起就接觸過 Python 和 Java 這兩種語言,但在研修中再次實際使用這兩種語言時,深刻感受到它們在撰寫方式與程式結構等方面有許多差異。

因此,我想將自己印象特別深刻的差異整理出來,做一個屬於自己的總結。

2. 執行環境

這次在執行程式時,Python 使用的是 Google Colaboratory。這是一個可以在瀏覽器上執行 Python 的雲端服務,只要有 Google 帳號,任何人都能使用。

另外,它也能與 Google Drive 整合,因此檔案儲存與分享都很方便。
實際上,研修時也有使用 Google Colaboratory。

Java 的執行環境則使用了 Visual Studio Code
要在 Visual Studio Code 中使用 Java,必須事先完成開發環境的準備,例如安裝稱為 JDK 的開發工具包,以及加入擴充功能等;不過因為我以前就有在使用,所以就直接沿用了。

優點
以這次的情況來說,只要在 Visual Studio Code 中安裝 Python 本體並加入 Python 用的擴充功能,就能在同一個環境中使用這兩種語言。

3. 程式碼比較

Python 和 Java 有各式各樣的差異,這次我會聚焦在進行「變數宣告」與「四則運算」時的寫法,介紹幾個具有代表性的不同點。

3-1. 計算式

Python 的情況

計算範例

# 準備兩個數字
a = 20
b = 10

# 做加法並顯示
print("加法->", a + b)

# 做減法並顯示
print("減法->", a - b)

# 做乘法並顯示
print("乘法->", a * b)

# 做除法並顯示
print("除法->", a / b)

執行結果

加法 -> 30
減法 -> 10
乘法 -> 200
除法 -> 2

Java 的情況

計算範例 Main.java

public class Main {

    public static void main(String[] args) {

        // 準備兩個數字
        int a = 20;
        int b = 10;

        // 做加法並顯示
        System.out.println("加法->" + (a + b));

        // 做減法並顯示
        System.out.println("減法->" + (a - b));

        // 做乘法並顯示
        System.out.println("乘法->" + (a * b));

        // 做除法並顯示
        System.out.println("除法->" + (a / b));
    }
}

執行結果

加法 -> 30
減法 -> 10
乘法 -> 200
除法 -> 2

3-2. 是否有基本結構

在執行程式時,Python 只要直接撰寫程式碼就可以執行;但 Java 則需要撰寫 classmain 方法。

另外,Java 的原始碼中有以大括號 {} 包住的部分。這個被大括號包住的部分稱為區塊

結構

public class Main {
    public static void main(String[] args) {
    // 在內側部分撰寫程式碼
    }
}

由於區塊形成了雙層結構,因此會依照你是在哪個區塊中撰寫而影響執行結果。
這次會將程式碼撰寫在第 2 行 main 方法的內側部分。

3-3 變數宣告

Python 會自動判斷變數型別,因此不需要定義資料型別。相對地,Java 在使用變數時必須明確指定資料型別。
這次因為要處理數值,所以會使用整數型別的 int

此外,Java 會在每個處理結束時加上表示語句結尾的符號 ;(分號)。

變數宣告

    a = 20  # 如果是字串,則寫成 a = '20'
    b = 10  # 數字 → 字串時,則寫成 str(10)

變數宣告

    int a = 20;  
    int b = 10;

重點
在 Python 中,如果想一開始就把數字以字串表示,使用 ''(單引號);如果想在途中轉換成字串,則寫成 str()

3-4 輸出處理

Python 的輸出處理使用 print()
在括號中寫入想要輸出的內容即可輸出。

print()

  print("加法->", a + b)
  print("減法->", a - b)

Java 的輸出處理使用 System.out.println();
在括號中寫入想要輸出的內容即可輸出。

System.out.println()

  System.out.println("加法->" + (a + b));
  System.out.println("減法->" + (a - b));

執行結果 println()

  加法 -> 30 
  減法 -> 10

另外,如果輸入 System.out.print();,則可以在不換行的情況下輸出文字。

System.out.print()

  System.out.print("加法->" + (a + b));
  System.out.print("減法->" + (a - b));

執行結果 print()

  加法 -> 30 減法 -> 10

4. 總結

這次說明了以下 3 點。

  • 是否有基本結構
    • Java:main 方法
    • Java:慣例上必須要有的區塊結構
  • 變數宣告
    • Java:整數型別的 int
  • 輸出處理
    • Python:print()
    • Java:System.out.println();
    • Java:System.out.print();

整理之後,重新感受到各自語言的優點。
就我個人而言,我覺得 Python 比 Java 更簡潔、程式碼量也更少,因此更容易使用。

除了這次舉的例子之外,像執行速度或寫法等方面還有很多差異,若你感到好奇或有興趣,歡迎去查查看。

5. 參考文獻

本文撰寫時參考了以下資訊。

中山清喬, 國本大悟, 《輕鬆看懂 Java 入門 第 3 版》
中山清喬, 國本大悟, 《輕鬆看懂 Python 入門》


原文出處:https://qiita.com/karusifa2/items/75b8ff55095604bd48b5


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝20   💬11   ❤️1
603
🥈
alicec
📝1   ❤️2
84
🥉
我愛JS
💬1  
4
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登