(一),Java基本類型及運算
注釋:可以用於生成API;
命令如:javadoc -d apidoc windowtitle hhh -doctitle aaa -header bbbb -version -author *HelloWorld.java
注意點:
1,標識符只能是字母,數字,下划線和$,其中數字不能作為開頭
2,基本類型:1個字節對應於計算機的8位二進制,計算機以補碼的形式存取整數,即正數的補碼為其本身,而負數的補碼為其反碼(處最高位,其余位取反)然后加一
3,類型裝換:小類型裝換為大類型是隱式裝換如:float a=1,(非安全的),而像String 類型裝換(顯示轉換:安全的)和大類型轉小類型(需要強轉)
4,字符運算:如:("a"+7+"he")和(‘a’+7+"he")是不一樣的后者為104he 因為byte,short,char與整數相加都取取值范圍最大的(即int)
5, 字符的存儲的位置是常量池,如String s="a" String s2="a" s==s2(因為s和s2都指向存儲"a"這個常量池的位置)
6, 移位運算:對於負數是以補碼存在計算機中的,所以移位計算在其補碼上進行,再返回其十進制的數值如-5<<2=-20(左移相當與乘以pow(2,移動位數),帶符號右移相當於除運算(向下(小)取結果如值位於[-2,-1],結果為-2,值位於[1,2]結果為1)
7,邏輯運算:短路與&&,或|| 非短路與&,非短路或| 運算符的優先級:從上往下遞減
注意點:
java里面沒有無符號的數據類型,8位的byte取值為—2^7到2^7
精度:
float:4字節,32位,分為符號數(1),指數位數(8:max:256),小數位數(23:最大6位小數)float=3.111111e38
double:8字節,64位,分為符號數(1),指數位數(12:max:4048),小數位數(51:最大15位小數)
區別在於精度的位數,和取值的大小,建議double
聲明float f=0.2f; long num=32L;
對比浮點數時,不能用相等,而用差值小於某個閾值才結束。
數字類:5默認為int,5.23默認為double
(二)控制結構及數組
1,使用if else if() 一定要先處理范圍小的 if{} ....和if{} ...else if{}...else{} 有區別的:前者是每個都會判斷,后者只執行一個判斷語句
2, switch(expression) {case 代碼片:break;...default:}其中expression可以是byte,short,int,long,char,String和枚舉(enum)類型
3,break:結束一層循環 continue:結束一次循環 return:結束方法(不管有幾層循環)
數組
1,數組聲明兩種方式: type arrayName[] ; type[] arrayName;(推薦)定義數組時不能聲明數組長度
2,數組初始化:arryName=new type[]{element1,...}; 或arrayName=new type[num];
3,內存分布:數組引用(數組名)存在棧內存中,而數組對象存在堆內存中 通過數組引用來訪問數組對象中的數據。(二維數組也是如此)