強(qiáng)類型:不允許不同類型相加
動(dòng)態(tài):不使用顯示數(shù)據(jù)類型聲明,且確定一個(gè)變量的類型是在第一次給它賦值的時(shí)候
腳本語言:一般也是解釋型語言,運(yùn)行代碼只需要一個(gè)解釋器,不需要編譯
1.強(qiáng)類型語言:使之強(qiáng)制數(shù)據(jù)類型定義的語言。沒有強(qiáng)制類型轉(zhuǎn)化前,不允許兩種不同類型的變量相互操作。強(qiáng)類型定義語言是類型安全的語言,如Java、C# 和 python,比如Java中“int i = 0.0;”是無法通過編譯的;
2.弱類型語言:數(shù)據(jù)類型可以被忽略的語言。與強(qiáng)類型語言相反, 一個(gè)變量可以賦不同數(shù)據(jù)類型的值,允許將一塊內(nèi)存看做多種類型,比如直接將整型變量與字符變量相加。C/C++、PHP都是弱類型語言,比如C++中“int i = 0.0;”是可以編譯運(yùn)行的
靜態(tài)和動(dòng)態(tài)是針對(duì)變量的數(shù)據(jù)類型而言的,區(qū)別如下:
1、使用靜態(tài)類型語言編寫的代碼中,要聲明變量的數(shù)據(jù)類型,而且不同數(shù)據(jù)類型的變量不允許直接賦值,它的數(shù)據(jù)類型是編譯期間進(jìn)行檢查的。
2、靜態(tài)類型語言在使用變量之前,需要為它們分配好內(nèi)存。
3、靜態(tài)類型語言功能強(qiáng)大,但相對(duì)難以學(xué)習(xí),并且靈活性差。
4、動(dòng)態(tài)類型語言與靜態(tài)語言剛好相反,它只在程序運(yùn)行期間才去進(jìn)行數(shù)據(jù)類型檢查,不需要給變量指定數(shù)據(jù)類型,它會(huì)在第一次同仁給變量時(shí),在內(nèi)部記錄數(shù)據(jù)類型。
5、動(dòng)態(tài)類型語言雖然快速靈活,但在代碼運(yùn)行前很難找到bug,所以提升了開發(fā)速度,但失去程序的健壯性。
1)靜態(tài)類型語言:c、c++、c#、object-c、Java等
2)動(dòng)態(tài)類型語言:Python、ruby、PHP、JavaScript、erlang等
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com