如鵬網JAVA培訓筆記1(曉偉整理)

JDK(Java Developmet Kit)java

JRE(Java RunTime Environment)的區別:編程

JRE只有運行JAVA程序的環境,沒有開發相關的工具;JDK=JRE+開發相關的工具。瀏覽器

用記事本運行java程序出現的問題:工具

//能夠執行的程序學習

class hello編碼

{spa

public static void main(String[] args)操作系統

{翻譯

System.out.println("Hello World!");指針

}

}

 

//本身編寫的爲何不能執行??

 

 

 

 

class hello 

{

public static void main(String[] args)

{

   System.out.println("如鵬(www.rupeng.com),歡迎你的加入!");

}

}

//以爲應該是在同一個文件加下,兩個類名徹底同樣,因此沒有執行

//我嘗試將類名進行修改

class xiaowei 

{

public static void main(String[] args)

{

   System.out.println("如鵬(www.rupeng.com),歡迎你的加入!");

}

}

  

xiaowei.java(高級語言) -> xiaowei.class(二進制碼)

java是依賴於字節碼文件的

字節碼文件(xiaowei.class)二進制代碼,沒法雙擊運行,須要java指令

Java程序運行必須依賴於Java運行環境(JRE),沒法獨立運行

JRE中的JVM(Java Virtual Machine,Java虛擬機)是運行.class二進制字節碼文件的核心。

爲何不直接生成.exe??

由於JVM負責翻譯實現:一次編譯,處處運行。(和不一樣的系統打交道)    EXE4J把寫好的程序進行打包成.exe文件

C/C++編寫的程序跨平臺運行很難(主要是由於微軟有些封裝的類庫只支持微軟的產品)

使用Eclipse開發java程序

IDE(集成開發環境):java IDE有不少:其中組好的一款是Eclipse免費且開源。

Eclipse只是一個輔助開發的工具而已,Eclipse的運行以及編譯出的程序運行仍是靠java。

Eclipse幫咱們作了什麼?

答:Eclipse的Src存儲了源代碼文件夾,bin存放 .class文件

Eclipse個性化設置:

「窗口」->「首選項」->「常規」(Java樣式)

練習一:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

工做空間(workspace):相關的項目放在一個工做空間中,避免一個空間中項目太多,也不便於管理。

切換工做空間的方法:

退出重啓,若是勾選了「將此值用做初始值而且詢問」,則「文件」->「切換工做空間(switch workspace)」,從「工做空間」列表中選擇(以前打開過的)或者瀏覽器選擇工做空間根目錄(包含 .metadata)

如何導入別人的項目到工做空間:

「包資源管理器(Package Explorer)」-> 「導入(Import)」->「常規(General)」—>「現有項目到工做空間中(Existing Project Directory)」->「瀏覽」->「選擇項目的根目錄(包含.project文件)」或者WorkSpace,選擇導入的項目便可。

註釋

1.被註釋的代碼編譯器忽略。

註釋的做用:說明代碼的做用;在程序中加入適當的註釋;屏蔽無用的代碼。

2.使用「//」註釋一行代碼,//以後的代碼編譯器會忽略

3./*  */註釋多行代碼

4.註釋不能太多,也不能夠一點也不進行註釋。

5.多行註釋(/* */)不能進行嵌套

 

 

 

 

 

 

 

 

 

 

 

註釋的應用:

 

 

 

 

 

 

 

 

 

 

 

 

關鍵字:

1.Java定義了一些關鍵字(public、static、void、int),這些關鍵字是構成java基本語法用的,這些關鍵字不必去背,一邊學習,一邊就掌握了。這些關鍵字在Eclipse環境下顏色爲紫色。

2.像C中的goto、const在java中沒有意義,可是仍是保留的,變量、類的名字也不能用這兩個,他們也被稱爲「保留字」。

3.而main、String、System等這些都不是關鍵字。

標識符:

1.標示符是用來給類、方法、變量等命名用的‘

2.命名規則:

1)由字母(含大、小寫)、中文(不推薦)、數字、下劃線、$組成;

2)不能以數字開頭;

3)不能是關鍵字

4.java語言是大小寫敏感的:name和Name是兩個不同的變量。

5.駝峯命名法:每一個單詞的第一個字母大寫

 

 

 

6.標示符要有意義:標示符的命名規範,不是強制規定,而是「潛規則」

類名:大寫開頭;

變量名、方法名:小寫開頭

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

變量:

