當前位置:
首頁 > 知識 > 學會編程,而不是學會Java

學會編程,而不是學會Java

學會編程,而不是學會Java



作者:劉欣


由於《我是一個線程》這篇文章的廣泛傳播, 很多加了我的QQ和微信,交流編程學習的問題。


但是我發現其中很多初學者,尤其是半路出家的遇到了一個很普遍的情況: 那就是只學會了Java 的語法, 而沒有學會編程

我拿一個例子來說一下, 下面是一個SimpleList 的類, 模仿java 的ArrayList, 已經定義好了介面,需要實現具體的業務:


/**


* 自定義的一個模仿ArrayList的類, 你需要實現其中的add, get, remove , 等方法


* @author 劉欣


*/


public class SimpleList{


private Object[] elementData;


private int size=0;


public intsize() {


return -1;

}


public SimpleList(){


}


public booleanisEmpty() {


return false;


}


public booleanadd(T e) {


return false;


}


public booleanremove(Object o) {

return false;


}


public Tget(int index) {


return null;


}


}


然後我拿這個類給幾個人測試, 我發現很少人能夠順利的把這幾個方法給實現了, 哪怕是非常粗糙的實現也沒有。


感興趣的同學也可以用你擅長的語言嘗試一下。


這個題目不要求實現複雜的演算法, 也不需要進行面向對象的設計,也不需要考慮多線程下的線程安全, 況且已經給了提示:


用一個Object數組來實現。

如果說有一點語法層面的難度, 那就是使用了一點泛型。


其實如果我把泛型去掉, 估計他們還是實現不了, 因為這個類的核心邏輯不是泛型。


這個SimpleList 要求的就是能對一個數組進行操作,核心就兩點:


1. 能往數組添加數據, 記錄size ,如果數組空間不夠了, 需要增大空間


2. 能刪除數組指定位置的數據,並且把之後的數據往前挪動。


難嗎?這其實是編程序的基本素養, 編程的本質,和用什麼語言實現沒有關係。


如果不是Java , 學的是C#, 或者Python, 我估計結果也差不多。


我想可能是不少人都缺乏最最基本的數據結構和演算法的訓練, 還沒有養成面向計算機的邏輯思考的方式。


解決的辦法其實也很簡單:就是多實踐,多編碼, 我推薦多做數據機構和演算法的習題, 這也是我個人的經驗, 大學時把數據結構的習題都做一遍,後來工作中只要不是設計演算法, 基本上沒要難住我的。


如果以後想選擇碼農作為職業, 這種編程能力是必不可少的, 所以在校的同學, 不妨從現在就開始, 把缺失的能力不上。

本文編號2307,以後想閱讀這篇文章直接輸入2307即可。


輸入m可以獲取到文章目錄


本文內容的相關公眾號推薦


Java編程


程序員的那點事


更多推薦15個技術類公眾微信


涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序猿 的精彩文章:

程序猿技能表:Java、C/C+、Android、iOS、PHP、前端……
試試Linux下的ip命令,ifconfig已經過時了
這本演算法書寫了七年
HTTPS的中那些加密演算法
看破了一個網路詐騙犯,並向他隨手丟了一個木馬病毒……

TAG:程序猿 |

您可能感興趣

一步學會Python高級編程
學會思考,而不只是編程
無需編程,僅用攝像頭,Google最新項目讓你3分鐘學會機器學習
無需編程,僅用攝像頭,Google最新項目讓你3分鐘學會機器學習
一步步學會Python高級編程
學習Java編程語言難不難
學習java編程沒有想像的那麼難
Java編程初學者如何做到透徹
Cplusplus,學習多態總結,編程學習
自學Java編程的幾大技巧總結
沒有Java編程基礎,學習困難很大嗎?
Java程序員會選擇Java編程語言究竟是什麼原因呢
編程零基礎如何學好Java開發?
學慣用 Python 編程時要避免的 3 個錯誤
Python vs R,誰才是機器學習編程語言的首選?
學習Java編程去培訓機構有用嗎?
自學java編程的學習路徑和框架結構,這裡有都有!簡潔明了!
Java Socket編程
學Java編程技術順應時代潮流