Ⅰ 如何學習java程序設計
JAVA是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於JAVA,對C++等其他程序設計語言也一樣管用。有編程高手認為,JAVA也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1、培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。
2、慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
3、要腳踏實地,快餐式的學習不可取
軟體開發是一門工程學科,注重的就是實踐,「君子動口不動手」對軟體開發人員來講根本就是錯誤的,他們提倡「動手至上」,但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副「比爾蓋茨」樣。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
4、多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
參考代碼例子,也可以研究一些開源的軟體或框架。
5、加強英文閱讀能力
對學習編程來說,不要求英語,但不能一點不會,。最起碼像JAVAAPI文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個「金山詞霸」。
6、萬不得已才請教別人
要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
7、使用合適的工具
工欲善其事必先利其器。軟體開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟體的質量更高BUG更少。組合稱手的武器。昆明計算機學校http://www.kmbdqn.cn/認為到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
Ⅱ 計算機程序設計師要學什麼
數學離散數學集合論 關系 代數系統 數理邏輯 圖論
組合數學排列組合 母函數 群論 遞推與遞歸
數學規劃線性 動態 整數
高等數學向量 行列式與矩陣 微積分初步
概率統計
初等數論素數 整數理論 同餘與模線性方程
計算幾何
數據結構存儲結構線性表
(一級結構)靜態:數組 棧 隊列 廣義表 字元串
動態:指針 鏈表 動態數組
樹
(二級結構)表示法(靜態、動態) 二叉樹 森林
圖
(三級結構)表示法(矩陣、鄰接表、三元組)
特殊結構散列表(HASH表) 並查集 線段樹 後綴樹 哈夫曼樹與哈夫曼編碼 地址表 Bit圖 滾動數組 棋盤圖 邊頂置換圖 二分點圖(網路流)
常用方法遍歷樹 圖 前/中/後序優先
轉化拓撲排序(三級結構轉一級結構) 最小生成樹 最小樹形圖(三級結構轉二級結構) 逆遍歷
壓縮路徑樹的線索化
壓縮存儲
查找線性直接 折半 Fab
樹形二叉查找樹 平衡二叉樹B+樹 B-樹 線索二叉樹 索引表
排序插入排序直接排序、折半排序、2-路排序
交換排序冒泡排序 快速排序 歸並排序
堆排序
基數排序鏈式基數排序 桶排序
代碼素養代碼的編寫速度和准確性 誤碼率
演算法實現
演算法優化
調試 查錯 測試
習慣變數名 注釋 縮進 模塊化
基本演算法數學高精度計算(模擬計算)
表達式處理括弧 前/中/後綴表達式 表達式樹
排列組合求值 嵌套控制
高斯消元法
篩選素數素數表
分數處理
基本操作實現大量數據賦值與移動Fillchar fillword move等函數
處理實數比較大小 高精度
字元串處理基本函數 KMP演算法
圖論
(顯示圖搜索)路徑問題
(邊集)連通性測試傳遞閉包演算法 極大強連通子圖 最小點基
最短路問題標號法 第k小路 減半最短路Dijkstra演算法 floyd演算法 bellman-ford演算法 Warshall演算法
特殊路徑歐拉路及迴路 哈密爾頓路及迴路
圖的中心和重心
生成樹Kruskal演算法 Prim演算法
集
(頂點集)覆蓋集
獨立集
支配集
割頂和塊
網路流容量有上下界的網路最大 / 小流
容量有上下界的網路最小費用最大 / 小流
頂容量網路最大流
供求約束可行流
二分圖匹配匈牙利演算法
關鍵路徑
搜索
(隱式圖搜索)深度優先搜索
(回溯法)剪枝優化
預處理
記憶化搜索
可變下界的深度優先搜索
隨機化搜索
廣度優先搜索雙向廣搜 *多向廣搜
啟發式搜索(A演算法)
分枝定界
多階段決策貪心演算法
動態規劃
其他構造法窮舉
模擬
要學完這些不容易
有是都學好了
你就不是程序設計師了
你就是軟體工程師了
層次不同啊
Ⅲ 想學好程序設計基礎這門課該如何做
一、明確學習目的
學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
二、打好基礎
學編程要具備一定的基礎,總結之有以下幾方面:
1、數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
2、邏輯思維能力的培養學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
三、注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針這些語法、結構的應用例子,做到舉一反三,觸類旁通。
四、掌握編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
五、多實踐、多交流
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
六、養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
七、上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。
8
八、加強計算機理論知識的再學習
學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
Ⅳ 新手如何學習編程
學習編程首先要選擇一門適合自己的編程語言,如果要從事專業的程序開發崗位,當前可以重點關注一下Java語言,一方面Java語言是全場景編程語言,另一方面Java語言在IT互聯網行業內的應用比較廣泛,就業也相對比較容易。
當前java語言的學習資料比較多,但是要想有一個較好的學習效果,應該重視三方面內容,其一是要為自己營造一個實踐場景,要邊學習邊實踐,其二是要為自己營造一個交流環境,交流和總結是形成自己編程思想的重要環節,其三是要有一個主攻方向,圍繞主攻方向來制定學習路線。
當前IT互聯網行業的Java崗位非常多,不同崗位對於從業者的知識儲備也有不同的要求,要想達到初級程序員的標准,以Web開發崗位為例,至少要具備三方面能力。
注意事項:
當前選擇學習編程是不錯的選擇,一方面產業領域對於程序開發人才的需求量比較大。
另一方面隨著工業互聯網的落地應用,未來大量崗位的從業者都需要掌握一定的編程知識,掌握編程語言不僅會拓展自己的就業空間,同時也會提升自身的職場價值。
Ⅳ c語言程序設計怎麼學才能學好
很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢? 第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。那麼究竟怎樣學習C語言呢?1:工欲善其事,必先利其器這里介紹幾個學習C語言必備的東東:一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。 2:葵花寶典學習計算機語言最好的方法是什麼?答曰:讀程序。沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。3:登峰造極寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書
Ⅵ 怎樣學習編程
如何學習編程,主要有自學和報班兩種途徑,至於需不需要報班,可以結合自己的實際情況來進行判斷,這里簡單介紹下。
學編程的注意點:
1、要確定好自己一定能學下去,不能是三分鍾的熱度,只是學個熱鬧,這樣永遠沒有辦法學的會。
2、一定要打好基礎,剛開始學習編程的時候可能會很慢,感覺自己沒學會啥,這可能是因為正處於打基礎的階段,只有把基礎打好,未來才可以學得更好。
3、要注意實踐操作,理論知識學得再多,如果不能實際的運用,還是等於0的。
自學還是報班:
1、如果你可以規劃好自己的學習過程,堅持一步步向前走,那麼自學當然是很好的。
2、如果你沒人監督就學不進去,也沒有自己的學習規劃,那麼還是建議你報班,可以少走冤枉路。
不管是自學還是報班,學編程的要注意的點是相差不大的,希望我的回答對你有幫助!
Ⅶ 編程需要學習什麼
操作系統、資料庫、設計模式、軟體工程、數據結構與演算法
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。
這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」
Ⅷ 怎麼學好程序設計
首先,要認清學習程序設計的目的是學習程序設計的思想,而不是學習編程的語言.當然,你選擇的語言應當典型而且被廣泛使用,否則你會發現你學習的語言無用武之地.同時,當你對一種語言了解深刻以後,你會發現學起其他語言來非常簡單,因為來來去去本質上都是一樣的東西,也就是說,當你真的把一種語言學好了以後,你幾乎不必再去刻意學習另外一種語言去讀那種語言寫的程序了.
其次,要有恆心,要堅持不懈--不是鑽牛角尖.因為無論學習什麼都是一個漫長的過程,從你的第一個hello world程序到一個成型的應用程序可能會經過很長時間,但請相信,只要你努力,你就每一天都有進步,如果你在學習程序設計的過程中發現沒有任何的困難,那有兩種可能,一是你是一個天才,另外一個就是,你沒有刻苦.
再者,關注新事物,但不要盲從.科技一日千里,尤其是IT界,一個程序員每天都要充實自己才能保證不被淘汰.但是,在充實自己的同時,不要盲目追求所謂的最新的技術,實際上,無論技術如何先進,最重要的還是你的基礎.如果對於每一樣事物都淺嘗則止,那麼,你永遠都是門外漢.
最後,對於很多人來說,演算法和數據結構的學習過程可能是很枯燥的,但是,如果你真的要下定決定學好程序設計,相信我,這些最枯燥的東西,才是對你最有用的.
可能講得有些離題了,希望對你有用.