亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

C、C++、Python、JavaScript、PHP、Java語法對比(糾正篇)

2019-11-06 07:04:38
字體:
來源:轉載
供稿:網友

  這些年來我陸陸續續已經學習了六種編程語言,有些人會說語言學到最后不都差不多嗎?其實可以這樣講,也可以不這樣講。雖然每種語言的表達能力大部分是重合的,只是語法表現形式不一樣,但是由于歷史發展的原因,每種語言形成了自己的支撐環境,所以都有其主要的適用范圍。

       C、C++、Python和java四種是通用編程語言,JavaScript和php算是Web環境的專用編程語言。C語言由于其底層操作特性和歷史的積累,在嵌入式領域是當之無愧的王者;C++是一種支持最廣泛編程范式的復雜語言,這些年來發展不太好,目前在服務器后臺和游戲領域還有其一席之地;Python作為一種靈活的輕便的通用型腳本語言,使用范圍比較廣,從應用軟件到Web開發都有它的身影,由于其解釋語言的特點,比較適合輕量級或原型開發;Javascript語言由于其是瀏覽器內置的腳本語言,是Web前端開發的主流,近年來由于google的V8引擎開源,出現了Node.js之類JavaScript后臺開發框架,把JavaScript的應用領域擴展到了Web后臺;PHP作為一種簡單的Web服務器后臺腳本語言,在全世界范圍內的網站上有最大的使用率;Java由于其跨平臺可移植性,在Web開發領域大放異彩,特別是在企業級Web開發,同時由于Android系統采用Java來開發應用程序,所以也隨著Android的發展而應用越發廣泛。

       理清不同語言間主要語法特性的差異,才能更好的在合適的領域或場景下去應用合適的編程語言,以滿足我們所面對的需求。這六種語言都是從C語言發展而來,所以它們的語法都比較像C語言,下面我就主要語法特性對各個語言做一個對比。

1、常量定義

C:#define TEST 0

C++:#define TEST 0

或者

const test = 0;

Python:test = 0

JavaScript:不支持

PHP:define('test', 1);

Java:final int test = 0;

分析:JavaScript不支持常量,C、C++都用特有的預定義宏,PHP用特殊的define語法,其它的都用定義不變變量的方式。

2、變量定義

C:int test = 0;

C++:int test = 0;

Python:test = 0

JavaScript:val test = 0;

PHP:$test = 0;

Java:int test = 0;

分析:這個最基本的都支持了。

3、函數定義

C:int test(int param){}

C++:int test(int param){}

Python:def test(param):

JavaScript:function test(param){}

PHP:function test($param){}

Java:public class test{

public int test(int param){} }

分析:這個也是最基本的了,只是Java比較特殊,不支持定義類之外的函數。

4、類定義(含繼承)

C:不支持

C++:class test2: public test1{}

Python:class test2(test1):

JavaScript:function test2(){}

test2.PRototype =inherit(test1.prototype){}

PHP:class test2 extend test1{}

Java:class test2 extends test1{}

分析:C由于是傳統面向過程的語言不支持類,其他的都支持了,只是JavaScript的類模型比較特殊,把函數作為類來使用。

5、對象定義

C:不支持

C++:test2 obj = new test2();

Python:obj = test2()

JavaScript:var obj = new test2();

PHP:$obj = new test2();

Java:test2 obj = new test2();

分析:除了C外其它語言都是通過new一個對象。

6、數組定義

C:int a[] = {1, 2, 3};

C++:int a[] = {1, 2, 3};

Python:a = [1, 2, 3]

JavaScript:var a = [1, 2, 3];

PHP:$a = array("1", "2", "3");

Java:int a[] = {1, 2, 3};

分析:數組是語言的基本特性,都支持了,只是PHP通過類似函數調用的語法來完成。

7、條件語句

C:if (test > 0){}

else if (test < 0){}

else{}

C++:if (test > 0){}

else if (test < 0){}

else{}

Python:if test > 0:

elif test < 0:

else:

JavaScript:if (test > 0){}

else if (test < 0){}

else{}

PHP:if ($test > 0){}

elseif ($test < 0){}

else{}

Java:if (test > 0){}

else if (test < 0){}

else{}

分析:這是最基本的語句,都支持了。

8、循環語句

C:for (idx=0; idx<num; idx++){}

C++:for (idx=0; idx<num; idx++){}

Python:for idx in range(1,10):

JavaScript:for (var idx=0; idx<num; idx++){}

PHP:for ($idx=0; $idx<$num; $idx++){}

Java:for (idx=0; idx<num; idx++){}

分析:這個也是基本的語句,都支持了。

9、foreach語句

C:不支持

C++:不支持

Python:for i in a:

或者

