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版
1
2
3
4
5
|
public class helloworld { / / 這里的helloworld需要與文件名相同 public static void main(string[] args) { system.out.println( "hello,world" ); } } |
目標2:獲取鍵盤輸入,并輸出
python版
1
2
|
name = input ( "請輸入您的名字:" ) print (name) |
java版
1
2
3
4
5
6
7
8
|
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版
1
2
|
import random print (random.randint( 1 , 10 )) |
java版
1
2
3
4
5
6
|
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版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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<integer> lis = new arraylist<>(); for ( int i = 0 ;i< list .length;i + + ){ lis.add( list [i]); } arraylist<integer> newl = quicksort(lis); system.out.println(newl); } public static arraylist<integer> quicksort(arraylist<integer> lis) { if (lis.size() < 2 ) { return lis; } int len = lis.size() / 2 ; int mid = lis.get( len ); lis.remove( len ); arraylist<integer> left = new arraylist<>(); arraylist<integer> right = new arraylist<>(); for ( int i = 0 ;i<lis.size();i + + ){ int a = lis.get(i); if (a> = mid){ right.add(a); } else { left.add(a); } } arraylist<integer> left1 = quicksort(left); arraylist<integer> right1 = quicksort(right); left1.add(mid); for ( int i = 0 ;i<right1.size();i + + ){ left1.add(right1.get(i)); } return left1; } } |
最后總結一下,在java中每使用一個變量都要定義類型,函數定義的時候如果有返回值還要把返回類型也要寫上。python中定義列表很簡潔不需要通過指定個數和內容來定義,java中定義了個數以后是不能變的,如果需要可以變需要通過arraylist<>來定義,類型也需要指定。總體感覺在同樣的思路下,去完成一個代碼,python的確完美勝出,正應了那句話:"life is short,i use python"。
總結
以上所述是小編給大家介紹的python和java的語法對比分析語法簡潔上python的確完美勝出,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!原文鏈接:https://www.cnblogs.com/spiderc/archive/2019/05/09/10841891.html