Java知識點總結

來源:互聯網
上載者:User

1.java是一種編譯解釋型的語言。

2.java的記憶體回收機制:
java的記憶體回收將在程式運行過程中自動進行,無需程式員負責回收無用記憶體。

3.java環境變數配置:
在我的電腦>屬性>進階>環境變數裡的 path 中加入C:/Program Files/Java/jdk1.6.0/bin的路徑(註:放在所有路徑的最前面)。

4.java類的程式入口方法:
 public static void main(String[] args){
 } 

5.public類名必須跟java檔案同名,且一個java檔案中只能包括一個public類。

6.java注釋:
// 單行注釋
/*  */ 多行注釋(不能嵌套)
//*  */ 文檔說明注釋

7.合法標識符:
可以以字母、底線"_"和"$"符開頭,跟字母、底線"_"和"$"或數字組成。不能和java語言的關鍵字重名。

8.關鍵字
java中一些賦予特定的含義,並用作專門用途的單詞稱為關鍵字。都是小寫。

9.java資料類型分為簡單類型和參考型別。
簡單類型分:數值型(整數類型和浮點類型)、字元型、布爾型。
參考型別分:類、介面、數組,枚舉。

資料類型 有效範圍(bits)
boolean  1
byte  8
int  32
float  32
char  16
short  16
long  64
double  64

10.布爾類型 boolean b = true;boolean b = false;

11.分支語句(if語句)
格式:
 if(true){

 }else{

 }
或者
 if(boolean b){
 
 }else if(boolean b){
 
 }else{
 
 }

12.整數類型
類型   佔用儲存空間 表數範圍
byte 1位元組  -128~127
short 2位元組  -32768~32767
int 4位元組  -2147483648~2147483647(-2^31~2^31-1)
long 8位元組  -2^63~2^63-1

13.字元型(佔2位元組),採用Unicode編碼。
格式 : char c = 'a'; char c = 98; char c = '中';
註:用單引號。一個中文可以用一個char表示。特殊字元前加"/"。

14.浮點類型
類型 佔用儲存空間 表數範圍
float 4位元組  -3.403E38~3.403E38
double 8位元組  -1.798E308~1.798E308

格式:double d = 12 ; float f = 12.5f ;

15.各整數資料型別的轉換
簡單類型除了boolean類型外,其他的資料類型可以自動轉換成其他資料類型。
但需遵循一下原則:
byte——>short——>int——>long--->float——>double
char——>int
 int------------>float
 long------------->double

16.運算子
注意優先順序,多用括弧。
int x=4/5*5;
x=0而不等於4;

17.關係和布林運算子
關係運算子:== (等於)、!= (不等於)、>(大於) 、<(小於) 、>=(大於等於) 、<=(小於等於)
邏輯運算子:!(邏輯非) 、&(邏輯與) 、|(邏輯或) 、^(邏輯異或) 、&&(短路與) 、||(短路或)

18.三目條件運算子
文法格式:x?y:z
先計算x的值,若為true,則結果為y,否則結果為z。

19.位元運算符
~(取反)
&(按位與)
|(按位或)
^(按位異或)

~01001111 = 10110000
11001011 & 01101101 = 01001001
11001011 | 01101101 = 11101111
11001011 ^ 01101101 = 10100110

20.移位元運算符
>> :右移運算子,將左運算元向右移動,移位個數由右運算元決定(右移一位相當與除2)。
<< :左移運算子,將左運算元向左移動,移位個數由右運算元決定(左移一位相當與乘2)。
>>> :無符號右移位元運算符。

4 = 0100; 4 >> 1 = 0010;
4 >> 1 = 2; 12 >> 2 = 3; 5 >> 1 = 2; -4 >> 1 = -2;
4 << 1 = 8; 4 << 2 = 16; -3 << 1 = -6;
8 >>> 1 = 4; -4 >>> 1 = 2147473646;

21.賦值運算子
最常用的賦值運算子:“=”
擴充賦值運算子:“+= 、-= 、*= 、/= 、%= 、^= 、&= 、|= 、>>= 、<<= 、>>>=”

int i = 5;
i += 5; 即 i = i+5;
i -= 2; 即 i = i-2;
(其他同理)