for key in d:

d[key]

JavaScript:for(i in a){}

PHP:foreach($a as $i){}

Java:for(int i : a){}

分析:foreach算是循環語句的一個變種,在操作順序容器的時候非常有用,可以看到C和C++不支持,其它的都語言內置支持了。

10、打印語句

C:printf("test: %d", val);

C++:cout<<"test: "<<val<<endl;

Python:print "test: "+val

JavaScript:不支持

PHP:echo "test: $val";

Java:System.out.println("test :"+val);

分析:打印算是語言所運行環境的支持庫功能,除了JavaScript外都支持了,因為JavaScript主要使用來操控DOM樹的,沒有自己的輸出窗口所以也沒必要支持。

11、字符串定義

C:char test[] = {"helloworld"};

C++:String test = "helloworld";

Python:test = "helloworld"

JavaScript:var test = "helloworld";

PHP:$test = "helloworld";

Java:String test = "helloworld";

分析:這個都支持了,其中C++、Java都是用標準庫來現實的。

12、字符串串接

C:test = strcat(test1, test2);

C++:test = test1 + test2;(STL庫)

Python:test = test1 + test2

JavaScript:var test = test1 + test2;

PHP:$test = $test1 .= $test2;

Java:test = test1 + test2;

分析:很有用的功能,除了C是用標準庫函數來實現,其它都是語言內置支持了。

13、字符串分割

C:不支持

C++:test.substr(3, 8);

Python:test[3:8]

JavaScript:test.slice(3, 5);

PHP:substr($test, 3, 5);

Java:test.substring(3, 8);

分析:常用的功能,C不支持,Python是語言內置支持,其他的都依靠庫來完成。

14、字符串正則表達式

C:不支持

C++:不支持

Python:test.replace("test1", "test2")

JavaScript:test.replace(/test1/gi, "test2");

PHP:str_replace($test, "test1", "test2");

Java:test.replaceAll("test1", "test2");

分析:常用的功能,可惜C、C++不支持,其他都有標準庫來支持。

15、內置容器類型

C:數組

C++:數組

順序容器 Vector

關聯容器 Pair MapSet

Python:列表/元組

字典

JavaScript:數組

對象

PHP:數組(含關聯數組)

Java:數組

序列 Collection

映射表 Map

分析:C最簡單只支持數組,其他都支持容器,不過主要還是順序容器和關聯容器兩大類。

16、注釋方式

C:/* */

C++://

Python:#

JavaScript:/* */

//

PHP:/* */

//

#

Java:/* */

//

分析:大概就/**/、//、#三種方式,各自支持情況不一。

17、多線程支持

C:支持

C++:支持

Python:支持

JavaScript:不支持

PHP:不支持

Java:支持

分析:四種通用編程語言都支持了,兩種專用編程語言都不支持。

18、socket支持

C:支持

C++:支持

Python:支持

JavaScript:不支持

PHP:支持

Java:支持

分析:除了JavaScript以外都支持,這也是JavaScript的應用領域限制所決定的。

19、垃圾回收機制

C:不支持

C++:不支持

Python:支持

JavaScript:支持

PHP:支持

Java:支持

分析:這是現代語言的重要機制,C和C++不支持,其他的都支持了。

20、引入其他文件中的函數

C:export int test();

C++:export int test();

Python:from test import *

JavaScript:<script language='javascript' src="test.js"charset="utf-8"></script>

PHP:require_once('test.php');

或者

include_once('test.php');

Java:import java.util.test.*;

分析:都支持,C和C++用export,Python和Java用import,JavaScript依靠HTML腳本,PHP用自己的函數調用。

21、將字符串作為指令執行

C:不支持

C++:不支持

Python:eval("port=5060")

JavaScript:eval("port=5060;");

PHP:eval("port=5060;");

Java:Porcess proc = new ProcessBuilder(“test”).start();

分析:很有用的一個動態語言特性,C和C++都不支持,Java要類庫來支持,其它的語言內置eval關鍵字來支持。

