通往另外一個(gè)世界的Java之路,記錄整個(gè)學(xué)習(xí)過程新娜,將之前的知識(shí)進(jìn)行總結(jié)
參考書籍與視頻
- Java語言程序設(shè)計(jì)
- java編程思想
- Core Java
- 各機(jī)構(gòu)....的視頻
操作系統(tǒng):linux和Windows
Java概述
** 學(xué)習(xí)目標(biāo)**
- 區(qū)分API概龄、IDE、JDK
- 編寫一個(gè)簡單的Java程序
- CMD命令
- 在控制臺(tái)輸出結(jié)果
- 創(chuàng)建蚕键、編譯和運(yùn)行Java程序
- GUI圖形輸出對(duì)話框和顯示輸出結(jié)果
- 關(guān)鍵字
API:Application Programma Interface 包括為開發(fā)Java
程序而預(yù)定義的類和接口锣光。
IDE:集成開發(fā)環(huán)境铝耻,編輯瓢捉、編譯、鏈接搂漠、調(diào)試等都集成在一個(gè)圖形用戶界面中
JDK: 由一套獨(dú)立程序構(gòu)成的集合兽赁,每個(gè)程序都是從命令行調(diào)用刀崖,用于開發(fā)和測試Java程序
1.CMD命令(在linux為終端terminal操作方式不同)
- dir(ls):列出當(dāng)前目錄下的文件和文件夾
- md:創(chuàng)建目錄
- rd:刪除目錄
- cd:進(jìn)入指定目錄
- cd..退回到上級(jí)目錄
- cd /:退回到根目錄
- del:刪除文件
- exit:退出cmd
2.第一個(gè)Java程序
在控制臺(tái)顯示”Hello World“
public class HelloWorld{
//公共的 靜態(tài)的 無返回值 main方法 數(shù)組
public static void main(String[] agrs){
System.out.println("HelloWorld");
}
}
編譯命令:
javac HelloWorld.Java
Java HelloWorld
輸出結(jié)果
HelloWorld
如果沒有語法錯(cuò)誤亮钦,編譯器就會(huì)生成一個(gè)擴(kuò)展名為.class的字節(jié)碼文件蜂莉。
Java字節(jié)碼可以在不同的硬件平臺(tái)和操作系統(tǒng)上運(yùn)行。執(zhí)行Java程序就是運(yùn)行程序的字節(jié)碼
可以在任何一個(gè)裝有JVM的平臺(tái)上運(yùn)行字節(jié)碼窖张,解釋字節(jié)碼蚁滋。
執(zhí)行這個(gè)文件
3.關(guān)鍵字
java語言的基本組成
- 關(guān)鍵字
- 標(biāo)識(shí)符
- 注釋
- 常量和變量
- 運(yùn)算符
- 語句
- 函數(shù)
- 數(shù)組
4.標(biāo)識(shí)符
標(biāo)識(shí)符概念:
Java語言中辕录,對(duì)于變量走诞,常量,函數(shù)碑幅,語句塊也有名字姻锁,標(biāo)識(shí)符是用來給類位隶、對(duì)象、方法篮昧、變量笋妥、接口和自定義數(shù)據(jù)類型命名的春宣。
標(biāo)識(shí)符組成
由數(shù)字嫉你,字母和下劃線_幽污,美元符號(hào)$和人命幣符號(hào)¥組成簿姨,在Java中是區(qū)分大小寫的扁位,并且首字母不能是數(shù)字。刑然,Java關(guān)鍵字不能作為標(biāo)識(shí)符殉簸。,盡量不要用字符$般卑。。
命名約定
- 類和接口名沐鼠,每個(gè)首字母大寫叹谁,含有大小寫焰檩。如:HelloWorld。
- 方法名 ,首字母小寫兜叨,盡量少用下劃線国旷,如:myWorld茫死。
- 常量名,基本數(shù)據(jù)類型的常量名使用全部大寫字母屡久,
- 變量名被环,可大小寫混寫,首字母小寫,字間分隔符用字的首字母大寫悴能。
基本程序設(shè)計(jì)
學(xué)習(xí)目標(biāo)
- 編寫Java程序完成簡單的計(jì)算
- 從控制臺(tái)讀取輸入
- 變量
- 數(shù)據(jù)類型
- Java的文檔管理雳灾、程序設(shè)計(jì)和命名習(xí)慣
- 區(qū)分語法錯(cuò)誤谎亩、運(yùn)行時(shí)錯(cuò)誤匈庭、邏輯錯(cuò)誤和調(diào)試錯(cuò)誤。
編寫簡單的程序
一個(gè)簡單的計(jì)算圓面積問題夭拌,如何編寫程序解決衷咽?
1)圓面積計(jì)算
面積 = π × 半徑 × 半徑
2)寫入半徑
3)顯示面積
public class Area {
public static void main(String[] agrs){
//1.聲明數(shù)據(jù)類型镶骗,寫入圓的半徑
double r ;
double S;
//給半徑賦值
r = 20;
//2.圓面積的計(jì)算
S = r*r*3.14159;
//3.顯示結(jié)果
System.out.println("面積="+ S);
}
}
加號(hào)(+)有兩種意義:一種是用作加法鼎姊,另一種是做字符串的連接。如果兩個(gè)操作數(shù)都是字符串
即横,字符串連接符就把兩個(gè)字符連接起來裆赵。
從控制臺(tái)讀取輸入
為了使用不同的半徑战授,需要修改源代碼,避免這種不方便份帐,可以使用Scanner類從控制臺(tái)輸入
Java中使用System.out來表示輸出废境,而使用System.in來表示輸入。巴元。
Scanner input = new Scanner (System.in);
import java.util.Scanner;
public class Area {
public static void main(String[] agrs){
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入數(shù)據(jù):");
//1.聲明數(shù)據(jù)類型逮刨,寫入圓的半徑
double r = input.nextDouble();
//給半徑賦值
//2.圓面積的計(jì)算
double S = r*r*3.14159;
//3.顯示結(jié)果
System.out.print("面積="+ S);
}
}
數(shù)據(jù)類型
Java基本類型共有八種修己,基本數(shù)據(jù)類型可以分為三類迎罗,字符型
char
,
布爾類型boolean
以及數(shù)值類型byte
纹安、short
钻蔑、int
、long
可帽、
float
、double
窗怒。
- 四種類型的整數(shù):
byte
映跟、short
、int
扬虚、folat
努隙。 - 兩種類型的浮點(diǎn)數(shù):
float
、double
辜昵。double類型是float類型的兩倍荸镊。double又稱為雙精度,float為單精度。通常使用double類型躬存,因?yàn)樗_。
類型 | 存儲(chǔ)大小 | 范圍 |
---|---|---|
byte | 8位 | 最大存儲(chǔ)數(shù)據(jù)255岭洲,范圍: -128~127 |
short | 16位 | 最大存儲(chǔ)數(shù)據(jù)2^16,范圍:-32768~32767 |
int | 32位 | 最大存儲(chǔ)數(shù)據(jù)2^32-1,范圍:-2147483648~21474836487 |
long | 64位 | 最大存儲(chǔ)數(shù)據(jù)264-1宛逗,范圍:-263~2^63 |
float | 32位 | 數(shù)據(jù)范圍在3.4e-45~1.4e38,直接賦值時(shí)必須在數(shù)字后加上f或F盾剩。 |
double | 64位 | 數(shù)據(jù)范圍在4.9e-324~1.8e308雷激,賦值時(shí)可以加d或D也可以不加 |
boolean | 只有true和false | |
char | 16位 | 存儲(chǔ)Unicode碼,用單引號(hào)賦值 |
Java決定了每種簡單類型的大小告私。這些大小并不隨著機(jī)器結(jié)構(gòu)的變化而變化侥锦。這種大小的不可更改正是Java程序具有很強(qiáng)移植能力的原因之一。德挣。
- 基本類型byte 二進(jìn)制位數(shù):Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE
- 基本類型short二進(jìn)制位數(shù):Short.SIZE最小值:Short.MIN_VALUE最大值:Short.MAX_VALUE
- 基本類型char二進(jìn)制位數(shù):Character.SIZE最小值:Character.MIN_VALUE-最大值:Character.MAX_VALUE
- 基本類型double 二進(jìn)制位數(shù):Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE
變量
變量用于表示特定數(shù)據(jù)的類型。使用變量:通過告訴編譯器變量的名字及其他可以存儲(chǔ)
的數(shù)據(jù)類型來聲明該變量快毛,變量聲明格嗅,告知編譯器根據(jù)數(shù)據(jù)類型為變量分配合適的存儲(chǔ)空間,唠帝,
語法:dataByte varibleName
例如:int count屯掖;
如果幾個(gè)變量為同一中類型,允許一起聲明它們襟衰,
dataByte varible1贴铜,varible2,varible3...
int i,j,k;
變量通常有初始值瀑晒,可以穿一步完成變量的聲明和初始化
int count = 1绍坝;
char數(shù)據(jù)類型
char letter = 'A';
char numCahr = '8';
<font color = red> 提示:</font>在賦值給變量之前,必須聲明變量苔悦,方法中聲明的變量在使用之前必須賦值轩褐,
在使用時(shí),使用一步完成變量的聲明和賦值玖详,
數(shù)據(jù)類型轉(zhuǎn)換
- 向上轉(zhuǎn)型:將一個(gè)小范圍數(shù)據(jù)的變量轉(zhuǎn)換為大范圍數(shù)據(jù)的變量(可自動(dòng)完成)
- 向下轉(zhuǎn)型:把大范圍類型的變量轉(zhuǎn)換為小范圍類型的變量(必須要顯示轉(zhuǎn)換把介,強(qiáng)轉(zhuǎn))
如:int(1.2),double(1/2)
打印并比較:
System.out.print((double)1/2);
System.out.print(1/2);
<font color=red>注意:</font>類型轉(zhuǎn)換不改變被轉(zhuǎn)換的變量
double d = 4.5
int i = (int)d;
int i = 1;
byte b = i;
編譯時(shí)出錯(cuò)蟋座,必須進(jìn)行強(qiáng)轉(zhuǎn)拗踢,然而,只要整數(shù)直接是在目標(biāo)變量允許的范圍內(nèi)向臀,那么整數(shù)直接賦值給
short或byte類型變量時(shí)巢墅,就不需要顯示的類型轉(zhuǎn)換。
char類型的準(zhǔn)換
char型的數(shù)據(jù)可以轉(zhuǎn)成任意一種數(shù)值類型,反之也可以砂缩。
char ch = (char)65.23;
System.out.print(ch);
int i =(int)'A';
System.out.print(i);
運(yùn)算符
數(shù)值數(shù)據(jù)類型的運(yùn)算符包括標(biāo)準(zhǔn)的算術(shù)運(yùn)算符:加號(hào)+作谚、減號(hào)-、乘號(hào)×庵芭、
除號(hào)/和求余號(hào)%