1.數據通常都放在內存中。操做內存的時候要使用地址,一般指向內存的指針操做內存,變量是給這段內存取一個名字。我要告訴別人如何使用這塊內存的話須要給這塊區域取一個名字,好比:price,這個price就叫作「變量名」。

2.咱們能夠把price變量指向內存的值改成三、五、10,可是能不能改成「Tom」呢?顯然是不能夠的!!!

所以這塊內存中可以放什麼類型的數據是有限制的,這就是「變量類型」。

3.定義一個變量的格式爲:

(變量類型) (變量名)=(初始值)

變量的做用域:

1.變量在{}範圍以內定義不能重名,定義一個int b=3;

在定義一個int b=10;編譯出錯。

2.int b=3;b=5;則能夠,是由於對b進行了從新賦值操做。

注:使用已有的變量b。  變量前沒有類型,就是使用變量;

變量前有類型,就是定義變量;變量在做用域範圍內是不可以重複定義的。

3.int b;而後直接println(b);是不行的,由於沒有賦初始值。局部變量使用以前必須賦給初始值。

 

聲明時賦值或使用前賦值均可以

方式一:int a=5;     方式二:int a;

 a=5;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

數值類型:

1.整數類型:(基於32位操做系統)

byte(字節) 佔用1字節(1*8 bit)

short(短整型) 佔用2字節(2*8 bit)

int(整型)(默認) 佔用4字節(4*8 bit)

long(長整型) 佔用8字節(8*8 bit)

2.小數類型:

float(單精度浮點數) 佔用4字節(4*8 bit)

double(雙精度浮點數)(默認)佔用8字節(8*8 bit)

1字節(byte)等於8位(bit)  

1位(bit)只能表示0或1其中的一個狀態(即表示二進制)

在Eclipse環境下:

整數常量默認爲:int類型

小數常量默認爲:double類型

注:選用數據類型的時候,在考慮到數據的可能範圍以後,選擇最小範圍的類型,這樣節省資源。

long>int>short>byte;

double>float;

整數類型轉換(Type cast):

1. byte b=3;

int i=b;// 隱式類型轉換

2.int m=9;

byte k=i;

//byte k=m;//不能夠從int轉換爲byte類型

byte k=(byte)m;//顯式類型轉換

小數數據類型:

double d1=3.14D;//默認爲double,因此通常不用寫D

double d2=3.14;

double d3=3;

float f1=3.14;//不能從double轉化爲float。

小數默認爲double,改成:

float f2=3.14F;

結論:

1.「大範圍」=「小範圍」:隱式轉換

2.「小範圍」=「大範圍」:顯式轉換(強制類型轉換)

3.都是整數參與乘除運算,結果仍是整數;整數常量參與乘除計算通常加f聲明爲小數類型,避免精度損失。

eg:

System.out.println((1/3)*3);//0調用的in同類型

System.out.println((1.0/3)*3);//1.0調用double類型

System.out.println((1/3)*3F);//0.0

System.out.println((1/3F)*3);//1.0

 

 

 

 

 

 

 

 

 

 

 

 

經常使用數據類型:

1.boolean:true/false(只有兩個可選值)

Int i=true;在java中是不成立的

2.String: 「*****」

轉義字符: 「\n」 換行

「\\」輸出「\」(斜槓)

「 \」 」輸出「  」 」(引號)

System.out.println("個人名字叫\"曉偉\"\\n");

如何顯示「\n」字符呢? 能夠輸入「\\n」便可。

int:最大值:Integer.MAX_VALUE;

最小值:Integer.MIN_VALUE;

int轉換爲String:Integer.toString(i);

或者爲:String.valueOf(i);

String轉換爲int:Integer.parseInt(「33」);

顯式類型轉換僅限整數、小數類型以內。

double轉換爲String:Double.toString(d);

String轉換爲double:Double.parseDouble(s);

char與String區別:單引號(char類型),一個字符

雙引號(String類型),一堆字符組成,核心「\0」做爲字符串結束標誌。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

基礎運算符:

1.運算符就是加(+)、減(-)、乘(*)、除(/)等符號

2.求餘數運算符(%):5%4爲一、5%5爲0、22%7爲1.

3.自增(++):是對一個變量進行自增運算()

4.自減(--):

System.out.println("abc"+5+6);//結果爲「abc56」

「abc」是字符串,因此+5仍然爲字符串,再+6還是字符串

System.out.println(5+6+"abc");//結果爲「11abc」

5+6是整型數據,結果爲11,再與字符串拼接在一塊兒

System.out.println("abc"+(5+6));//結果爲「abc11」

 

 

總結:

Java中表達式從左向右掃描進行掃描運算,一旦趕上一個字符串,以後的運算就變成字符串了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

賦值運算符:

1. int i=5;

應該理解爲:「聲明int類型變量i,而且把5賦值給i」。

  1. int x=10; x=x+5;  所以: x++  等價於  x=x+1;
  2. x+=5; 等價於 x=x+5;
  3. 相似的還有:-= *= %= 等

擴展知識:

當你看到「145」這個數時,你會不加思考當即就知道是「一百四十五」,可是在計算機編程人員看來,如果學習了二進制和十六進制的話,可能就不只僅是一個數,而是做爲一個數的代碼。

平時咱們使用最多的是十進制:

概括起來能夠總結以下規律:

①十進制使用數字 0-9

②位是10的冪:一、十、100、1000等。

③若是第三位是100,那麼用兩位可表示最大數爲99.

推廣到通常狀況:

用n位數能夠表示從0到(-1)的數。所以用三位數能夠表示從0到即0到999.

 

 

 

數制轉換問題

1.經常使用的數制

十進制   0-9

八進制   0-7

二進制  0-1

十六進制  0-F

2.十進制 轉 各個進制

方法 : 除以基數取餘反向

3. 2進制 8進制 16進制 轉十進制

 

二進制

___________________________

2^3 2^2 2^1 2^0

1 0 0 1 X

=8+ 1 = 9

 

八進制

———————————

8^1 8^0

1 7

=1*8 + 7*1 = 15

十六進制相似。 

4.二進制轉 十六進制 八進制

 

二轉八

三位一組 結果並在一塊兒

 

二轉十六

四位一組 結果合併在一塊兒

 

5. 整數在內存中的存儲,採用二進制

符號位

原碼 正數 0

負數 1

 

反碼 正數 和原碼相同

負數 在原碼基礎上,符號位不變,各個位取反

 

補碼 正數 和源碼相同

負數 在反碼基礎上,符號位不變,末位 +1

 

案例↓↓↓↓↓↓ 

————————————————————————————

原碼 反碼 補碼

5 0000 0101 0000 0101 0000 0101

-5 1000 0101 1111 1010 1111 1011

 

6. 機器數 和 真值

「+」「-」號加絕對值來表示數值的大小,用這種形式表示的數值在計算機中稱爲真值

符號數碼化後,二進制數的最高位「0」表示正號,「1」表示負號,用這種形式表示的數值在計算機中稱爲機器數

 

機器數中小數點隱含不佔位

機器數 有符號 純整數 點在最低位以後

純小數 點在符號位以後,最高位以前。 

無符號 純整數 點在最低位以後

純小數 點在最高位以前

7.小數的存儲 

計算機中小數以二進制(浮點數)形式存儲。

首先是一個十進制小數形式,轉化成二進制的計算案例。

————————————————————————————————

0.8125 轉換成二進制

 

其實這種狀況是趕巧了獲得一個確切的值。

————————————————————————————————

但對於某些特殊狀況是這樣的

8.浮點數產生偏差的緣由

有兩鍾狀況,會產生偏差

1)以二進制保存浮點數,因此一些本來有限位的小數,按照上面方法運算之後,可能變成一個無限循環的小數。

————————————————————————————————

(十進制)0.9轉成2進制是無限循環小數0.1110011001100110011...

————————————————————————————————

2)計算機保存浮點數的精度有限,例如float能夠保留十進制最多7位(二進制23位)有效數字,double 能夠保留十進制15~16位(二進制52位)有效數字。那有效數字之後的就被忽略了。

 

爲何用二進制?

二進制的冪能夠與計算機所表達的事物清楚地對應起來。計算機實際根本不知道什麼字母、數字、指令或程序。在它的內核只是一些電路,在某個給定的結點要麼有不少電,要麼幾乎沒有電。爲了使邏輯保持清晰,工程師將其簡化爲「是」或「否」。「是」與「否」、或者是「真」與「假」均可以由1或0表示。按照約定,1表明「是」或「真」,但這僅僅是一種約定;這樣表示「否」或「真」也一樣容易。

計算機用0和1的模式給它們作的任何事情進行編碼。機器指令被編碼成一系列的1和0,並經過電路翻譯。

相關文章
相關標籤/搜索