java 基礎知識1

java對大小寫敏感

java中的關鍵字

abstract(抽象的) continue(繼續) for(當„的時候) new(新建)switch(轉換)

assert(斷言) default(默認) if(如果) package(打包) synchronized(同步)

boolean(布爾) do(做)goto(跳轉到)private(私有的)this(這個)

break(中斷) double(雙精度) implements(實現)protected(受保護的)throw(拋出,動詞)

byte(字節) else(否則) import(引入) public(公共的) throws(拋出,介詞)

case(情形) enum(枚舉) instanceof(是„的實例)return(返回)transient(瞬時的)

catch(捕獲) extends(繼承) int(整數) short(短整數)try(嘗試)

char(字符) final(最終的) interface(接口) static(靜態的) void(空的)

class(類) finally(最終地) long(長整數) strictfp(精確浮點) volatile(易變的)

const(常量) float(單精度浮點) native(本地的) super(超級的) while(當„的時候)

java類名命名規範

類名要有意義,一般是一個或多個英文單詞(儘量避免使用漢語拼音);類名以大寫字母來開頭,如果名字由多個單詞組成,每個單詞的第一個字母都應該大寫(這種書寫方式稱爲CamelCase,駱駝命名法)。

源文件文件名必須與文件中定義的public 類相同並用.java作爲擴展名。(可以把多個類放入一個文件,只能有一個public類,內部類public有其他意義,多個類編譯產生多個.class文件。有內部類文件名爲xxxx$xxx.class)

System是java的一個內置類,out是這個類的一個屬性。System.out對象調用println方法。

java程序方法定義的規範

方法名以小寫字母開頭,如果方法名需要多個單詞組成,那麼除第一個單詞外,後面每個單詞第一個字母都使用大寫

一個完整的java程序運行過程



從圖中可以看出,一個完整的java程序運行過程包括一次編譯、一次解釋兩個階段。在編譯時,java軟件源文件從編寫他們所用的文本格式轉換成字節碼存儲在。class中,在運行時,組成java軟件程序的字節碼被加載、檢查,然後在解釋器運行。解釋器有兩個功能,執行字節碼以及正確調用底層硬件。

java三種註釋


  • 單行註釋      最常用註釋,註釋內容從//到該行結束
  • 多行註釋/*

        *

       */也可以寫在一行裏嵌套在代碼中。例如:

System.out.println("你好"/* 這裏是註釋*/);


  • 文檔註釋。以/**開始,*/結束,使用javadoc命令可以自動生成相應java源碼的API說明文檔



文檔註釋的常用標籤

標籤

含義

適用範圍

舉例

@author

作者

文件,類,方法                                    

@author NZs                                         

@param                     

輸入參數說明                      

方法

@param str 用於存放XXX信息                                                                      

@return

輸出參數說明

方法

@return true 執行成功

@since    

標記編譯該文件所需要的jdk環境版本                                                                       

方法,類

@since jdk1.6

@version

版本號

文件,類,方法

@version 1.0

@throws

方法可能拋出的異常

方法

@throws IOException 

@deprecad

解釋標記對象過期

文件類方法

@link                

l連接一個地址


字符在程序內部可以參與運算,其實運算的是這個字符的編碼,字符集規律是很多字符變換邏輯實現的基礎。字符的顯示通過專門的字符顯示碼實現

網絡編程的本質是兩個設備間的數據交換,現在的網絡編程基本上都是基於請求/響應方式的。

數據傳輸方式:tcp udp

Tcp:是一種穩定可靠的傳輸方式,只需要建立一次連接就可以多次傳輸數據。優點是穩定可靠,缺點是建立連接和維持連接的代價高傳輸速度不快

Udp:不可靠的傳輸方式,數據有可能收不到,系統只保證盡力發送

優點是開銷小傳輸速度快,缺點是數據有可能丟失

協議(protocol)是網絡編程中一個非常重要的概念,指的是傳輸數據的格式

一般程序的協議都分爲客戶端發送的數據格式,以及服務器端反饋的數據格式,客戶端和服務器端都遵循該格式生成或處理數據,實現兩者間的複雜數據交換。

程序分爲解釋程序和編譯程序

解釋程序就是運行環境一句句讀取源代碼,然後執行編譯程序,是將源代碼一次翻譯成計算機操作系統可以直接執行的機器指令的文件。

Java是一種半編譯半解釋的語言

標識符,

也就是標識的符號,指程序中一切自己指定的名稱例如:變量名,常量名、數組名、方法名、參數名、類名、接口名、對象名等

其實程序中除了一些分割符號。如空格、括號、和標點符號外只有三類名稱

1.      關鍵字

2.      系統功能名稱

如System.out.println中的System、out、和println

3.      標識符

標識符的命名規則

1.      不能是關鍵字

2.      只能以字母,下劃線和美元符號開頭

需要特別注意的是標識符不能以數字開頭

3.     不能包含特殊字符,例如空格括號和標點符號等等

通常情況下,標識符一般全部是字母,或者使用字母和數字的組合

Java基本數據類型八種四類

整數型:byte(字節型)、short(短整型)、int(整型)、long(長整型)

小數型:float(單精度浮點型)、double(雙精度浮點型)

字符型:char

布爾型:boolean

整數型參數表

類型名稱

關鍵字

佔用空間

取值範圍

默認值

字節型

Byte

1Byte,8bit

-2^7----2^7-1(-128---127)

0

短整型

Short

2Byte  16bit

-2^15----2^15-1(-32768---32767)

0

整型

Int

4Byte   32bit

-2^31----2^31-1

0

長整型

Long

8Byte   64bit

-2^63----2^63-1

0

說明:

