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