1. java學習心得
學習了一學期的Java課程,覺得是該總結自己的心得體會了。開始學習任何一門課(包括java),興趣最重要。一直覺得自己在學計算機編程語言,學習了很多,但每門語言都停留在知識邊緣地帶,都沒深入到它們的精華部分,對它們的精華部分知之甚少,於是趁學校開設這門課,並且有自己的老師講解,還有了上機的機會,比自己自學省事多了,於是鼓足信心,開始了漫長的java征途。
還記得我編寫的第一個經典程序「hello Word」。從那時起我已開始走進Java的世界。當時自己不是很理解為什麼main方法一定要這樣來定義public static void main(String[] args),能不能不這樣寫?問了好多同學,他們告訴我的答案是一樣的「java本身要求就是這樣子的」,但我自己不甘心,就進行了下面的好多操作:把main改個名字運行一下,看看報什麼錯誤,然後根據出錯信息進行分析;把main的public取掉,在試試看,報什麼錯誤;static去掉還能不能運行;不知道main方法是否一定要傳一個String[]數組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫args參數名稱的,也可以把args改成別的名字,看看運行結果如何。 結果把Hello World程序反復改了七八次,不斷運行,分析運行結果,最後就徹底明白為什麼了main方法是這樣定義的了。接著在以後的學習中我也採用這樣的方法解決問題,卻發現自己的速度比別人慢了好多,我就把自己的課余時間也分一部分給了java。
因為基礎是最重要的,只有基礎牢固才有可能對後面的學習有更加深刻的認識!
學習一門新的語言,參考書是離不開的。聽老師說訂的教材偏難,不適合我們初學者,於是我在圖書館借了參考書(一本篇幅較短的入門書來學習那些最簡單、最基本的東西,包括學習Java語法等)。同時,對一個最簡單的程序也應該多去調試,多想想如果改動一下會出現什麼結果?為什麼必須那樣寫?多去想想這些問題然後去操作,會讓你有更多的收獲。這樣反復地思考是很有用的。
在學習Java的語法時,Java的語法是類似c語言的,所以學習的比較輕松。唯一需要注意的是有幾個不容易搞清楚的關鍵字的用法,public,protected,private,static,什麼時候用,為什麼要用,怎麼用,和同學一起討論了好久才得以解決。
在學習Java的面向對象的編程語言的特性。比如繼承,構造器,抽象類,介面,方法的多態,重載,覆蓋,Java的異常處理機制。對於一個沒有面向對象語言背景的人來說,我覺得這個過程需要花很長很長時間,因為學習Java之前沒有C++的經驗,只有C語言的經驗,花了很長時間,才徹底把這些概念都搞清楚,把書上面的例子反復的揣摩,修改,嘗試,把那幾章內容反復的看過來,看過去,看了很多遍,才徹底領悟了。
開始熟悉Java的類庫。基礎類庫裡面的類非常非常多。據說有3000多個。但是我真正使用的只有幾個,比如說 java.io.*; java.util.*; java.sql.*;等。
在學習Java的過程中我得出這樣的結論:
1.學習中,要養成良好的習慣(寫括弧時要成對,字母大小寫要區分,單詞拼寫要准確)。
2.在學習的過程中,最好不是僅僅停留在java表層,不是抄書上的例子運行出結果就可以。要注意,即便對一個簡單的例子也要有耐心去琢磨、調試、改動。
3.在學習的過程中一定要動手做、試著寫代碼,而不是抱一本書看看就行。很多東西和體會必須自己動手才能真正屬於自己。
4.在 Java 的學習過程中,可能會遇到形形色色的問題不容易解決,應多去專業論壇了解相關的知識,書本上的知識有限。要會從網上搜索有用的信息 加以整理,促進學習的深入和知識水平的提高。
看了好多網上課程,說學到一定程度要嘗試著自己做東西,但覺得自己僅僅經過一學期的學習,還遠遠不夠,希望自己在以後學習中繼續努力,能夠真真正正擁有一門編程語言,對自己今後的發展起到作用。在學習java語言的同時,也讓我學會了如何來發現問題,如何解決問題,怎樣有效的學習等等,相信會對我一生都有幫助。
2. java課程設計結束了,老師要我們寫心得體會,好心人幫我寫一份吧
在前期准備過程中,先策劃好自己的網站及相關的各個網頁所要表達的內容,主要實現哪些功能,如用戶登錄,商品查找,這些功能是由什麼樣的jsp或javabean實現的,在編寫好這些功能後,又是怎麼樣在各個頁面html中插入這些實現功能的代碼,是用腳本呢還是用調用,這些都是我們事先要考慮的問題,只有這樣我們考慮周到了,明白了,才能順利實現更多的功能,達到事半功倍的效果。再一個主要任務是在網上搜集有關的信息和圖片,並參考借鑒別人的網站布局和功能,來規劃美化自己的網頁頁面的設置風格。
在此次課程設計中,我主要負責商品信息查詢部分功能的實現和商品公告欄包括商城公告,銷量排行,友情鏈接等功能的實現,這些功能都是有鏈接的,有的連接到本網站有關內容,有的是連接到以外的網站。在頁面布局中,並沒有遇到什麼困難,主要是合理正確利用網頁製作標記,實現准確定位。遇到的困難主要集中在頁面的具體在瀏覽器的顯示上,在一個頁面中,實現一小部分的動態轉換,另一部分靜態的要在每一個網頁中都要顯示。這其中,不僅要准確利用網頁的框架布置外,還要充分考慮到用代碼實現另外的頁面或窗口的布局和美化。在編寫代碼過程中,要充分考慮其他頁面的有關情況,jsp有關功能的封裝和轉換,頁面的交換,以及有關頁麵包含的所能實現具體功能的jsp代碼等。
在編寫實現功能的代碼中,遇到困難是最多的了。點擊商城公告裡面的內容時,能彈出來一個詳細信息的界面,這個界面就是需要在頁面中插入jsp腳本,比如html語句<a href="#" onClick="javasrcipt:history.go(-1)"><img src="img/back.gif"></a>,腳本<%AfficheBean affiche=(AfficheBean)request.getAttribute("affiche");%>實現具體的功能,顯示網頁內容和有關信息。這之間的調用順序和轉換需要准確的定位,才能實現想要的功能。在商品查詢頁面里,包括電子產品,健康產品,家用電器,衣帽服飾等查詢功能,下面還有具體的詳細信息,包括是否加入購物車。顯示有些商品內容只是簡單地網頁html語句實現的,但是如果要進行有關查詢時,需要代用有關jsp。我們可以看到,只要點擊就可以顯示你所想要的頁面。在這個功能實現中,由文字被點擊時,調用有關jsp功能,在資料庫里查詢有關符合查詢條件物品的信息,並通過頁面的展現顯示出來。這主要是在網頁代碼中插入jsp腳本或調用有關功能才能實現的,如webinf裡面的各種jsp功能。但是在分頁時,需要考慮的很清楚,搞清頁與頁之間的邏輯聯系才能實現合理正常的分頁功能,如<%}else{%><a href="goodsAction.do?action=0&i=<%=number-1%>">,<td width="18%"><%if(maxPage<=(number+1)){%>下一頁<%}else{%>
<a href="goodsAction.do?action=0&i=<%=number+1%>">下一頁</a>
<%}%>各個jsp代碼的編寫功能可以實現不同的功能,如查詢,插入等。根據資料庫里的商品的特殊唯一標記,可以迅速被搜索出來顯示給我們,如有關的jsp包括goodSelect.jsp,goodInsert.jsp,goodSelectBig.jsp,goodSelectContent.jsp,goodSelectSmall.jsp等。在具體到每一個jsp時,都要認真思考所要實現的功能,這其中的代碼是最難寫的,需要很強的邏輯性和其他內容的關聯性。這就要求你不僅要熟練掌握網頁代碼的編寫,jsp的相關知識,還要掌握有關功能的編寫並能順利實現,這都是非常難以實現的,除了請教同學,還必須去查詢有關書籍,才能獲得有關具體功能的代碼的編寫。
在這次難得的B to C網站設計中,讓我體會到網站設計的復雜性,以及java應用的高級性特點,能實現那麼多的復雜功能。這只是一個再簡單不過的一個網站,就這么復雜,實現的功能雖然不多,但已經編寫了很多的jsp等有關代碼。如果是其他更高級的網站,實現更多功能的網站,也很美化的網站,可見網站體系龐大,資料庫的龐大,裡面內容的復雜,聯系的錯綜雜亂多種多樣,但是,只有通過他們之間的聯系和邏輯性,以及縷清他們之間的關系,並能正確的調用才能全部的利用起來,實現更高的效率和利用率。
3. 學習本月JAVA內容後有什麼感受
轉眼間在從大一踏進學校的校門到現在剛剛好兩年了,在這兩年裡面,有學到了不少東西,包括怎麼去獨立生活,怎麼去與人溝通,等等,當然最重要的還是學到了自己想要的專業知識。
大一的時候主要是學習計算機導論和C語言,對於急於想看到效果的我,C語言學起來就比較枯燥,因為C語言編寫出來的程序主要還是在命令行的操作,我很想開發出windows界面的軟體出來,但是沒有辦法,C語言是基礎,沒有這個基礎就往高處想,恐怕夢想不會那麼容易實現。所以我就認真的把C語言的基礎打好,先掌握好裡面的語法,程序控制邏輯和一些基本的演算法,說真的,盡管是比較枯燥,但是一旦陷入了編程中,自然就會發現其中的快樂。
大一第二學期的時候開始接觸NIIT的課程,平時雖然一點作業都沒有,但是我上課的時候不是那麼認真聽課的人,所以課後總是要花時間來看看和理解老師上課的例子,在這個學期中,我們主要學習了C++和Java,都是剛剛開始接觸到面向對象的語言中來,由於對一些面向對象的特性不熟悉,畢竟是剛開始接觸這方面的語言,所以學起來就有點吃力,再加上平時實踐的時間比較少。
終於到了學期的期末,學期期末的項目是使用Java語言開發一個網路的聊天室,在我還沒有開發之前一聽到這個項目,我做夢都沒有想到我可以編寫出一個聊天室出來,但是既然是課程提出來的項目,就一定有它的理由,我也相信最後一定也可以完成它。功夫不負有心人,經過接近一個月的研究,我總於完成了我來到學校的第一件作品。在這個月中,我不斷得查閱資料,詢問老師,平時和同學多交流,終於在最後的評審中,我獲得了全班第二的好成績。通過這個學期的開發中,我幾乎把整個學期學到的知識都用到了我的聊天室裡面,所以在實踐中也等於復習了這個學期所學的內容,而且我發現這樣的實踐,比我在平時課後看書,看資料所學到的還多。
大二的第一學期,進入了資料庫和高級Java的學習,說真的,在學資料庫的那段時期是最煩的,因為每天就學了一大堆SQL的語言,非常的枯燥,都是關於怎麼去查找數據表格裡面的內容,那是時期,因為課堂上聽課了之後覺得都是比較簡單的,所以課後很少去動手。到了後來項目開發中,我才發現資料庫的重要性,整個系統的信息都是存儲在資料庫裡面的,所有的在程序中對數據的操作都是等同於對數據的增刪改查詢操作。
在期末的項目中,根據項目所要求的內容,我不斷翻看以前沒有掌握好的資料庫知識,感覺如果我前面有認真學習的話,到了後面開發項目的時候就不會那麼吃力了。對此,我總結出,如果在前面學資料庫的時候不要單純學習SQL的語言,把資料庫和程序結合起來,如果老師的講課的過程中可以說清楚資料庫怎麼綁定到程序中去使用的話,那麼我想對於我來說我會更加有興趣去學好資料庫,因為只要在程序開發中才可以去體驗資料庫的魅力和重大的作用。
在學期末的J2EE開發電子商務網站中,我學到了很多關於怎麼製作動態網頁的一些必要元素的基本的原理,體會到軟體設計在網站開發中的重要性。
轉眼間來到了大二的第二個學期,可以說在這個學期中,是我最有感觸,學到最多知識,達到質的飛躍的一個重要學期。有了前面幾個學期的學習基礎,我對面向對象語言已經基本掌握清楚,運用起來也覺得沒有什麼特別困難,基本已經入門了,這個學期主要是進入了.net的學習。
好的開發工具是保證效率的一個重要因素,Microsoft Visual Studio .NET 2003就是這樣的一個開發工具,令我剛剛一接觸就深深得愛上了它,它的易學易用令我對編程的興趣倍增,以前學習Java之所以見效不大是因為沒有好的開發工具和環境,總是在環境配置中浪費大量的時間,而真正的涉及到編程很少,所以這也是我以前為什麼學起來沒有那麼有興趣的原因。
我覺得學編程就應該學習它的思想,編寫代碼就應該盡量避免寫出與邏輯無關的代碼,比如界面代碼可以讓機器去自動生成不必浪費時間手動去編寫,所以好的開發工具可以幫助我們做到這一點,只編程邏輯代碼,很多代碼都可以讓機器去自動生成。在.net就可以快速地開發既有漂亮界面也有強大功能的程序。有了這么好的開發工具,所以令我頓時感悟,有種相見恨晚的感覺。
有了好的開發工具後接下來要做什麼呢,當我們為之興奮的時候,當然是很有慾望去做出某某自己很想做的東西,因為你一拿到好的開發工具,就會整天的陷入開發狀態,對其愛不釋手,一開始我是試著開發一個Flash播放器,感覺編寫起來不是編寫起來不是那麼難,因為前面已經有學習Java的經驗了,初次學習.net的時候選擇編寫Flash播放器也是有理由的,一方面是程序比較簡單,另一方面的涉及到的控制項和界面比較多,所以一開始接觸這樣的語言就首先學習怎麼去調用.net平台上提供的控制項,只要掌握好這些控制項,以後編寫windows界面的控制項就簡單很多了。
經過幾天的時間,終於把Flash播放器做出來了,以後想Flash影集的時候都用自己開發的播放器進行播放,感覺別有一翻滋味,因為這就是為自己量身定做的,這就使我再一次感覺到開發的樂趣。
每年的11月份都有一個高校杯的軟體設計大賽,這時間正到了5月,我們屈指一算,離比賽的時間還有6個月的時間,這段時間我正處在開發的興奮期,所以對這個軟體設計比賽就感興趣起來,第一是可以知道自己的編程程度和其他人的距離,第二是可以利用這個一個項目實踐來鍛煉自己的開發技能,第三是可以鍛煉團隊的合作。以前幾乎都是自己開發的軟體,很少和其他人合作,所以就令我想到這種開發模式將來帶到工作會另自己處於不利的地位,現在不是都講究團隊的合作么。
經過思考後,我找來另外的兩個志同道合的同學,利用五一放假的時間想好主題,還有進行需求分析,最後定下來「多媒體日記本」這一項目。定好題目後我們就進行了分工,一個人負責資料庫方面,一個人負責界面的美化和界面的布局,另外一個負責功能的實現,分好工後我們立刻就展開了工作,在合作的過程中,我們學到了許多課本上沒講的或者只是粗略帶過的知識,有些特別的技術難點還要到網上去搜索,查閱有關的資料,在語言方面我們幾乎把.net裡面的基本框架和特性都用上了,這樣對於我們學習就達到了事半功倍的效果,邊學邊做學到的知識可以很快吸收,又可以很快得運用的實際中去,這是我通過這個項目感觸最深的。很快就到了期末,學校舉行「IT精英杯」軟體大賽,我們小組終於不負眾望,拿到了一等獎的好成績。
經過這次我比賽我總結出心得,首先比賽的題目要定好,一方面是開發的軟體要有實用性和市場前景,另一方面還要在實用性上加上點創新,給人耳目一新的感覺,我覺得只要先抓住好這兩點,做出來的軟體才會給人留下好的印象。
利用暑假的時間,我又參加系裡面組織的軟體工程培訓,又一次在開發項目中學到了許多許多看書只能朦朧懂的知識。
轉眼間大三第一個學期就開學了,回顧這兩年來學習軟體開發的經歷,寫了這樣的一遍心得,一方面算是對自己的總結,另一方面也可以拿出來給大家參考和交流。最後我還是要再歸納一次,總結出如何才可以比較容易地進入學習狀態達到快速開發的目的。
1. 打好基礎,掌握好C語言C++基礎的語言,對學習數據結構和演算法有很大的幫助。
2. 面向對象是高級也是最流行的語言,所有的面向對象語言幾乎都是通用的,結構和特性都差不多,只要掌握和歸納好它們的一些共同的特性,哪怕將來轉向其他的語言都是輕而易舉,得心應手,達到融會貫通的效果。
3. 好的開發工具是你提高開發效率,提高編程興趣的前提,學習語言的過程中還應該研究怎麼利用開發工具有效地提高開發的效率。
4. 善於總結,在開發過程中我們可以總結出許許多多規律性的東西,這些規律一方面可以讓我們避免在以後的開發中犯同樣的錯誤,另一方面對我們掌握其他的規律都是有所幫助的,規律都是交叉在一起的。跟著規律走,實事求是。
5. 項目開發是最好的學習方法,這一點是我最有感觸的,軟體開發是實踐性很強的活動,但靠理論知識學起來比較吃力,而且枯燥無味,學習種理論學習和開發實踐的比例應該是1:2,而且是交叉進行。這樣才可以比較快的掌握一個知識點。
6. 團隊合作,現在的項目幾乎很少一個人去完成,頻繁的溝通和密切的配合是成功的必要條件。