天天看點

java和php基礎部分相同或異同程式設計範式:執行入口方法基本元素資料類型變量數組運算符控制語句類方法包(命名空間)包 引用接口和抽象類異常處理泛型

拿着java參考書,一章一章的走過

目前先整理這麼多

風.fox

java:純面向對象的語言,有人說過:java中一切皆對象!當然咯,人們都忘了java的八種基本資料類型:int、double、boolean、byte、float、 long、short、char。但是念在每個java每個基本資料類型都有包裝類(int的包裝類是integer)的基礎上,就姑且認為一切是對象吧。

php:即使用可面向對象的方式程式設計,又可使用面向過程的方式。這種兩種程式設計範式結合的語言代表了計算機語言以後的一個發展趨勢,在scala、golang、python中都有展現。

封裝

繼承

多态

java中程式入口是 main方法,沒有則報錯

php中不需要入口方法,随時都可以運作

java

java或php程式

是由空白符,辨別符,字面值,注釋,運算符,分隔符以及關鍵字組合而成

可以是空格,制表符,換行符

java和php 都相同

辨別符用于命名事物,例如類,變量以及方法。

辨別符可以是大寫或者小寫字母,數字,下劃線,美元符号等字元組成的任意字元序列

不能以數字開頭,防止與數值産生混淆

都是大小寫敏感的

php唯一與java不同的是 變量要以$号為開頭,其他都相同

資料類型中介紹

// 或者 /* */ 注釋方式

php和java是相同的

() {} [] ; , . (java)

() {} [] ; , / -> :: (php)

java 和php 從 . 号開始不一樣,

java 中 . 用于将包的名稱與子包以及類的名稱分隔開,也可以用于将變量或方法與引用變量分隔開。

如果在php中,“\”用于将包的名稱與子包以及類的名稱分隔開,“->”用于将變量或方法與引用變量分隔開。

php中 :: 是靜态參數(變量,常量,方法)與引用變量或者類分割開

(我覺得php中,不用 . 分隔符是語言設計中永遠的一個痛)

java和php中的關鍵字部分相同

java是編譯型強類型的語言,變量必須聲明類型

php是解釋型弱類型的語言,變量不必聲明類型

整型

浮點型

字元型

布爾型

整形字面值中可以嵌入一個或多個下劃線(程式編譯時,自動忽略下劃線),友善閱讀。

下劃線隻能用于分割數字,不能位于字面值的開頭和結尾。

字面值中可以嵌入一個或多個下劃線(程式編譯時,自動忽略下劃線),友善閱讀。

java 和php 相同

array 數組

object 對

resource 資源類型

null

callback 回調類型

php是解釋型弱類型的語言,變量不必聲明類型,且$符号作為變量的字首

變量可以是大寫或者小寫字母,數字,下劃線,美元符号等字元組成的任意字元序列

java 和php 區分大小寫,指派,變量的作用範圍,成員變量與局部變量(作用同,使用方法不同)這些方式相同

java 變量聲明不能以數字開頭

有很多保留關鍵字

符号作為變量的字首沒有保留關鍵字(開頭)

php中最強大的就是數組

算術運作符:+、-、*、/、%

指派運作符:+=、-=、*=、/=、%=

自增/自減運作符:++、–

關系運算符:==、>、<、>=、<=、!=

邏輯運作符:&&、||、!、^

類型運算符:instanceof

數組運算符:+、==、===、!=、<>、!==

字元串運算符:+

執行運算符:“

錯誤控制運作符:@

java和php都一樣

可以是數值,字元類型

java 和 php 幾乎相同

for,while,do while

java和php基本使用方法都相同

break

continue

return

java 和php 基本寫法相同

java每個類會生成一個.class檔案

php每個檔案為.php檔案

abstract(同)

final(同)

public(php沒有)

靜态變量修飾符 static(同)

靜态初始化器 static{}(php沒有)

最終常量 final(同) (建議用static代替)

易失變量 volatile(php沒有)

抽象方法 abstract(同)

靜态方法 static (同)

最終方法 final(同)

本地方法 native(php沒有)

多線程同步方法 synchronized(php沒有)

java的public可以修改類,php不可以;其他相同

java的預設是同一包中可見,php預設是任何地方可見

java是使用”.”點号引用屬性與方法,

php是使用”->”引用屬性與方法,沒有點号用法

java的class可以定義為public,此時檔案名要與公共類完全一緻,php中沒有這個功能,如果不包含公共類,則class與php聲明一樣

java有傳回值類型,php必須有關鍵字function

java中的main(string args[])特殊方法,php中沒有

java 中構造函數的名稱和包含他的類的名稱相同,并在文法上和方法類似。因為方法支援重載,所有可以由多個構造函數

php 中方法不支援重載,是以隻能有一種,如果需要更多,可以通過其他方式實作

java和php 中使用方式相同

java的this 表示當對象,一般情況下不必寫

php也使用this表示當對象,這點相同

php使用self表示目前類,java沒有這個關鍵字,也不需要使用表示類

php在調用本類中的靜态變量和方法時,必須使用self關鍵字和::,java中直接使用

java支援方法重載,php不支援

java支援構造函數重載,php不支援

java和php都支援

java 和php中傳回對象 相同

java中叫包

php中叫命名空間

java 中 引用關鍵詞 import

單獨引用:import packagename.classname;

包引用:import packagename.*;

php 中命名空間 引用關鍵詞 use;

單獨引用 use packagename\classfile;

多個引用 use packagename{classfile,classfile2};

php中沒有包引用

java 和php 中 相同,某些寫法不同

java和php 相同

throw 關鍵詞

java和php相同

php中沒有,java中有

如果方法肯能引發自身不進行處理的異常,就必須指明這種行為,以便方法的調用者能夠保衛他們自己以防備上述異常。可以通過在方法聲明中提供throws子語句來完成該任務。

泛型,即“參數化類型”。

java特有,php 沒有

輸出

name : findingsea

age : 24

1.1 : 2.2