1.      java中都是有符號數,也就是有正有負

2.      默認值指在特定的情況下才自動初始化,

3.      程序中整數數值默認是int及int以下的類型,若要寫long型,需在數值後面添加字幕L大小寫均可

4.      程序默認十進制,八進制以數字符號0開頭,如016十六進制以數字符號0和字幕x開頭,如0x12

小數型參數表

類型名

關鍵字

佔用空間(字節)

取值範圍

有效數字

默認值

單精度浮點型

Float

4

-3.4E+38---3.4E+38

6---7

0.0f

雙精度浮點型

Double

8

-1.7E+308---1.7E+308

15

0.0


說明:

1.      取值範圍以科學計數法形式描述

2.      在程序中小數的你運算速度要低於整數運算

3.      Float類型的小數,要在其後加字母f

字符型

Java使用Unicode字符集作爲默認的字符集,該字符集包含各種語言中常見的字符

數據類型

關鍵字

佔用空間(字節)

取值範圍

默認值

字符型

Char

2

0-216-1

0


說明:

1.      字符型的編號不包含負數

2.      字符型由於存儲的是編號的數值,所以可以參與數學運算

3.      可以作爲java語言的無符號整數使用

4.      字符型的默認值是編號爲0的字符,而不是字符0

布爾型參數表

類型名稱

關鍵字

佔用空間

取值範圍

默認值

布爾型

Boolean

 

True false

False


布爾型佔用的空間取決於java虛擬機(JVM)的實現,可以是1位也可能是1個字節

常量在程序運行中的兩個作用

1.      代表常數,便於程序的修改

2.      增強程序的可讀性

常量的語法格式:

Final 數據類型 常量名稱 = 值  (常量名要大寫)

常量,變量的作用範圍:

從變量聲明的位置開始,一直到變量生命所在的語句塊結束的大括號爲止

數據類型轉換:

Java強類型語言,有以下要求:

1.  變量名或常量必須有類型

2.  賦值時類型必須一致

3.  運算時類型必須一致

自動類型轉換

由存儲範圍小的類型到存儲範圍大的類型

Byte--->short(char)---->int--->long--->float---->double

注:在整數之間進行類型轉換時數值不發生改變,而將整數類型,特別是比較大的整數類型轉換成小數類型時,由於存儲方式不同,有可能存在數據精度的損失

強制類型轉換:(會造成精度損失)

(轉換到的類型)需要轉換的值

 

在算數運算符部分,需要注意“晉升”現象,指低於int的3種數字類型(byte,short,char)進行算數運算後,結果會自動晉升爲int類型

 

移位運算符

<<帶符號左移 >>帶符號右移>>>無符號右移

在移位運算時,byte,short和char移位後結果變成int類型,

對於byte,short,char,和int進行位移時,規定實際移動的次數是移動次數和32的餘數

移動long型數值時,實際移動次數是移動次數和64的餘數

<<帶符號左移

左移n位相當於乘以2的n次方

>>帶符號右移

右移一位相當於除於2,右移n

遞增和遞減運算符 ++  --

int n = 1;
int m =1;
n++; //n的值變爲2
++m//m的值變爲2
Int k = n++;//n的初始值是2,則n++的值是2,結果n的值爲3.k的值爲2
Int j =++m;//m的初始值爲2,則++m的值爲3,,結果m值爲3,j爲3;


條件運算符(三目運算符)

條件式?值1:值2

流程控制

流程控制在程序語言實現時,通過三類控制語句進行實現

1.      順序語句

2.      條件語句

3.      循環語句

switch 在條件語句中特別適合做一組變量相等的判斷

switch(表達式){

          case值1:

                   功能代碼 1;

                   [break]

         Case值 2;

                   功能代碼2

                   [break;]

         Default:

功能代碼1;

                   [break;]

}

1.      表達式類型只能爲byte,short,char,int,枚舉類型,String(jdk1.7之後)

2.      Case 後的值只能爲常數或常量,不能爲變量

3.      功能代碼部分可以寫任意多句

4.      Break 關鍵字的意思是中斷,指結束switch語句,break語句爲可選

5.      Case語句可以有任意多句,是標號語句

6.      Default語句可以寫在switch語句的任意位置,功能類似if語句中的else

注:如果case分支語句末尾沒有break,就會執行完當前case後直接執行下一個case分支

 

Break和continue

Break中斷本層循環,break+ 標籤跳出外層循環

Continue 只能使用在循環語句內部,功能是跳過該次循環繼續執行下一次循環結構

變量在棧內存,對象在堆內存

^ 按位異或(相同爲0不同爲1) ~按位取反

System.out.println(true^true);//flase
System.out.println(true^false);//true

轉義符

//System.out.println(“\\”); 錯誤
		//System.out.println(“'\\'”);錯誤
		//System.out.println('\\');/*正確 輸出\;*/
		//System.out.println('\\\');錯誤
		//System.out.println('\\\\'); 錯誤
		//System.out.println('\\'+'\\'); 正確,輸出184(長度小於int型,運算結果都會轉變成int型)
		//System.out.println('\\'+""+'\\'+""); 正確,輸出\\

轉義符

\b     backspace  \u0008

\t     製表符                  \u0009

\n     換行符                 \u000a

\r                回車                   \u000d

\”               半角雙引號           \u0022

\’                半角單引號             \u0027

\\                反斜槓                       \u005c

增強for循環

for (String s : r) {//遍歷r數組
			System.out.println(s);
		}

Java 獲得字符的Unicode碼

1. char—>int—>16進制(Integer.toHexString((int)'a'))

2.      bin\native2ascii.exe

3.      getBytes;

 

 

 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章