1.java言語開展史
·詹姆斯·高斯林
·SUN-(斯坦福大學(xué)網(wǎng)絡(luò)公司)
·1995年5月23日,java言語降生
·1996年1月JDK1.0
·1997年2月JDK2.0
·1998年12月JDK1.2(將java分紅J2SE,J2EE,J2ME)
·2000年5月J2SE1.3
·2002年2月J2SE1.4
·2004年10月JDK1.5(改名JavaSE5.0,JavaEE,JavaME)
·2006年12月JavaSE6.0
·2009年04月20日,甲骨文(oracle)74億美圓收買sun
·2011年7月JavaSE7.0
·2014年3月JavaSE8.0
2.Java言語跨平臺(tái)原理
·平臺(tái):指的是操作系統(tǒng)(windows,linux,mac)
·跨平臺(tái):Java程序能夠在恣意操作系統(tǒng)上運(yùn)轉(zhuǎn),一次編寫四處運(yùn)轉(zhuǎn)
·原理:完成跨平臺(tái)需求依賴Java的虛擬機(jī)JVM(JavaVirtualMachine)
3.JRE和JDK
JRE(JavaRuntimeEnvironmentjava運(yùn)轉(zhuǎn)環(huán)境)
包括java虛擬機(jī)(JVM)和java程序所需的中心類庫等,假如想要運(yùn)轉(zhuǎn)一個(gè)開發(fā)好的Java程序,計(jì)算機(jī)中只需裝置JRE即可
JDK(JavaDevelpmentKitJava開發(fā)工具包)
JDK是提供應(yīng)Java開發(fā)人員運(yùn)用的,其中包含了java的開發(fā)工具,也包括JRE。所以裝置了JDK,就不用在單獨(dú)裝置JREl.其中的開發(fā)工具:編譯工具(java.exe)運(yùn)轉(zhuǎn)工具(java.exe)等—>運(yùn)用JDK開發(fā)完成的java程序,交給JRE去運(yùn)轉(zhuǎn)
4.HelloWorld案例
源文件(編寫)—->編輯器—->字節(jié)碼文件—->解釋器——>結(jié)果
HelloWorld案例編寫
·首先定義一個(gè)類
-publicclass類名
·在類定義后加上一對大括號(hào)
-{}
·在大括號(hào)中間添加一個(gè)主方(main)法/函數(shù)
-publicstaticvoidmain(String[]args){}
·在主辦法的大括號(hào)中間添加一行輸出語句
-system.out.println(“HelloWorld”);
完好代碼
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println(“HelloWorld”);
}
}
(文件途徑:../HelloWorld.java)
HelloWorld案例編輯
cmd中
進(jìn)入HelloWorld.java文件的目錄
輸入:
javacHelloWorld.java
停止編譯
輸入:
javaHelloWorld
停止運(yùn)轉(zhuǎn)
5.注釋
注釋:用于解釋闡明程序的文字
分類:單行、多行
作用:解釋闡明程序,進(jìn)步程序的閱讀性
//這是單行注釋
/*
這是多行注釋
*/
例子:
//這是一個(gè)Helloworld的類
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
/*
這是多行注釋
*/
System.out.println(“HelloWorld”);//在控制臺(tái)輸出Hellow
}
}
運(yùn)轉(zhuǎn)結(jié)果
注釋內(nèi)的內(nèi)容不顯現(xiàn)
6.關(guān)鍵字
被java言語賦予了特定含義的單詞
特性:
A:組成關(guān)鍵字的字母全部小寫
B:常見的代碼編輯器對關(guān)鍵字有特殊的顏色標(biāo)志
關(guān)鍵字含義
abstract:標(biāo)明類或者成員辦法具有籠統(tǒng)屬性
asser:t斷言,用來停止程序調(diào)試
boolean:根本數(shù)據(jù)類型之一,聲明布爾類型的關(guān)鍵字
break:提早跳出一個(gè)塊
byte:根本數(shù)據(jù)類型之一,字節(jié)類型
case:用在switch語句之中,表示其中的一個(gè)分支
catch:用在異常處置中,用來捕捉異常
char:根本數(shù)據(jù)類型之一,字符類型
class:聲明一個(gè)類
const:保存關(guān)鍵字,沒有詳細(xì)含義
continue:回到一個(gè)塊的開端處
default:默許,例如,用在switch語句中,標(biāo)明一個(gè)默許的分支。Java8中也作用于聲明接口函數(shù)的默許完成
do:用在do-while循環(huán)構(gòu)造中
double:根本數(shù)據(jù)類型之一,雙精度浮點(diǎn)數(shù)類型
else:用在條件語句中,標(biāo)明當(dāng)條件不成立時(shí)的分支
enum:枚舉
extends:標(biāo)明一個(gè)類型是另一個(gè)類型的子類型。關(guān)于類,能夠是另一個(gè)類或者籠統(tǒng)類;關(guān)于接口,能夠是另一個(gè)接口
final:用來闡明最終屬性,標(biāo)明一個(gè)類不能派生出子類,或者成員辦法不能被掩蓋,或者成員域的值不能被改動(dòng),用來定義常量
finally:用于處置異常狀況,用來聲明一個(gè)根本肯定會(huì)被執(zhí)行到的語句塊
float:根本數(shù)據(jù)類型之一,單精度浮點(diǎn)數(shù)類型
for:一種循環(huán)構(gòu)造的引導(dǎo)詞
goto:保存關(guān)鍵字,沒有詳細(xì)含義
if:條件語句的引導(dǎo)詞
implements:標(biāo)明一個(gè)類完成了給定的接口
import:標(biāo)明要訪問指定的類或包
instanceof:用來測試一個(gè)對象能否是指定類型的實(shí)例對象
int:根本數(shù)據(jù)類型之一,整數(shù)類型
interface:接口
long:根本數(shù)據(jù)類型之一,長整數(shù)類型
native:用來聲明一個(gè)辦法是由與計(jì)算機(jī)相關(guān)的言語(如C/C++/FORTRAN言語)完成的
new:用來創(chuàng)立新實(shí)例對象
package:包
private:一種訪問控制方式:私用形式
protected:一種訪問控制方式:維護(hù)形式
public:一種訪問控制方式:共用形式
return:從成員辦法中返回?cái)?shù)據(jù)
short:根本數(shù)據(jù)類型之一,短整數(shù)類型
static:標(biāo)明具有靜態(tài)屬性
strictfp:用來聲明FP_strict(單精度或雙精度浮點(diǎn)數(shù))表達(dá)式遵照IEEE754算術(shù)標(biāo)準(zhǔn)
super:標(biāo)明當(dāng)前對象的父類型的援用或者父類型的結(jié)構(gòu)辦法
switch:分支語句構(gòu)造的引導(dǎo)詞
synchronized:標(biāo)明一段代碼需求同步執(zhí)行
this:指向當(dāng)前實(shí)例對象的援用
throw:拋出一個(gè)異常
throws:聲明在當(dāng)前定義的成員辦法中一切需求拋出的異常
transient:聲明不用序列化的成員域
try:嘗試一個(gè)可能拋出異常的程序塊
void:聲明當(dāng)前成員辦法沒有返回值
volatile:標(biāo)明兩個(gè)或者多個(gè)變量必需同步地發(fā)作變化
while:用在循環(huán)構(gòu)造中
7.常量
在程序的執(zhí)行過程中,其值不能夠發(fā)作改動(dòng)的量
常量分類:
A:字符串常量”HelloWorld”
B:整數(shù)常量12,-23
C:小數(shù)常量12.23
D:字符常量’a’,’e’
E:布爾常量true,false
F:空常量null
例子:
publicclasschangliang{
publicstaticvoidmain(String[]args){
//字符串常量
System.out.println(“HelloWold”);
//整數(shù)常量
System.out.println(12);
System.out.println(-23);
//小數(shù)常量
System.out.println(12.23);
//字符常量
System.out.println(‘a’);
System.out.println(‘0′);
//布爾常量
System.out.println(true);
System.out.println(false);
}
}
運(yùn)轉(zhuǎn)結(jié)果:
8.變量
變量:是內(nèi)存中的一小塊區(qū)域,在程序的執(zhí)行過程中,其值能夠在一定范圍內(nèi)發(fā)作改動(dòng)
組成:
A:對區(qū)域有限定——>用數(shù)據(jù)類型來限定
B:必需對區(qū)域給一個(gè)稱號(hào)—–>變量名
C:區(qū)域必需內(nèi)必需有內(nèi)容——>初始化值
定義格式:
數(shù)據(jù)類型變量名=初始化值
9.數(shù)據(jù)變量
數(shù)據(jù)類型:Java是一種強(qiáng)類型言語,針對每一種數(shù)據(jù)都給出明白的數(shù)據(jù)類型。
數(shù)據(jù)類型分類:
A:整數(shù)占用字節(jié)數(shù)
byte1
short2
int4
long8
B:浮點(diǎn)數(shù)
float4
double8
C:字符
char2
D:布爾
boolean1
留意:
A:整數(shù)默許是int類型,浮點(diǎn)數(shù)默許是double類型
B:定義long類型數(shù)據(jù)的時(shí)分,要加L或者l,倡議加L定義float類型的時(shí)分要加F或者f,倡議加F
例子:
/*
變量的定義格式:
數(shù)據(jù)類型變量名=初始化值
數(shù)據(jù)類型:
byte,short,long,float,double,boolean
留意:
定義long類型的變量時(shí),最好直接加L
定義float類型的變量時(shí),最好直接加F
*/
publicclassVariableDemo{
publicstaticvoidmain(String[]args){
//定義byte類型的變量
byteb=10;
System.out.println(10);
System.out.println(b);
//定義short類型的變量
shorts=100;
System.out.println(s);
//定義int類型的變量
inti=1000;
System.out.println(i);
//定義long類型的變量
longl=10000000000000L;
System.out.println(l);
//定義float類型的變量
floatf=12.34F;
System.out.println(f);
//定義char類型的變量
charc=’a’;
System.out.println(c);
//定義boolean類型的變量
booleanbb=true;
System.out.println(bb);
}
}
運(yùn)轉(zhuǎn)結(jié)果:
例子2:
/*
變量定義的留意事項(xiàng):
A:變量未賦值,不能直接運(yùn)用
B:變量只在它所屬的范圍內(nèi)有效
變量屬于它所在的那塊大括
C:一行上能夠定義多個(gè)變量,但不倡議
*/
publicclassVariableDemo2{
publicstaticvoidmain(String[]args){
//定義一個(gè)變量
inta=10;
System.out.println(a);
intb;
//System.out.println(b);//—-這里未賦值前運(yùn)用變量,是錯(cuò)誤的
b=20;
System.out.println(b);
{
//代碼塊
intc=30;
System.out.println(c);
}
//System.out.println(c);//—–這里的c是不存在的,由于變量只在它所屬的范圍內(nèi)有效
/*intaa,bb;
aa=10;
bb=20;
System.out.println(aa);
System.out.println(bb);
//但是不倡議這么寫
*/
//這么寫比上面的寫法明晰,和標(biāo)準(zhǔn)
intaa=10;
intbb=20;
System.out.println(aa);
System.out.println(bb);
}
}
運(yùn)轉(zhuǎn)結(jié)果:
10.標(biāo)識(shí)符
標(biāo)識(shí)符:就是用來給包,類,辦法,變量起名字的符號(hào)
組成規(guī)則:
A:unicode字符:
數(shù)字字符,英文大小寫字母,漢字(不倡議運(yùn)用)
B:下劃線_
C:美圓符號(hào)$
留意事項(xiàng):
A:不能以數(shù)字開頭
B:不用以java中的關(guān)鍵字命名
常見命名規(guī)則:
A:根本請求—–>見名知意
B:常見的命名
a,包(其實(shí)是文件夾,用于對類停止管理)
全部小寫,多級包.隔開
b,類
一個(gè)單詞首字母大寫eg:Student,Car
多個(gè)單詞每個(gè)單詞的首字符大寫eg:HelloWorld
c,辦法和變量
一個(gè)單詞首字母小寫eg:age,show()
多個(gè)單詞組成從第二個(gè)單詞開端每個(gè)首字母大寫eg:maxAge,getAge()
11.類型轉(zhuǎn)換
當(dāng)數(shù)據(jù)類型不一樣時(shí),將會(huì)發(fā)作類型轉(zhuǎn)換
自動(dòng)類型轉(zhuǎn)換(隱式)
1.特性:代碼不需求停止特殊處置,自動(dòng)轉(zhuǎn)換
2.規(guī)則:數(shù)據(jù)范圍從下到大
例子:
publicclassDataTypeDemo{
publicstaticvoidmain(String[]args){
System.out.println(1024);//這就是一個(gè)整數(shù),默許就是int類型
System.out.println(3.14);//這就是一個(gè)浮點(diǎn)數(shù),默許就是double類型
//左邊是long類型,右邊是默許的int類型,左右不一樣
//一個(gè)等號(hào)代表賦值,將右側(cè)的int常量,交給左側(cè)的long變量停止存儲(chǔ)
//這一行代碼發(fā)作了自動(dòng)類型轉(zhuǎn)換
longnum1=100;
System.out.println(num1);//100
//左側(cè)是double類型,右側(cè)是float類型,左右不一樣
//float—->double,契合從小到大的規(guī)則
//也發(fā)作了自動(dòng)類型轉(zhuǎn)換
doublenum2=2.5F;
System.out.println(num2);//2.5
//左側(cè)是float類型,右側(cè)是long類型,左右不一樣
//long—>float,范圍是float更大一些,契合從小到大的規(guī)則
//也發(fā)作了自動(dòng)類型轉(zhuǎn)換
floatnum3=30L;
System.out.println(num3);
}
}
運(yùn)轉(zhuǎn)結(jié)果:
強(qiáng)迫類型轉(zhuǎn)換(顯式)
1.特性:代碼需求停止特殊的格式處置,不能自動(dòng)完成
2.格式:范圍小的類型范圍小的變量名=(范圍小的類型)本來范圍大的類型
留意事項(xiàng):
1.強(qiáng)迫類型轉(zhuǎn)換普通不引薦運(yùn)用,由于有可能發(fā)作精度損失、數(shù)據(jù)溢出
2.byte/short/char這三品種型都能夠發(fā)作數(shù)學(xué)運(yùn)算,例如加法‘+’
3.byte/short/char這三品種型在運(yùn)算的時(shí)分,都會(huì)被首先提升成int類型,再停止運(yùn)算
4.boolean類型不能發(fā)作數(shù)據(jù)類型轉(zhuǎn)換
例子:
publicclassDataTypeDemo2{
publicstaticvoidmain(String[]args){
//左邊是int類型,右邊是long類型,不一樣
//long–>int,不是從小到大
//不能發(fā)作強(qiáng)迫類型轉(zhuǎn)換
//格式:范圍小的類型范圍小的變量名=(范圍小的類型)本來范圍大的類型
intnum=(int)100L;
System.out.println(num);
//long強(qiáng)迫轉(zhuǎn)換成int類型
intnum2=(int)6000000000L;
System.out.println(num2);//1705032704—->數(shù)據(jù)溢出
//double—>int,強(qiáng)迫類型轉(zhuǎn)換
intnum3=(int)3.99;
System.out.println(num3);//3—–>精度損失,這不是四舍五入,而是一切的小數(shù)位被舍
//棄
charzifu1=’A’;//這是一個(gè)字符變量,里面是大寫字母A
System.out.println(zifu1+1);//66,也就是大寫字母A也被當(dāng)做65停止運(yùn)算
//計(jì)算機(jī)的底層會(huì)用一個(gè)數(shù)字(二進(jìn)制)來表示字符A,也就是65
//一旦char類型停止數(shù)學(xué)運(yùn)算,那么字符會(huì)依照一定的規(guī)則翻譯成一個(gè)數(shù)字
bytenum4=40;//留意:右側(cè)的數(shù)值大小不能超越右側(cè)的類型范圍
bytenum5=50;
//byte+byte—->int+int—>int
intresult1=num4+num5;
System.out.println(result1);
shortnum6=60;
//byte+short—->int+int—>int
//int強(qiáng)迫轉(zhuǎn)換成short,留意必需邏輯上真實(shí)大小沒有超越short范圍
shortresult2=(short)(num4+num6);
System.out.println(result2);
}
}
運(yùn)轉(zhuǎn)結(jié)果:
12.ASCII碼表
數(shù)字和字符對照關(guān)系表(編碼表):
ASCII碼表:AmericanStandardcodeforInformationInterchage-美國信息交流規(guī)范代碼表
Unincode碼表:也是數(shù)字和符號(hào)的對照關(guān)系,開通0-127局部和ASCII碼表一樣,但從128開端包含更多字符
48-‘0’
65-‘A’
97-‘a’
例子:
publicclassDataCharDemo{
publicstaticvoidmain(String[]args){
charzifu1=’1′;
System.out.println(zifu1+0);//49
charzifu2=’A’;//其實(shí)底層保管的是65數(shù)字
charzifu3=’c’;
//左側(cè)是int類型,右邊是char類型
//char–>int,契合從小到大
//發(fā)作自動(dòng)類型轉(zhuǎn)換
intnum=zifu3;
System.out.println(num);
charzifu4=’中’;//正確寫法
System.out.println(zifu4+0);//20013
}
}
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)