double d1 = 5.0;
float f1 = (float)d1;
byte b1 = (byte)350; 結果:b1=94;
(從大到小,需要強制轉型。強制轉型時可能遺失資料)

22.字串串連符“+”
當“+”用在運算式中的時候,如果其中一個運算元是String類型,則Java自動將另一個運算元也轉換成String類型,然後串連成一個新的字串。
int b1 = 2;
int b2 = 3;
String s1 = "s" + b1 + b2;
s1 = s23; 而不是s5; 如果想得到s5,則可以用"s" + (b1 + b2)
String s2 = b1 + b2 + "s";
s2 = 5s; 如果想得到23s,則可以用 "" + b1 + b2 + "s" 在前面加一個Null 字元串

23.運算式
運算式是運算子和運算元的結合(一個變數、一個數也是運算式)。

-運算式中運算子的結合性
在Java中,大部分運算是從左至右結合的,只有單目、賦值、條件運算子例外。

-運算式中運算子的優先順序
(最高)分隔字元:  . [] () , ;
(第2)單目運算子:  + 、- 、~ 、! 、++ 、-- 
(第3)建立或類型轉換:  New(type)expr
(4)乘除法: * 、/ 、%
(5)加減法: + 、-
(6)移位: << 、>> 、>>>
(7)關係: < 、<= 、>= 、>
(8)等價: == 、!=
(9)按位與:  &
(10)按位異或: ^
(11)按位或:  |
(12)條件與: &&
(13)條件或: ||
(14)條件:  ?:
(15)賦值:  =
注意:平時用時不能依賴優先順序的高低,需要先運算的一律用"()"括弧括起來。

24.分支語句
if-else 語句
switch 語句

switch語句格式:
switch(expr1){
 case constant1:
  statements;
  break;
 case constant2:
  statements;
  break;
 ......
 default:
  statements;
  break;
}

註:switch(expr1)中的expr1和case constatnt1:中的constatnt1,只能是int類型或能轉換成int類型的。如:char short byte
   
25.迴圈語句
-for
-do/while
-while

while語句格式:
int i=0
while(i<10){
  System.out.println("i=" + i);
  i++;
}

註:while(b)中的b必須是boolean類型的,即true或者false。

for語句格式:
for(int i=0; i<10; i++){
    System.out.println("for迴圈~i="+i); 
}
註:i的生命週期,在for迴圈裡面。

do/while語句格式:
int i=0
do{
  System.out.println("i=" + i);
  i++;
}while(i<10);
註:while語句和do/while語句的區別是先判斷還是先做。當一開始條件就不滿足的情況下,do/while語句會執行一次迴圈體中的代碼,而while語句不會執行。

-break/continue語句
break語句是完全跳出迴圈。
迴圈中有break時,只跳出離它最近的迴圈。
for(int i=1; i<100; i++){
 if(i==50){
   break;
 }
}
上面的迴圈,當i==50時,迴圈就結束了。

continue語句用來略過迴圈中剩下的語句,開始下一個迴圈。
int sum = 0;
for(int i=1; i<100; i++){
 if((i%2)==0){
  continue;
 }
 sum +=i;
}
上面的迴圈,當i是偶數時,跳出本次迴圈。即sum+=i不會執行,直接進行下一次迴圈。

26.靜態方法調用

public class TestStaticMethod{

 public static void main(String[] args){
    
   System.out.println("========");

   hello(); //直接調用

   TestStaticMethod.hello(); //用類名+點+方法名的方法來調用
   System.out.println("========");
   
   int x = 5;
   
   TestStaticMethod.printHello(x); //帶參數方法的調用,調用時必須給出一個和參數相同類型的值。
   
   int z = 10;
   
   int result = TestStaticMethod.multy(z); //帶參數,有傳回值的方法調用。如要得到傳回值時,需定義一個同類型的變數來接收方法的傳回值。
   
   System.out.println(result);
  
 }
 
 //無傳回值,無參數方法 
 public static void hello(){
  
  System.out.println("hello....");
 }
 
 //無傳回值,有參數的方法 
 public static void printHello(int n){
  
  for(int i = 0; i < n; i++){
   
   System.out.println("hello..." + i); 
  }
  
 }
 
 //有傳回值,有參數的方法。需返回一個同類型的值。 
 public static int multy(int y){
  
  int r = y * 2;
  return r; 
  
 }

}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.