1.注意"=" "==" "!="還能操作各種引用型別。而"+"除了可以操作包含boolean型別以外的基本資料型別外,還可以操作string型別。
2.多數操作符都是從左到右運算的,但是賦值操作是從右到左。
3.整型操作符在計算表示式時,若乙個操作元是long,那麼結果也是long,否則不管操作元是byte還是short、char,運算結果都是int。
4.算術右移位操作符》
符號位是0的左端就補零(正數),否則補一。a>>b等價於(a/2)^(b%32).
5.邏輯右移位操作符》
左端都是加0.
6.左移操作符<<
右端加0.
7.短路操作符
&&和||都是短路操作符,而&和|是非短路操作符。也就是說前者只需能根據操作符左邊的表示式推出整個表示式的布林值,而後者只能全部計算出來。
8.!為一元操作符,只能用於boolean表示式。
9.使用+時,若乙個操作元是string,而另乙個操作元是引用型別,則呼叫引用物件的tostring()方法獲得字串。
10.兩邊都是引用型別時,==只在兩個引用型別引用的是同乙個物件時結果為true。只有具有同種型別或有繼承關係時才可以比較,否則編譯出錯。
11.instanceof操作符
obj instanceof classname/inte***ce,當左邊為右邊的類、直接或間接父類、直接或間接實現的介面時返回為true。
兩邊的操作元必須是同種類或有繼承關係的。陣列型別也可以使用instanceof進行比較。
12.型別強制轉換
從低位型別到高位型別會進行自動轉換,而從高位型別到低位型別需要進行強制型別的轉換。從double、float、long、int型別一直檢測,若最終沒有轉換為上述任何一種資料型別,則統一轉化為int。例如:
short a=1,b=1;
short c = a + b;//出錯,此時a+b的結果已經轉化為了int,可以將c變為int,或強制轉化為short。
又如:int x=6;
double d=7.1;
system.out.println((x>d)?99.9:9);//輸出9.0,因為9已經被轉化為了double。
直接數在變數所屬型別的取值範圍之內,就允許自動轉換,但是對於變數給變數賦值則需要在適時的時候強制轉換型別。
引用型別的變數之間賦值時,子類給直接或間接父類賦值,會自動進行型別轉換,父類給直接或間接子類賦值,需要強行轉換型別。
java物件導向學習筆記
1.類和物件 類可以看成是一類物件的模板,物件可以看成是該類的乙個具體例項.2.類 物件 之間的關係 聚合,繼承,實現,多型.3.記憶體區分 類是靜態概念,區 物件是new出來的,位於堆記憶體 4.構造方法 函式 1 與類同名且沒有返回值 2 用來初始化物件的函式 3 new 構造方法,建立乙個新的...
JAVA學習筆記 物件導向
寫類要重寫equals和hashcode,在類當作map中的key 鍵 時,一定要重寫hashcode,map中的鍵需要使用equals方法,該方法中呼叫了hashcode判斷是否相同。類中成員變數未手動初始化,虛擬機會自動進行初始化。而區域性變數不能自動初始化,提示該變數未初始化。public c...
學習筆記 物件導向程式設計
學習日期 2016年9月26日 2016年9月27日 學習課程 物件導向程式設計 廖雪峰的官方 物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。在python中,所有資料型別...