對(duì)于零基礎(chǔ)想要自學(xué)的小白,在學(xué)習(xí)之前,這幾個(gè)建議送給你!
創(chuàng)新互聯(lián)網(wǎng)站設(shè)計(jì),為客戶量身定制各類網(wǎng)站建設(shè)業(yè)務(wù),包括企業(yè)型、電子商務(wù)型、成都響應(yīng)式網(wǎng)站建設(shè)、行業(yè)門戶型等各類網(wǎng)站,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富,成功案例眾多。以客戶利益為出發(fā)點(diǎn),創(chuàng)新互聯(lián)網(wǎng)站制作為客戶規(guī)劃、按需求定制制作符合企業(yè)需求、帶有營(yíng)銷價(jià)值的網(wǎng)絡(luò)建站方案認(rèn)真對(duì)待每一個(gè)客戶,我們不用口頭的語(yǔ)言來(lái)吹擂我們的優(yōu)秀,成百上千家的成功案例見(jiàn)證著我們的成長(zhǎng)。
一、找一本好教材
好的教材,可以讓你更快更好的進(jìn)入 Java 的世界。在校學(xué)生的話,你們的教材通常都是不錯(cuò)的,也可以到網(wǎng)上或書店選擇合適的教材。也可以在網(wǎng)上看一些視頻學(xué)習(xí)的課程。
書籍推薦:《實(shí)戰(zhàn)Java程序設(shè)計(jì)》,這是一本既注重實(shí)戰(zhàn),同時(shí)也注重底層“內(nèi)功”(內(nèi)存分析、JVM底層、數(shù)據(jù)結(jié)構(gòu))訓(xùn)練的書,本書能幫助初學(xué)者打通Java編程“任督二脈”。本書集作者11年Java教學(xué)之精華,既適合初學(xué)者入門,也適合已經(jīng)工作的開(kāi)發(fā)者復(fù)習(xí)。 全書共分18章,內(nèi)容涵蓋Java開(kāi)發(fā)所需的相關(guān)內(nèi)容及339個(gè)案例(很多案例對(duì)于工作人員也有很大的參考價(jià)值)。書中秉承尚學(xué)堂實(shí)戰(zhàn)化教學(xué)理念,從第一章開(kāi)始介入實(shí)戰(zhàn)項(xiàng)目,寓教于樂(lè),讀者可迅速進(jìn)入開(kāi)發(fā)者的角色。 本書適合初學(xué)者入門,也適合高等院校相關(guān)專業(yè)作為教材使用,還可作為Java程序員的參考用書。
二、學(xué)好基本語(yǔ)法
學(xué)習(xí) Java,說(shuō)白了,就是學(xué)習(xí)它的語(yǔ)法、功能、結(jié)構(gòu)等。然后按照它的語(yǔ)法編寫代碼。Java 語(yǔ)法是學(xué)習(xí)的根本。開(kāi)始學(xué)習(xí)時(shí),可能有些難懂。沒(méi)關(guān)系,這很正常。多看多問(wèn),多實(shí)踐。
三、多動(dòng)手實(shí)踐
學(xué)習(xí) Java,和學(xué)數(shù)學(xué)一樣,在學(xué)懂理論后,一定要實(shí)踐。學(xué)習(xí) Java 不能搭便車。有時(shí)候,語(yǔ)法和例子很簡(jiǎn)單,很容易看懂,但到自己動(dòng)手寫的時(shí)候,又是另一種感覺(jué)。只有多動(dòng)手編程,哪怕是簡(jiǎn)單的小程序,重復(fù)實(shí)現(xiàn)書上簡(jiǎn)單的例子,也是在積累和提高。動(dòng)手編碼離不開(kāi)編程工具的支持。
四、規(guī)范編程
俗話說(shuō),無(wú)規(guī)矩不成方圓。編程是一個(gè)將思維邏輯變?yōu)榇a,讓計(jì)算機(jī)來(lái)執(zhí)行的過(guò)程。特別需要規(guī)范。無(wú)論是變量、函數(shù)命名還是代碼格式,都需要一致規(guī)范。這樣便于代碼的閱讀和修改。代碼的規(guī)范性,在代碼質(zhì)量中占據(jù)著重要的比重。
五、注釋說(shuō)明
代碼注釋的作用,豪不夸張的說(shuō),就像旅游景點(diǎn)的指示牌。我們?cè)诰幊虝r(shí),對(duì)自己的想法十分清楚。但一段時(shí)間之后呢,或者讓別人來(lái)閱讀代碼呢。如果注釋豐富,讀代碼就大體可以用讀注釋來(lái)代替了。
注意,注釋要對(duì)那些有一定難度的語(yǔ)句、過(guò)程方法或結(jié)構(gòu)等的注釋,非常淺顯宜懂的就不需要注釋啦。養(yǎng)成對(duì)難懂代碼注釋的習(xí)慣吧。
對(duì)于剛學(xué)習(xí) Java 的初學(xué)者,很多適合會(huì)感覺(jué)學(xué)的沒(méi)有方向,越學(xué)越迷茫,這樣的情況一般都是學(xué)習(xí)方法開(kāi)始就是錯(cuò)誤的。沒(méi)有把 Java 技術(shù)進(jìn)行專業(yè)系統(tǒng)化的學(xué)習(xí)。從就業(yè)和節(jié)約時(shí)間的角度考慮,不要一個(gè)人盲目的學(xué),少走彎路才是學(xué)習(xí) Java 最大的捷徑。
六、多看別人的代碼
對(duì)同一種功能的實(shí)現(xiàn),可以有很多種編碼方式。多讀別人的代碼,非常有利用開(kāi)拓思路,提高編碼的靈活性。甚至經(jīng)??梢詮膭e人的代碼中得到啟發(fā),產(chǎn)生靈感,創(chuàng)作出優(yōu)秀的代碼。
七、代碼盡量簡(jiǎn)單易懂
代碼的簡(jiǎn)單性、正確性是最重要的。不要為了追求高效率而寫出晦澀難懂的代碼。后續(xù)閱讀和修改代碼時(shí),你會(huì)為晦澀的代碼付出很多代價(jià)。記住,盡量將代碼寫成初學(xué) Java 就能讀懂的,那么你的代碼就十分的優(yōu)美了。
八、掌握常用的幾種設(shè)計(jì)模式
設(shè)計(jì)模式就是高手們總結(jié)的一些關(guān)于編程方法的總結(jié)。非常的有用。學(xué)習(xí)設(shè)計(jì)模式,可以提高我們編程的靈活度以及設(shè)計(jì)的合理性。不僅 Java,其他編程語(yǔ)言,如 C#、C++中,設(shè)計(jì)模式也在大行其道。所以,你沒(méi)有理由錯(cuò)過(guò)高手們總結(jié)的編程精華。
九、多學(xué)習(xí),多交流
這對(duì)提高你的 Java 非常有幫助。個(gè)人的智慧是有限的。如果你匯集了眾多高手們的編程經(jīng)驗(yàn),那么你的大牛之路必將走的更順利哦。
十、堅(jiān)持是制勝法寶
Java 的學(xué)習(xí),容易入門,卻難以精通。永遠(yuǎn)不要因?yàn)楹ε吕щy,而減少你對(duì)它的興趣。每年都有很多人在學(xué)習(xí) Java,因?yàn)樗軓?qiáng)大。如果你能堅(jiān)持下去,那么你也是強(qiáng)大的。
如果你依然覺(jué)得自學(xué)是一件很難的事情,需要耗費(fèi)你大量的精力,你急需找到一個(gè)更輕易高效的學(xué)習(xí)方法,那么建議可以找一個(gè)專業(yè)的人士指導(dǎo)帶你,或者直接報(bào)班,這樣可以避免你多走彎路。
最簡(jiǎn)單的java代碼肯定就是這個(gè)了,如下:
public class MyFirstApp
{
public static void main(String[] args)
{
System.out.print("Hello world");
}
}
“hello world”就是應(yīng)該是所有學(xué)java的新手看的第一個(gè)代碼了。如果是零基礎(chǔ)的新手朋友們可以來(lái)我們的java實(shí)驗(yàn)班試聽(tīng),有免費(fèi)的試聽(tīng)課程幫助學(xué)習(xí)java必備基礎(chǔ)知識(shí),有助教老師為零基礎(chǔ)的人提供個(gè)人學(xué)習(xí)方案,學(xué)習(xí)完成后有考評(píng)團(tuán)進(jìn)行專業(yè)測(cè)試,幫助測(cè)評(píng)學(xué)員是否適合繼續(xù)學(xué)習(xí)java,15天內(nèi)免費(fèi)幫助來(lái)報(bào)名體驗(yàn)實(shí)驗(yàn)班的新手快速入門java,更好的學(xué)習(xí)java!
關(guān)鍵是 public staic 是公共靜態(tài)的意思嗎??
答:差不多
那為什么要寫這個(gè)呢?
答:一會(huì)兒再說(shuō)
不寫這個(gè)可以嗎??
答:不可以
這個(gè)東西是什么意思啊 弄不懂
答:如此這般,這般如此;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
class Message{
public static void main(String[] args){
Systerm.out.println("歡迎來(lái)到JAVA世界!");
}
}
public意思是公有的,說(shuō)白了就到哪里都可以訪問(wèn)這個(gè)main方法,沒(méi)什么限制;
static意思是靜態(tài)的,說(shuō)白了就是執(zhí)行main方法的時(shí)候,可以沒(méi)有對(duì)象!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
main方法是一個(gè)特殊的方法,是程序執(zhí)行的入口,一個(gè)Java程序從main方法開(kāi)始執(zhí)行。Java虛擬機(jī)在執(zhí)行Java程序之前會(huì)事先分配一個(gè)主線程,然后在主線程里面執(zhí)行我們這個(gè)main方法,明白了吧?所以我們經(jīng)常說(shuō)main方法叫主線程!線程就是一個(gè)程序里面不同的執(zhí)行路徑!算了,這些不理解也無(wú)所謂,總之,你就記住,Java程序從main方法開(kāi)始執(zhí)行,在你這里當(dāng)程序運(yùn)行的時(shí)候,從main方法進(jìn)來(lái),然后做的第一件事就是Systerm.out.println("歡迎來(lái)到JAVA世界!");
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
必須是public,要不然Java虛擬機(jī)想執(zhí)行你這個(gè)Message類的main方法,如果你是“私有”的,不讓人家訪問(wèn),還怎么執(zhí)行???
必須是static,因?yàn)閳?zhí)行你這個(gè)Message類的main方法,如果這個(gè)方法不是靜態(tài)的,那么想執(zhí)行,事先還得new出一個(gè)Message類的對(duì)象來(lái),累死了!static的,可以沒(méi)有對(duì)象,就執(zhí)行。
第一段代碼:
你要先理解 i++ 的意思, 他是先賦值再自增。
和++i剛好相反, 它是先自增再賦值。 理解了吧!
第二段:
你只是在main 方法中定義了 a1..TestStatic 對(duì)象t1...看不到這個(gè)變量,所以不行。
補(bǔ)充:
因?yàn)槟銓?shí)在main 方法中定義的變量類的對(duì)象是看不到的,所以調(diào)用不了,改成這樣就好了:
public class TestStatic {
int a1;
int a2;
public static void main(String[] args) {
TestStatic t1 = new TestStatic ();
TestStatic t2 = new TestStatic();
int b1 = t1.a1++ ;
int b2 = t1.a2++ ;
int b3 = t2.a1++ ;
int b4 = t2.a2++ ;
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
}
}
第一階段:Java語(yǔ)言基礎(chǔ)
★ Java語(yǔ)言基礎(chǔ)
1、面向?qū)ο笏季SJAVASE
2、(類加載機(jī)制與反射,annotation,泛型,網(wǎng)絡(luò)編程,多線程,IO,異常處理,常用API,面向?qū)ο?,JAVA編程基礎(chǔ))
3、Java8新特性
JAVA戰(zhàn)狼班第二階段:數(shù)據(jù)庫(kù)
★ 數(shù)據(jù)庫(kù)
1、Oracle(SQL語(yǔ)句、SQL語(yǔ)句原理、SQL語(yǔ)句優(yōu)化、表、視圖
2、序列、索引、Oracle數(shù)據(jù)字典、Oracle 數(shù)據(jù)庫(kù)PL/SQL開(kāi)發(fā)
3、數(shù)據(jù)庫(kù)設(shè)計(jì)原則、 MySQL 、 JDBC
第三階段:Web基礎(chǔ)
★ Web基礎(chǔ)
1、HTML5(H5)基本文檔結(jié)構(gòu)、鏈接、列表、表格、表單;
2、CSS 基礎(chǔ)語(yǔ)法、盒子模型、浮動(dòng)布局、定位;
3、JavaScript語(yǔ)言基礎(chǔ)、DOM 編程、事件模型等),JQuery,AJAX框架,XML,BootStrap組件
第四階段:Java Web技術(shù)和主流框架
★ Java Web技術(shù)和主流框架
1、JSPServlet、struts2,hibernate4,spring4,JPA,maven
2、SpringData,SpringMVC,MyBatis,SpringSecurity,shiro,Nginx
第五階段:Linux
★ Linux
1、Linux安裝、熟悉Linux的基礎(chǔ)命令、vi編輯器的使用、awk和sed命令使用、用戶和組
2、文件及目錄權(quán)限管理、使用ACL進(jìn)行高級(jí)訪問(wèn)控制、網(wǎng)絡(luò)配置和軟件包安裝、啟動(dòng)流程和服務(wù)管理
3、系統(tǒng)監(jiān)控和日志管理、進(jìn)程管理和計(jì)劃任務(wù)、ssh遠(yuǎn)程登錄、shell基礎(chǔ)和shell腳本。
第六階段:大數(shù)據(jù)技術(shù)(Hadoop和Spark)
★ 大數(shù)據(jù)技術(shù)(Hadoop和Spark)
1、Hadoop (Hadoop基礎(chǔ)和環(huán)境搭建,HDFS體系結(jié)構(gòu),MapReduce;Hadoop的集群模式、HDFS聯(lián)盟,利用ZooKeeper來(lái)實(shí)現(xiàn)Hadoop集群的HA(高可用性)功能
2、Yarn的任務(wù)調(diào)度機(jī)制,Apache Hive,Pig數(shù)據(jù)處理,集成Hadoop和Sqoop
3、Flume以及Apache Kafka來(lái)實(shí)現(xiàn)數(shù)據(jù)的交換,安裝部署HBase,Storm)
4、Scala 語(yǔ)言(Scala環(huán)境搭建、Scala基礎(chǔ)語(yǔ)法、模式匹配、重載與構(gòu)造器、Map與reduce、元組、繼承、StringContext,Option Some None,Tuple;集合方法和運(yùn)算,future 對(duì)象同步處理和異步處理返回結(jié)果)
5、Spark(Spark搭建,Spark-shell 的使用,Spark-submit 提交應(yīng)用, Spark的內(nèi)核設(shè)計(jì)和實(shí)現(xiàn),并對(duì)內(nèi)核中的實(shí)現(xiàn)架構(gòu)、運(yùn)行原理進(jìn)行詳細(xì)的講解;Spark生態(tài)體系中的各個(gè)組件,包括:Spark Core,Shark,Spark SQL和Spark Streaming等等)
第七階段:項(xiàng)目
★ 項(xiàng)目
1、China-UCSP 項(xiàng)目 SSM(Spring+SpringMVC+MyBatis)
2、用戶關(guān)系管理系統(tǒng) S2SH+Maven+Nodejs+MySQL技術(shù)實(shí)戰(zhàn)開(kāi)發(fā)
3、電子商務(wù)交易平臺(tái) S2SH+Maven+Shiro+Oracle