(完)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产一区二区三区在线观看| 欧美精品videossex88| 日韩成人av在线| 欧美激情精品久久久久久蜜臀| 久久影院中文字幕| 欧美伊久线香蕉线新在线| 亚洲国产成人精品女人久久久| 亚洲精品成a人在线观看| 久久免费精品日本久久中文字幕| 欧美在线视频一区| 亚洲女在线观看| 91夜夜揉人人捏人人添红杏| 成年人精品视频| xxxxx成人.com| 欧美日韩电影在线观看| 久久6精品影院| 国产精品视频xxxx| 欧美一级大片视频| 久久人人爽人人爽人人片亚洲| 亚洲欧美中文字幕在线一区| 日本道色综合久久影院| 国产不卡av在线| 欧美日韩成人精品| 欧美精品videossex性护士| 性日韩欧美在线视频| 国产精品三级美女白浆呻吟| 久久久久久国产精品久久| 久久精品99无色码中文字幕| 91久久久亚洲精品| 在线观看日韩欧美| 日韩欧美极品在线观看| 亚洲一区二区三区乱码aⅴ| 高潮白浆女日韩av免费看| 91在线|亚洲| 国产精品成人观看视频国产奇米| 69影院欧美专区视频| 国产精品一区二区电影| 久久97精品久久久久久久不卡| 国内揄拍国内精品少妇国语| 国产欧美在线观看| 国内精品久久久久久久| 亚洲一区二区福利| 久热精品视频在线| 国产97在线观看| 欧美性猛交xxxx黑人猛交| 久久精品成人动漫| 国产精品电影观看| 亚洲肉体裸体xxxx137| www.欧美免费| 国产98色在线| 91久久嫩草影院一区二区| 国产精品偷伦一区二区| 欧美怡春院一区二区三区| 日本精品视频在线| 日韩欧美在线中文字幕| 青草热久免费精品视频| 国语自产在线不卡| 国产精品96久久久久久| 久久久精品免费视频| 午夜精品福利视频| 久久精品美女视频网站| 亚洲天堂免费观看| 国产日韩换脸av一区在线观看| 91嫩草在线视频| 久久99久久久久久久噜噜| 在线性视频日韩欧美| 国产成人a亚洲精品| 日韩视频永久免费观看| 中文字幕不卡在线视频极品| 国产精品成人观看视频国产奇米| 国产亚洲一区二区精品| 日韩福利视频在线观看| 国产日产欧美精品| 在线亚洲午夜片av大片| 欧美孕妇与黑人孕交| 在线观看精品自拍私拍| 久久免费观看视频| 国产精品久久久久aaaa九色| 欧美视频在线观看 亚洲欧| 欧美日韩一区二区在线播放| 国产精品热视频| 91高潮在线观看| 超碰91人人草人人干| 国产精品99导航| 国产午夜一区二区| 久久伊人精品视频| 欧美性视频在线| 最近的2019中文字幕免费一页| 欧美国产视频日韩| 欧美成人午夜激情视频| 97视频在线观看成人| 日韩久久免费视频| 九九热精品视频在线播放| 亚洲аv电影天堂网| 亚洲成人激情视频| 欧美激情免费观看| 亚洲白拍色综合图区| 日韩av中文字幕在线播放| 欧洲成人免费视频| 日韩精品中文字幕视频在线| 成人情趣片在线观看免费| 欧美亚洲国产视频| 色婷婷综合久久久久中文字幕1| 91午夜在线播放| 高清欧美一区二区三区| 久久久视频免费观看| 热99在线视频| 国产+成+人+亚洲欧洲| 亚洲天堂男人的天堂| 亚洲新声在线观看| 茄子视频成人在线| 国产精品网址在线| 欧美电影在线免费观看网站| 亚洲精品一区av在线播放| 日韩免费av片在线观看| 欧美成人免费va影院高清| www.国产一区| 久久国产加勒比精品无码| 国产免费一区视频观看免费| 一区二区亚洲欧洲国产日韩| 精品国偷自产在线视频99| 久久av.com| 亚洲欧美中文日韩在线| 国产精品海角社区在线观看| 久久理论片午夜琪琪电影网| 国产精品日日摸夜夜添夜夜av| 98精品在线视频| 欧美肥婆姓交大片| 精品久久久久国产| 这里只有精品在线播放| 2019中文在线观看| 亚洲欧美日韩天堂一区二区| 九九热最新视频//这里只有精品| 欧美一区二区三区四区在线| 2018日韩中文字幕| 亚洲精品日韩av| 国产日本欧美在线观看| 久久久精品视频成人| 日韩免费观看高清| 久久99精品久久久久久青青91| 欧美一级黑人aaaaaaa做受| 欧美日韩国产二区| 亚洲欧洲日产国产网站| www.日韩.com| 综合136福利视频在线| 在线播放日韩欧美| 亚洲aaaaaa| 97av在线视频免费播放| 亚洲在线视频观看| 久久久久成人精品| 久久人91精品久久久久久不卡| 欧美性猛交xxxx乱大交极品| 久久免费视频网| 亚洲美女精品成人在线视频| 欧美一区二区三区四区在线| 欧美日韩一区二区在线播放| 国产精品露脸av在线| www国产91| 日韩大片在线观看视频| 欧美另类老女人| 国产精品久久久久久久久免费| 国产精品 欧美在线| 38少妇精品导航| 亚洲精品自拍视频|