建議你看本書(shū)《Think in java》。上邊的講解很容易懂。
學(xué)java:
先把基本語(yǔ)法搞懂,你學(xué)過(guò)C++,java的語(yǔ)法和C++很像。你只要著(zhù)重把他們不同的地方學(xué)清楚就行。
然后搞懂類(lèi)。java純面向對象的。所有的代碼都在類(lèi)中。所以你要把java中重要的類(lèi)學(xué)一遍。比如流類(lèi),集合類(lèi),數據庫操作類(lèi),網(wǎng)絡(luò )編程的類(lèi)等。當然,在這之前你要把java面向對象的思想弄懂,和C++有什么區別。這樣你學(xué)習類(lèi)的時(shí)候就容易多了。
最后多實(shí)踐點(diǎn),學(xué)了類(lèi)之后,就用你學(xué)的類(lèi)寫(xiě)點(diǎn)小程序,加深理解。
API說(shuō)白了就是別人寫(xiě)好的類(lèi)。像上邊說(shuō)的流類(lèi),集合類(lèi)等都是API。API都有相應的文檔供我們學(xué)習。你學(xué)java基礎,一般在下載JDK時(shí)會(huì )同時(shí)下載下相應的文檔。沒(méi)有的話(huà)你可以到官方網(wǎng)站上去下載。
如果是想學(xué)電腦方面的專(zhuān)業(yè),建議學(xué)軟件開(kāi)發(fā)方面,
軟件產(chǎn)業(yè)又具有下列優(yōu)勢:
1.人才需求量大。
2.薪資待遇高,員工薪資提升速度快。
3.個(gè)人提升空間大,機遇多。
4.軟件企業(yè)工作環(huán)境優(yōu)越、舒適,工作自主性高。
5.軟件人才社會(huì )地位高,受人尊重。
6.成功的機會(huì )遠遠高于其他傳統行業(yè)。
綜上所述,未來(lái)十年內,軟件開(kāi)發(fā)、程序員的發(fā)展前景可謂是非常巨大的。
其實(shí)也可以去電腦學(xué)校參觀(guān)學(xué)習,多比較哈
java基礎知識如下:
1.繼承、類(lèi)extends,只能有一個(gè)父類(lèi),super調用父類(lèi),
2.方法重構(名字相同參數不同),
3.多態(tài)(子類(lèi)的多樣), final不能繼承-可以被匿名類(lèi)引用,
上轉型。
4.接口、interface 名,沒(méi)有方法體,只能implement實(shí)現接口,可以多實(shí)現,為實(shí)現類(lèi)提供實(shí)現方法的模板規范,可以有成員變量,接口回調。
5.抽象類(lèi)、abstract 類(lèi),含有抽象方法的類(lèi),可以含有非抽象方法,只能繼承不能new,和接口的功能類(lèi)似。
6.泛型類(lèi)、class 名稱(chēng)<;泛型列表>;(不能是基本類(lèi)型),聲明泛型 。
7.內部類(lèi)、在類(lèi)內部定義的類(lèi),只能被這個(gè)類(lèi)使用。
8.匿名類(lèi)、將一個(gè)類(lèi)的實(shí)現作為一個(gè)參數。
9.異常類(lèi)、自定義一個(gè)類(lèi) MyException繼承Exception類(lèi),當執行 StringBuffer類(lèi),可以操作字符串的內容(截取,代替,獲取);StringTokenizer類(lèi),可以解析字符串,有兩個(gè)構造方法StringTokenizer(字符串,分隔符),分隔符的任意排列組合,返回結果集,hasMoreTokenizer是否為false來(lái)判斷,nextTokens()來(lái)獲取下一個(gè)對象。
10.正則表達式、字符串對象調用matches(正則表達式),判斷是否和正則表達式匹配,返回boolean類(lèi)型;字符串對象調用replaceAll(正則表達式,替換的字符串)產(chǎn)生一個(gè)將匹配正則表達式的字串替換后的新的字符串對象;字符串調用split(正則表達式),返回一個(gè)字符串數組,以正則表達式作為分隔符。
11.字符串解析、用Scanner(字符串)類(lèi)來(lái)分隔字符串,Scanner對象調用useDelimiter(正則表達式)來(lái)設置分隔符,返回一個(gè)結果集,可以精細化的獲取數字型的結果,和非數字型的結果,hasNext()判斷,next/nextInt/nextDouble獲取下一個(gè)。
12.模式匹配、建立模式對象Pattern.compile(正則表達式),建立匹配對象 Pattern對象.matcher(目標字符串),返回結果集,Matcher對象調用方法find()尋找返回Boolean(類(lèi)似next()+hasNext()),group()返回匹配的字符串,replaceAll(替換的字符串)返回一個(gè)替換了所以匹配的字串的新的字符串,模式可以用|來(lái)連接,即正則表達式1|正則表達式2。
如果你真想學(xué)java根本就不用想那么多,大多數人想干編程都是感覺(jué)有點(diǎn)懼怕和恐懼,認為干編程英語(yǔ)和數學(xué)邏輯運算都需要非常好,其實(shí)根本不是那樣的,英語(yǔ)不需要會(huì ),java里的英文單詞雖然不少但也不多,學(xué)到哪里背到哪里,最重要的是經(jīng)常敲代碼,多敲代碼自然就會(huì )記住了,如果編寫(xiě)的程序出現問(wèn)題不要害怕和感覺(jué)鬧心,其實(shí)每個(gè)人都要經(jīng)歷這些的,初學(xué)者出現的錯誤越多對你來(lái)說(shuō)以后編程序就更順利。
當然了 英語(yǔ)和數學(xué)會(huì )只不過(guò)會(huì )讓你學(xué)習java會(huì )事半功倍! 如果樓主真心想學(xué)java 那么就要有毅力不要輕易放棄 要多動(dòng)手動(dòng)腦!
大概介紹下java web開(kāi)發(fā),主要是管理系統或者網(wǎng)站 大概需要學(xué)習的技術(shù)
說(shuō)一下做JAVA軟件 技術(shù)學(xué)習的順序
1 J2SE(JAVA基礎,包括反射,線(xiàn)程,API,JDBC等),理解MVC模式
2 數據庫(主要學(xué)習Oracle,MySql),要學(xué)會(huì )寫(xiě)一些增刪改查的語(yǔ)句,以及熟練應用Oracle 的一些函數,之后還可以學(xué)習存儲過(guò)程,觸發(fā)器等
3 前臺 (html,JSP,JavaScrtipt,jQuery,css,ajax等),
4 框架目前比較流行的三大框架struts2,hibernate,spring,ibatis
5 把這些學(xué)會(huì )之后,自己嘗試做一個(gè)基于SSH的小項目,
6 項目完成之后,就是做簡(jiǎn)歷,可以去找工作啦
望采納!
基本上初學(xué)者學(xué)到這個(gè)程度就可以去找工作了!
第一部分:JavaSE:Java語(yǔ)言最基本的一套庫
學(xué)習JavaEE或JavaME之前,JavaSE是必學(xué)的。
* Java開(kāi)發(fā)環(huán)境搭建
* Java基礎語(yǔ)法
* 面向對象
* 數組
* 異常
* 集合
* 線(xiàn)程
* IO流
* 反射機制
* 注解Annotation
* 網(wǎng)絡(luò )編程
第二部分:數據庫 【MySQL + JDBC】
* 只要學(xué)習編程,數據庫是一定要學(xué)習的,是一門(mén)公共的學(xué)科。
* java、C、python、C#等程序員都需要學(xué)習數據庫。
* 數據庫產(chǎn)品很多: MySQL、Oracle、SqlServer、DB2。
* 我們動(dòng)力節點(diǎn)數據庫課程包括:MySQL + Oracle
* Oracle:銀行、政府使用oracle的較多。
* MySQL:互聯(lián)網(wǎng)公司、一般企業(yè)使用MySQL較多。
* Oracle我們是提供視頻的。課堂上不講。
* 我們課堂上講MySQL。
* Java語(yǔ)言鏈接數據庫:JDBC
第三部分:WEB前端
* 系統結構:B/S【Browser/Server】 C/S【Client/Server】
* WEB是網(wǎng)站的意思。WEB前端是:網(wǎng)站當中的頁(yè)面。
* WEB前端程序是運行在瀏覽器當中的。
* HTML5 + CSS3 + JavaScript(JS)
* WEB前端也有很多框架:
- jQuery
- Bootstrap
- Vue
- NodeJS
- AugularJS
- RectJS
- LayUI
- EasyUI
..
第四部分:JavaWEB
* Servlet
* JSP
* AJAX(是JavaScript的一部分語(yǔ)法,專(zhuān)門(mén)做頁(yè)面局部刷新)
第五部分:JavaWEB項目
* 做一個(gè)B/S結構的項目,將WEB前端和JavaWEB內容做一個(gè)整合練習。
* 其實(shí)到這里為止,所有的系統都可以做了。但是用的技術(shù)很Low。沒(méi)有用框架。
1.Core
Java,就是Java基礎、JDK的類(lèi)庫,很多童鞋都會(huì )說(shuō),JDK我懂,但是懂還不足夠,知其然還要知其所以然,JDK的源代碼寫(xiě)的非常好,要經(jīng)常查看,對使用頻繁的類(lèi),比如String,集合類(lèi)(List,Map,Set)等數據結構要知道它們的實(shí)現,不同的集合類(lèi)有什么區別,然后才能知道在一個(gè)具體的場(chǎng)合下使用哪個(gè)集合類(lèi)更適合、更高效,這些內容直接看源代碼就OK了
2.多線(xiàn)程并發(fā)編程,現在并發(fā)幾乎是寫(xiě)服務(wù)端程序必須的技術(shù),那對Java中的多線(xiàn)程就要有足夠的熟悉,包括對象鎖機制、synchronized關(guān)鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發(fā)編程實(shí)踐》這本書(shū),講解的很詳細
3.I/O,Socket編程,首先要熟悉Java中Socket編程,以及I/O包,再深入下去就是Java
NIO,再深入下去是操作系統底層的Socket實(shí)現,了解Windows和Linux中是怎么實(shí)現socket的
4.JVM的一些知識,不需要熟悉,但是需要了解,這是Java的本質(zhì),可以說(shuō)是Java的母體,
了解之后眼界會(huì )更寬闊,比如Java內存模型(會(huì )對理解Java鎖、多線(xiàn)程有幫助)、字節碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執行參數(優(yōu)化JVM)等等,這些知識在《深入Java虛擬機》這本書(shū)中都有詳盡的解釋?zhuān)蛘呷racle網(wǎng)站上查看具體版本的JVM規范.
5.一些常用的設計模式,比如單例、模板方法、代理、適配器等等,以及在Core
Java和一些Java框架里的具體場(chǎng)景的實(shí)現,這個(gè)可能需要慢慢積累,先了解有哪些使用場(chǎng)景,見(jiàn)得多了,自己就自然而然會(huì )去用。
6.常用數據庫(Oracle、MySQL等)、SQL語(yǔ)句以及一般的優(yōu)化
7.JavaWeb開(kāi)發(fā)的框架,比如Spring、iBatis等框架,同樣他們的原理才是最重要的,至少要知道他們的大致原理。
8.其他一些有名的用的比較多的開(kāi)源框架和包,Netty網(wǎng)絡(luò )框架,Apache
common的N多包,Google的Guava等等,也可以經(jīng)常去Github上找一些代碼看看。
暫時(shí)想到的就這么多吧,1-4條是Java基礎,全部的這些知識沒(méi)有一定的時(shí)間積累是很難搞懂的,但是了解了之后會(huì )對Java有個(gè)徹底的了解,5和6是需要學(xué)習的額外技術(shù),7-8是都是基于1-4條的,正所謂萬(wàn)變不離其宗,前4條就是Java的靈魂所在,希望能對你有所幫助
9.(補充)學(xué)會(huì )使用Git。如果你還在用SVN的話(huà),趕緊投入Git的懷抱吧
一、掌握靜態(tài)方法和屬性
靜態(tài)方法和屬性用于描述某一類(lèi)對象群體的特征,而不是單個(gè)對象的特征。Java中大量應用了靜態(tài)方法和屬性,這是一個(gè)通常的技巧。但是這種技巧在很多語(yǔ)言中不被頻繁地使用。理解靜態(tài)方法和屬性對于理解類(lèi)與對象的關(guān)系是十分有幫助的,在大量的Java規范中,靜態(tài)方法和屬性被頻繁使用。因此學(xué)習者應該理解靜態(tài)方法和屬性。Java在方法和屬性的調用上是一致的,區別只表現在聲明的時(shí)候,這和c++是不同的。
二、重視接口
在面向對象早期的應用中大量使用了類(lèi)繼承。隨著(zhù)軟件工程理論的不斷發(fā)展,人們開(kāi)始意識到了繼承的眾多缺點(diǎn),開(kāi)始努力用聚合代替繼承。軟件工程解決擴展性的重要原則就是抽象描述,直接使用的工具就是接口。接口近年來(lái)逐漸成為Java編程方法的核心。另一方面,就應用而言,大部分開(kāi)發(fā)是建立在規范基礎之上的,不需要自己建立復雜的繼承關(guān)系和龐大的類(lèi)。因此讀懂規范和用好規范已經(jīng)成為應用程序開(kāi)發(fā)人員的首要任務(wù),Java各項規范的主要描述手段就是接口。
三、學(xué)好集合框架
Java描述復雜數據結構的主要方式是集合框架。Java沒(méi)有指針,而是通過(guò)強大的集合框架描述數組、對象數組等復雜的數據結構。學(xué)好這些數據結構的描述方法對于應用程序編寫(xiě),特別是涉及到服務(wù)器方、3層結構編程至關(guān)重要。程序員在這個(gè)時(shí)候不能再用諸如數據庫結果集之類(lèi)的結構描述數據了。
由于很多語(yǔ)言沒(méi)有這么強大的集合框架體系,很多初學(xué)者不知所措,更不知道拿來(lái)做什么用,因此應該引起足夠的重視。
四、例外捕捉
Java對例外捕捉的強調是空前的,它強迫程序員用顯著(zhù)的與邏輯方法完全不同的方式描述例外捕捉,對于程序描述的完整性和嚴謹性有很大的意義。c++也有類(lèi)似的機制,但是我們看到很多c++程序員并不習慣使用這些機制。
Java的初學(xué)者應該充分學(xué)習好這種例外捕捉機制,養成良好的編程習慣。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.070秒