Python和Java的語法對比,語法簡潔上python的確完美勝出

Python和Java的語法對比,語法簡潔上python的確完美勝出

Python是一種廣泛使用的解釋型、高級編程、通用型編程語言,由吉多·範羅蘇姆創造,第一版發佈於1991年。可以視之為一種改良(加入一些其他編程語言的優點,如面向對象)的LISP。Python的設計哲學強調代碼的可讀性和簡潔的語法(尤其是使用空格縮進劃分代碼塊,而非使用大括號或者關鍵詞)。相比於C++或Java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程序,該語言都試圖讓程序的結構清晰明瞭。

Java是一種廣泛使用的計算機編程語言,擁有跨平臺、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。Java編程語言的風格十分接近C++語言。繼承了C++語言面向對象技術的核心,捨棄了容易引起錯誤的指針,以引用取代;移除了C++中的運算符重載和多重繼承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型編程、類型安全的枚舉、不定長參數和自動裝/拆箱特性。太陽微系統對Java語言的解釋是:“Java編程語言是個簡單、面向對象、分佈式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言”。

那麼Python和Java在語法上有什麼區別呢,讓我們通過幾個生動的例子來一探究竟。

目標1:輸出hello,world

Python版

print("hello,world")

Java版

public class HelloWorld { //這裡的HelloWorld需要與文件名相同
  public static void main(String[] args) {
    System.out.println("hello,world");
  }
}

目標2:獲取鍵盤輸入,並輸出

Python版

name = input("請輸入您的名字:")
print(name)

Java版

import java.util.Scanner;
public class inputstr {
 public static void main(String[] args) {
 System.out.println("請輸入您的名字:");
 String name = new Scanner(System.in).next();
 System.out.println(name);
 }
}

目標3:輸出1到10的隨機一個數字

Python版

import random
print(random.randint(1,10))

Java版

import java.util.Random;
public class prandom {
 public static void main(String[] args) {
 System.out.println(new Random().nextInt(10)+1)
  }
}

目標4

:指定一個列表或數組,[51, 22, 93, 17, 77, 31, 44, 55, 20],請對其快速排序

Python版

def quicksort(lis):
 if len(lis) < 2:
 return lis
 mid = lis[len(lis)//2]
 lis.remove(mid)
 left, right = [], []
 for li in lis:
 if li >= mid:
 right.append(li)
 else:
 left.append(li)
 return quicksort(left) + [mid] + quicksort(right)
if __name__ == "__main__":
 li = [51, 22, 93, 17, 77, 31, 44, 55, 20]
 newl = quicksort(li)
 print(newl)

Java版

import java.util.ArrayList;
public class quickpractise {
 public static void main(String[] args) {
 int list[] = {51, 22, 93, 17, 77, 31, 44, 55, 20};
 ArrayList lis = new ArrayList<>();
 for (int i=0;i newl = quicksort(lis);
 System.out.println(newl);
 }
 public static ArrayList quicksort(ArrayList lis) {
 if (lis.size() < 2) {
 return lis;
 }
 int len = lis.size()/2;
 int mid = lis.get(len);
 lis.remove(len);
 ArrayList left = new ArrayList<>();
 ArrayList right = new ArrayList<>();
 for (int i=0;i=mid){
 right.add(a);
 }
 else{
 left.add(a);
 }
 }
 ArrayList left1 = quicksort(left);
 ArrayList right1 = quicksort(right);
 left1.add(mid);
 for (int i=0;i

最後總結一下,在Java中每使用一個變量都要定義類型,函數定義的時候如果有返回值還要把返回類型也要寫上。python中定義列表很簡潔不需要通過指定個數和內容來定義,Java中定義了個數以後是不能變的,如果需要可以變需要通過ArrayList<>來定義,類型也需要指定。總體感覺在同樣的思路下,去完成一個代碼,python的確完美勝出,正應了那句話:"Life is short,I use python"。

如果你對Python編程感興趣,那麼記得私信小編“007”領取全套Python資料哦。

Python和Java的語法對比,語法簡潔上python的確完美勝出


分享到:


相關文章: