java語言

當前位置 /首頁/計算機/java語言/列表

Java基本元素詳解

生活呆以是甜的,也可以是苦的,但不能是沒味的。你可以勝利,也可以失敗,但你不能屈服,以下是小編為大家搜尋整理了Java基本元素詳解,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

Java基本元素詳解

  第二章 基本元素

  第一章總結:

  一平臺&JDK&JRE&JVM&API

Java平臺:執行在其他平臺之上的純軟體平臺。Java程式是藉助與Java平臺去和硬體平臺互動的。

Java語言的工作方式: 原始檔檔案 執行 JDK:包含Java執行的基本類庫和開發命令,安裝JDK可以進行完整的Java開發。 et:建立Java小程式

:輸入/輸出

:Java的網路開發

:Java的工具包

:Java的語言包(不需要導包)

g & :Java圖形化介面的開發

JRE:Java Runtime Environment 包含Java執行的基本類庫和一些執行命令,安裝JRE可以執行編譯好的Java程式。

JVM:包括類裝載器、class檔案檢驗器、直譯器。Java語言內部執行的核心。 JDK中包含JRE,JRE中又包含JVM,JVM不能單獨下載安裝。

API:Application Program Interface 應用程式設計介面及Java的類庫 二.環境變數

JAVA_HOME: 指向JDK的安裝路徑 jdk的路徑

classpath:Java在編譯和執行時要找的class所在的路徑 jdk下lib及lib下tools,jar的路徑

系統找位元組碼的作用:1.先在當前包下找 2. jdk1.6.0_01jrelib 包下找

3.在classpath中所指向的路徑下找。

path:系統執行命令時要搜尋的路徑 jdk下bin包的路徑

  三程式的兩種型別: Application:Java應用程式 可以獨立執行。

儲存 —

編譯 — javac

javac 產生s 檔案

解釋執行 — java

java HelloWorld (不要再寫上s)

Applet:Java小程式 被嵌入到Web頁中,由Java相容瀏覽器控制執行

編寫applet類原始碼

編譯applet類所在的原始檔 javac

編寫嵌入applet的網頁檔案 appletviewer

作業:當java檔案帶包時怎麼用命令?

c命令: 就像是沒有包一樣 進到原始檔在的那個目錄下,然後用javac 編譯

命令:在原始檔目錄下,建立一個和包名一樣的資料夾,把編譯好的class檔案放入該資料夾中,然後用 java 包名s檔名

doc命令:和沒有包一樣 進到原始檔在的那個目錄下,然後用javadoc -d help 將文件生成到指定的資料夾下

命令: 編寫文字檔案(Main-Class:包名.檔名) 然後用jar -cvmf 文字檔名.字尾 要生成jar包的名

學習目標: 同ppt

Java其實和英語或漢語的一樣,都是由基本元素構成(字母,單詞,短語,句子,文章)。Java中識別符號、關鍵字、運算子、資料型別是英語中的字母;變數、常量是單詞;表示式是短語;語句是句子;程式是文章。

注意:程式設計的時候所有的標點符號必須在英文狀態下輸入。

Java文件及jar包的生成:

Java文件的生成

doc 原始檔 生成的文件在當前路徑下

doc –d 生成文件的路徑(可以不存在) 原始檔 生成的文件在指定的路徑下

jar包

1.編寫一個文字檔案 內容:Main-Class:

–cvmf

包下的類使用時不用匯入也不用完整包名。其他包下的類使用時要麼匯入要麼使用完整包名。

識別符號: 概念:識別符號就是用來標識類名、變數名、方法名、型別名、陣列名、檔名的有效字元序列,並且識別符號不能是關鍵字。

識別符號的組成:

1.由字母、數字、下劃線和$組成

2.第一個字元不能是數字

3.區分大小寫

4.不能是關鍵字

5.字母包含英語字元和漢字(Java中採用unicode編碼)

6.識別符號的長度沒有明顯規定

練習:3boy _hello $a dog Dog he&test a*b a@#%b length a b 貓貓 (可以使用,但是不推薦,以後不要用)

程式碼習慣:

1. 類名每個單詞以大寫字母開始,其他字母小寫

2. 介面名同類名

3. 方法名第一個單詞小寫,其他單詞首字母大寫,其他字母小寫

4. 變數名同方法名

5. 常量所有單詞的所有字母大寫,而且單詞與單詞間用下劃線連線。

6. 包名所有字母都小寫。

