給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫(kù)-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
java 基 礎(chǔ) 語(yǔ) 法一個(gè)Java程序可以認(rèn)為是一系列對(duì)象的集合拾枣,而這些對(duì)象通過(guò)調(diào)用彼此的方法來(lái)協(xié)同工作留瞳。下面簡(jiǎn)要介紹下類(lèi)、對(duì)象涮阔、方法和實(shí)例變量的概念匹耕。
對(duì)象:對(duì)象是類(lèi)的一個(gè)實(shí)例膜蛔,有狀態(tài)和行為馏段。例如汁果,一條狗是一個(gè)對(duì)象赵刑,它的狀態(tài)有:顏色唉堪、名字、品種;行為有:搖尾巴哀卫、叫巨坊、吃等。
類(lèi):類(lèi)是一個(gè)模板此改,它描述一類(lèi)對(duì)象的行為和狀態(tài)趾撵。
方法:方法就是行為,一個(gè)類(lèi)可以有很多方法共啃。邏輯運(yùn)算占调、數(shù)據(jù)修改以及所有動(dòng)作都是在方法中完成的。
實(shí)例變量:每個(gè)對(duì)象都有獨(dú)特的實(shí)例變量移剪,對(duì)象的狀態(tài)由這些實(shí)例變量的值決定究珊。
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零,二五零纵苛,五四一 】剿涮,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具攻人,很多干貨和技術(shù)資料分享!
java第一個(gè)程序 實(shí)例
public class HelloWorld {
/* 第一個(gè)Java程序
*它將打印字符串 Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // 打印 Hello World
}
}
下面將逐步介紹如何保存取试、編譯以及運(yùn)行這個(gè)程序:
打開(kāi)Notepad,把上面的代碼添加進(jìn)去;
把文件名保存為:HelloWorld.java;
打開(kāi)cmd命令窗口怀吻,進(jìn)入目標(biāo)文件所在的位置瞬浓,假設(shè)是C:
在命令行窗口鍵入 javac HelloWorld.java 按下enter鍵編譯代碼。如果代碼 沒(méi) 有錯(cuò)誤蓬坡,cmd命令提示符會(huì)進(jìn)入下一行猿棉。(假設(shè)環(huán)境變量都設(shè)置好了)。
再鍵入java HelloWorld 按下Enter鍵就可以運(yùn)行程序了
你將會(huì)在窗口看到 Hello World
C: > javac HelloWorld.java
C: > java HelloWorld
Hello World
基本語(yǔ)法
編寫(xiě)Java程序時(shí)屑咳,應(yīng)注意以下幾點(diǎn):
大小寫(xiě)敏感:Java是大小寫(xiě)敏感的萨赁,這就意味著標(biāo)識(shí)符Hello與hello是不同的。
類(lèi)名:對(duì)于所有的類(lèi)來(lái)說(shuō)兆龙,類(lèi)名的首字母應(yīng)該大寫(xiě)位迂。如果類(lèi)名由若干單詞組成,那么每個(gè)單詞的首字母應(yīng)該大寫(xiě)详瑞,例如 MyFirstJavaClass 掂林。
方法名:所有的方法名都應(yīng)該以小寫(xiě)字母開(kāi)頭。如果方法名含有若干單詞坝橡,則后面的每個(gè)單詞首字母大寫(xiě)泻帮。
源文件名:源文件名必須和類(lèi)名相同。當(dāng)保存文件的時(shí)候计寇,你應(yīng)該使用類(lèi)名作為文件名保存(切記Java是大小寫(xiě)敏感的)锣杂,文件名的后綴為.java脂倦。(如果文件名和類(lèi)名不相同則會(huì)導(dǎo)致編譯錯(cuò)誤)。
主方法入口:所有的Java 程序由public static void main(String args[])方法開(kāi)始執(zhí)行元莫。
java標(biāo)識(shí)符
Java所有的組成部分都需要名字赖阻。類(lèi)名、變量名以及方法名都被稱(chēng)為標(biāo)識(shí)符踱蠢。
關(guān)于Java標(biāo)識(shí)符火欧,有以下幾點(diǎn)需要注意:
所有的標(biāo)識(shí)符都應(yīng)該以字母(A-Z或者a-z),美元符($)、或者下劃線(_) 開(kāi)始
首字符之后可以是任何字符的組合
關(guān)鍵字不能用作標(biāo)識(shí)符
標(biāo)識(shí)符是大小寫(xiě)敏感的
合法標(biāo)識(shí)符舉例:age茎截、$salary苇侵、_value、__1_value
非法標(biāo)識(shí)符舉例:123abc企锌、-salary
java修飾符
像其他語(yǔ)言一樣榆浓,Java可以使用修飾符來(lái)修飾類(lèi)中方法和屬性。主要有兩類(lèi)修 飾符:
可訪問(wèn)修飾符 : default, public , protected, private
不可訪問(wèn)修飾符 : final, abstract, strictfp
在后面的章節(jié)中我們會(huì)深入討論Java修飾符撕攒。
java變量
Java中主要有如下幾種類(lèi)型的變量
局部變量
類(lèi)變量(靜態(tài)變量)
成員變量(非靜態(tài)變量)
java數(shù)組
數(shù)組是儲(chǔ)存在堆上的對(duì)象陡鹃,可以保存多個(gè)同類(lèi)型變量。在后面的章節(jié)中抖坪,我們將會(huì)學(xué)到如何聲明杉适、構(gòu)造以及初始化一個(gè)數(shù)組。
java枚舉
Java 5.0引入了枚舉柳击,枚舉限制變量只能是預(yù)先設(shè)定好的值。使用枚舉可以減 少 代碼中的bug片习。
例如捌肴,我們?yōu)楣暝O(shè)計(jì)一個(gè)程序,它將限制果汁為小杯藕咏、中杯状知、大杯。這就 意 味著它不允許顧客點(diǎn)除了這三種尺寸外的果汁孽查。
實(shí)例:
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String args[]){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice. FreshJuiceSize.MEDUIM ;
}
}
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零饥悴,二五零,五四一 】盲再,無(wú)論你是大牛還是小白西设,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
注意:枚舉可以單獨(dú)聲明或者聲明在類(lèi)里面答朋。方法贷揽、變量、構(gòu)造函數(shù)也可以 在枚舉中定義梦碗。
java關(guān)鍵字
abstract 抽象方法禽绪,抽象類(lèi)的修飾符
assert 斷言條件是否滿(mǎn)足
boolean 布爾數(shù)據(jù)類(lèi)型
break 跳出循環(huán)或者label代碼段
byte 8-bit 有符號(hào)數(shù)據(jù)類(lèi)型
case switch語(yǔ)句的一個(gè)條件
catch 和try搭配撲捉異常信息
char 16-bit Unicode字符數(shù)據(jù)類(lèi)型
class 定義類(lèi)
const 未使用
continue 不執(zhí)行循環(huán)體剩余部分
default switch語(yǔ)句中的默認(rèn)分支
do 循環(huán)語(yǔ)句蓖救,循環(huán)體至少會(huì)執(zhí)行一次
double64-bit雙精度浮點(diǎn)數(shù)
elseif條件不成立時(shí)執(zhí)行的分支
enum枚舉類(lèi)型
extends 表示一個(gè)類(lèi)是另一個(gè)類(lèi)的子類(lèi)
final表示一個(gè)值在初始化之后就不能再改變了
表示方法不能被重寫(xiě),或者一個(gè)類(lèi)不能有子類(lèi)
finally為了完成執(zhí)行的代碼而設(shè)計(jì)的印屁,主要是為了程序的健壯性和完整性循捺, 無(wú)論有沒(méi)有異常發(fā)生都執(zhí)行代碼。
float32-bit單精度浮點(diǎn)數(shù)
for for循環(huán)語(yǔ)句
goto未使用
if 條件語(yǔ)句
implements 表示一個(gè)類(lèi)實(shí)現(xiàn)了接口
import 導(dǎo)入類(lèi)
instanceof 測(cè)試一個(gè)對(duì)象是否是某個(gè)類(lèi)的實(shí)例
int 32位整型數(shù)
interface接口雄人,一種抽象的類(lèi)型从橘,僅有方法和常量的定義
long64位整型數(shù)
native 表示方法用非java代碼實(shí)現(xiàn)
new分配新的類(lèi)實(shí)例
package 一系列相關(guān)類(lèi)組成一個(gè)包
private 表示私有字段,或者方法等柠衍,只能從類(lèi)內(nèi)部訪問(wèn)
protected表示字段只能通過(guò)類(lèi)或者其子類(lèi)訪問(wèn)
子類(lèi)或者在同一個(gè)包內(nèi)的其他類(lèi)
public 表示共有屬性或者方法
return 方法返回值
short 16位數(shù)字
static 表示在類(lèi)級(jí)別定義洋满,所有實(shí)例共享的
strictfp 浮點(diǎn)數(shù)比較使用嚴(yán)格的規(guī)則
super 表示基類(lèi)
switch 選擇語(yǔ)句
synchronized 表示同一時(shí)間只能由一個(gè)線程訪問(wèn)的代碼塊
this 表示調(diào)用當(dāng)前實(shí)例
或者調(diào)用另一個(gè)構(gòu)造函數(shù)
throw拋出異常
throws 定義方法可能拋出的異常
transient修飾不要序列化的字段
try 表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行 finally中的代碼
void標(biāo)記方法不返回任何值
volatile 標(biāo)記字段可能會(huì)被多個(gè)線程同時(shí)訪問(wèn),而不做同步
while while循環(huán)
java注釋
類(lèi)似于C/C++珍坊,Java也支持單行以及多行注釋牺勾。注釋中的字符將被Java編譯器 忽略。
public class HelloWorld {
/* 這是第一個(gè)Java程序
*它將打印Hello World
*這是一個(gè)多行注釋的示例
*/
public static void main(String []args){
// 這是單行注釋的示例
/* 這個(gè)也是單行注釋的示例 */
System.out.println("Hello World");
}
}
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零阵漏,二五零驻民,五四一 】,無(wú)論你是大牛還是小白履怯,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具回还,很多干貨和技術(shù)資料分享!
java空行空白行,或者有注釋的的行叹洲,Java編譯器都會(huì)忽略掉柠硕。繼承
在Java中,一個(gè)類(lèi)可以由其他類(lèi)派生运提。如果你要?jiǎng)?chuàng)建一個(gè)類(lèi)蝗柔,而且已經(jīng)存在一個(gè)類(lèi)具有你所需要的屬性或方法,那么你可以將新創(chuàng)建的類(lèi)繼承該類(lèi)民泵。
利用繼承的方法癣丧,可以重用已存在類(lèi)的方法和屬性,而不用重寫(xiě)這些代碼栈妆。被繼承的類(lèi)稱(chēng)為超類(lèi)(super class)胁编,派生類(lèi)稱(chēng)為子類(lèi)(subclass)。
接口
在Java中鳞尔,接口可理解為對(duì)象間相互通信的協(xié)議嬉橙。接口在繼承中扮演著很重要 的角色。
接口只定義派生要用到的方法寥假,但是方法的具體實(shí)現(xiàn)完全取決于派生類(lèi)憎夷。