關鍵字:Java已經使用並且有特殊含義。

基本資料型別:

unicode: 兩個位元組保留一個字元。Java中採用unicode編碼(對漢字編碼) ASCII: 一個位元組保留一個字元。 ASCII碼的取值範圍小與unicode碼。 兩種分類:

1. 按型別分:

整型: byte short int long

浮點型: float double

布林型別:boolean

字元型: char(可以存一個漢字)

2. 按有效位分:

1位: boolean

8位: byte

16位:short char

32位:int float

64位: long double

詳細解析:

boolean: 值只有true或false兩種 ,與C++中的布林型別不同

byte: 8位整形 取值範圍:

注意:byte b = 122; 涉不涉及122為int型別再強轉為byte型別? 不涉及 short:16位整形 取值範圍:

int: 32位整形 取值範圍:

,給任意一個該範圍內的整數都預設為int型別。

注意:

byte b = 128;//錯

short s = 32768;//錯

long: 64位整形 取值範圍:,以“l”或”L”結尾

long l =2147483648; //錯 ,其實等號右邊是int型別,然後賦值給l的時候再進行自動轉換。

long l1 = 2147483648L; //對,等號左邊和右邊都是long型別。

char: 可以看作是無符號16

位整形,漢字佔一個位元組,取值範圍:

在進行運算的時候會被自動轉換成int型別再去

運算。

字元的儲存方式:

字元整數編碼二進位制

char n = 128;//輸出亂碼;

char a = ‘b’;

char b = 97;

char c = ‘u0060’;

float: 用於儲存小數,取值範圍:,必須以“F”或”f”結尾。

float f = 9.9; //錯 等號右邊的預設為double型別,不能自動轉換為float。

float f = (float)9.9; //對 double強制轉換為float。

double:用於儲存小數,取值範圍:,以“D”或”d”結尾。 給任意一個該範圍內的小數都預設為double型別。

注意: 整型值隱含boolean陣列含義 如:

飛機航班的班期: ean陣列

s:

對應位上為1表示有班期,為0表示無班期 if(s&2的3次方 != 0)表示週三有航班 if(s&(1 << w)!=0)表示周w有航班

資料型別的儲存方式:

1.精確儲存:儲存的值與其儲存的狀態一一對應

如 整型

2. 近似儲存:所儲存的值和儲存狀態不一定一一對應,有可能一個儲存狀態對應多個值。

如 浮點型(float double)

比較兩個實數是否相同是沒有意義的。

型別轉換:

自動型別轉換:

精度損失:

4. 強制型別轉換也可能會引起資料精度的丟失

強制型別轉換:

float f = (float) 9.9;

long l = (long) 9;

強制型別轉換並不是沒有限制的,要求只有型別的性質相同才能轉換。 強制型別轉換基本用在:

1. 除boolean之外的七種基本型別之間的.相互轉換

2. 父子類之間

3. 介面和實現類之間

基本型別運算規則:

如果兩個參與運算的數都能夠自動轉換為int,則結果為int型別,否則結果根據自動型別轉換規則,結果為高精度型別。

變數和常量

變數是Java語言中的基本儲存單位。變數是在程式執行過程中值可以改變即可以多次賦值。定義一個變數需要一個型別,一個識別符號,如果需要,還可以加上一個初值。

編碼習慣:變數名第一個單詞小寫,其他單詞首字母大寫,其他字母小寫

細節:變數的什麼可以改變?什麼不能改變? 值可以改變,型別不能變 舉例:

int i;

int l = 123;

l = 456;

常量:在Java中,使用關鍵字final來表示。與變數不同,常量在程式執行過程中其值不能改變,只能有一次賦值的過程。

規則:

有final修飾

只能賦一次值 定義的時候賦值或定義完之後賦值

編碼習慣:常量所有單詞的所有字母大寫,而且單詞與單詞間用下劃線連線。 舉例: double PI = 3.14;

PI = 3.1415;//錯誤,常量只能賦一次值 int CONSTANT; CONSTANT = 123;//正確,第一次賦值

運算子:

概念:用來表示各種運算的符號叫做運算子。運算子一定有自己的運算物件。

針對一定的運算子,都有規定的資料型別,同時運算結果也有確定的資料型別。每個運算子都有自己特定的運算規則。當表示式中出現運算子時則必須考慮運算子的優先順序。同時,運算子還有結合性。

分類:算術運算子,關係運算符,邏輯運算子,遞增遞減運算子,位運算子,賦值運算子和複合賦值運算子,條件運算子。

算術運算子:

常見的算術運算有:加,減,乘,除,取模,取正,取負,對應符號分別為:+,-,*,/,%,+,-,其中只有取正或取負是單目運算子(即只有一個運算元),其他的都是雙目運算子(即一個運算子對應兩個運算元)。

關係運算符:

關係運算符可以用來比較兩個數值型資料的大小,也可以比較兩個字元型資料的大小。關係運算符的處理結果是邏輯值,若為真用true表示,若為假用false表示。

關係運算符主要有:>、>=、<、<=、==、!= 即 大於、大於等於、小於、小於等於、等於、不等於。

== 操作元是物件時判斷地址是否相同,是基本型別時判斷值是否相同。 邏輯運算子:

邏輯運算子運算物件是數值型或字元型等。結果只能是true或false。

&&: 只能是boolean表示式1&&boolean表示式2, 當boolean表示式1為false時,不再執行boolean表示式2,結果為false;當boolean表示式1為true時,執行boolean表示式2,boolean表示式為false,結果為false,否則結果為true。 ||: 只能是boolean表示式1||boolean表示式2,當boolean表示式1為true時,不再執行boolean表示式2,結果為true;當boolean表示式1為false時,執行boolean表示式2,boolean表示式為true,結果為true,否則結果為false。

&: 只能是boolean表示式1&boolean表示式2,不管boolean表示式1的值為true還是false都會執行boolean表示式2,只有當boolean表示式1的值和boolean表示式2的值都為true時結果才為true,否則結果為false。

|: 只能是boolean表示式1&boolean表示式2,不管boolean表示式1的值為true 還是false都會執行boolean表示式2,只有當boolean表示式1的值和boolean表達 式2的值都為false時結果才為false,否則結果為true。

!:只能是!boolean表示式,boolean表示式的值為false,結果為true,boolean表示式為true,結果為false。

自增自減運算子:

自增和自減在前置和後置的時候效果不一樣。

舉例:

前置自增:int a = 3; int b = ++a;相當於:int a = 3;a = a + 1; int b = a;//a = 4 b = 4

後置自增:int a = 3; int b = a++;相當於:int a = 3; int b = a; a = a +

1;// a = 4 b = 3

進行賦值運算,再進行自加運算。

前置自減:int a = 3; int b = --a;相當於:int a = 3;a = a - 1; int b = a;//a

= 2 b = 2

後置自減:int a = 3; int b = a--;相當於:int a = 3; int b = a; a = a -

1;// a = 2 b = 3

前置自減時,先進行自減運算,再進行賦值運算,後置時,剛好相反,即先

進行賦值運算,再進行自減運算。

位運算子:

正負數在記憶體中的儲存形式:正數:原碼,反碼,補碼都相同

負數:原碼的符號位不變,其他各位取反 則得到反碼

反碼+1 = 補碼

正數在記憶體中用原碼錶示,負數在記憶體中用補碼錶示。

概念:位運算子是一種對運算物件按二進位制位進行操作的運算。

特點:1.位運算不允許只操作其中的某一位,而是對整個資料按二進位制位進行運算。

2.位運算的物件只能是整型資料(包括字元型),運算結果仍是整形資料。 運算子:

1.按位與運算: 雙目運算子 功能:參與運算的兩數各對應的二進位相與。

只有對應的兩個二進位均為1時,結果位才為1,否則為0;

2.按位或運算: 雙目運算子 功能:參與運算的兩數各對應的二進位相或。

只有對應的兩個二進位有一個或兩個為1時,結果位就為1,否則為0;

3.按位異或運算: 雙目運算子 功能:參與運算的兩數各對應的二進位相異

或。

4.求反運算: 單目運算子 功能:對參與運算的數的各二進位按位求反。

5.左移運算: 雙目運算子 功能:把”<<”左邊的運算數的各二進位全部左移

若干位,由“<<”右邊的數指定移動的位數,高位丟棄,低位補0.

如:a << 4 指把a的各二進位向左移動4位。如 a = 00000011(十進位制

的3),左移4位後為00110000(十進位制48);a左移四位相當於是計算四次a

= a*2;

6. 右移運算: 雙目運算子 功能:把“>>”左邊的運算數的各二進位全部右

移若干位,”>>”右邊的數指定移動的位數。 低位丟棄,高位補移出

位。

byte b = 15; (byte) (b << 1) (byte) (b >> 1)

b: 0000 1111

記憶體中儲存的形式:0000 1111

先擴充為int型別:0000 0000 0000 0000 0000 0000 0000 1111

左移1位: 0000 0000 0000 0000 0000 0000 0001 1110

擷取為byte型別: 0001 1110 30

右移1位: 0000 0000 0000 0000 0000 0000 0000 0111

擷取為byte型別: 0000 0111 7

b = -15

b: 1000 1111

記憶體中儲存的形式:原碼:1000 1111 反碼:1111 0000 補碼: 1111 0001

先擴充為int型別:1111 1111 1111 1111 1111 1111 1111 0001

補碼左移1位:1111 1111 1111 1111 1111 1111 1111 0010

擷取為byte型別:1111 0010 反碼: 1111 0001 原碼: 1000 1110 -30

補碼右移1位:1111 1111 1111 1111 1111 1111 1111 1000

擷取為byte型別:1111 1000 反碼:1111 0111 原碼:1000 1000 -8

b = 127

b: 0111 1111

記憶體中儲存的形式:0111 1111

先擴充為int型別:0000 0000 0000 0000 0000 0000 0111 1111

左移1位: 0000 0000 0000 0000 0000 0000 1111 1110

擷取為byte型別: 1111 1110 反碼:1111 1101 原碼:1000 0010 -2 右移1位: 0000 0000 0000 0000 0000 0000 0011 1111

擷取為byte型別: 0011 1111 63

b = -127

b: 1111 1111

記憶體中儲存的形式:原碼:1111 1111 反碼:1000 0000 補碼: 1000 0001

先擴充為int型別:1111 1111 1111 1111 1111 1111 1000 0001

補碼左移1位:1111 1111 1111 1111 1111 1111 0000 0010

擷取為byte型別:0000 0010 2

補碼右移1位:1111 1111 1111 1111 1111 1111 1100 0000

擷取為byte型別:1100 0000 反碼:1011 1111 原碼:1100 0000 -64

7. 無符號右移:>>> 移出去的不管,移進來的補0;

注意:移位運算不能把有效位均移出去 。int a<< 33 相當於 a<<(33%32)

賦值運算子:

=

複合賦值運算子:

+= ,-=,*= ,/= ,%=,|=, &=,^=

區分:

== 關係運算符

= 賦值運算子

條件運算子:

唯一的一個三目運算子。

格式:

boolean表示式1?表示式2:表示式3

含義:

先判斷boolean表示式1的值,為true時執行表示式2,為false

時執行表示式3。

注意:

boolean表示式1一定會執行,表示式2和表示式3一定並且只能執

行其中的一個。

條件表示式在作非此即彼的條件判斷時非常地簡潔有效,條件表示式完全可以用以後學的if?else語句替代,但是,這一點是if?else語句所不能及的。

表示式和語句:

表示式是運算子、運算元以及方法呼叫的序列,用來說明某個計算過程並計算結果,有一個唯一型別的值。如:1+1

Java語言中的語句用於向計算機發出操作指令。一個為實現特定目的的程式應該包含若干語句。

語句 = 表示式+“;”

例如: int area = length * width;

語句:

1. 方法呼叫語句

input();

2. 表示式語句

i = 3;(賦值語句)

3. 複合語句。

{i= 3;

tln(i);}

4. 控制語句

包括分支、迴圈、跳轉

5. pakage 和 import語句

類:類的全限定名: 包名.類名

package 定義當前類所在的包

import 匯入用到API中的類

匯入的是類 import om;

import .* 表示匯入包中的所有類

註釋:

a) 單行註釋: //

b) 多行註釋: /* */

c) 文件註釋: /** */

總結: 1.本章講述了Java識別符號與關鍵字概念,學習的重點是要了解Java的四類八種基

本資料型別使用,以及變數和常量的定義。

2.熟悉幾種運算子的使用,熟練運用Java表示式和語句的書寫規範。

3.特別需要重點對待的註釋,同學們在學習的過程中一定要養成寫註釋的好習慣。

程式設計:

1:輸入兩個數字,輸出最大的數字。

2:輸入一個年份,判斷這年是平年還是閏年,並且輸出。

String judge = year%400 == 0 ? "閏年":year % 4 == 0 && year % 100 !=0?"閏年":"

平年";

TAG標籤:元素 JAVA #