{eval=Array;=+count(Array);}
現在培訓機構零基礎培訓的時間一般3-4個月,從最基本的編程語法,到編程項目實際 。一般每天培訓8個小時,整體花下來的實際1000個小時左右 。
當然,很多自控力和學習力比較牛逼的同學,可能看看博客和書本,一個月也可以基本入門,甚至拿到了實習的機會。
下面,我收集到了一份Java培訓的學習大綱,分享給你參考:
第1周 : Java基礎
第1天:
1.1 軟件開發基礎
1.1.1 計算機基礎 操作系統,文件,目錄,可執行程序,常用快捷鍵
1.1.2 常用的Shell命令
1.1.3 常用開發語言 了解
1.2 JAVA開發環境 需要說明
1.2.1 安裝JDK1.7 ,開發環境目錄要求
1.2.2 設置環境變量
1.3 第一個JAVA程序HelloWord.java
1.3.1 在記事本編寫程序
1.3.2 在Shell命令窗口編譯、執行
1.3.3 講解程序的編譯執行過程
1.4 Java編碼規范
1.4.1 源碼存儲規范
1.4.2 命名規則
1.4.3 書寫格式
1.4.4 代碼注釋
第2天:
2.1 關鍵字、標識符
2.1.1 什么是標識符
2.1.2 標識符的命名規范
2.1.3 JAVA關鍵字
2.2 常量、進制轉換
2.2.1 什么是常量
2.2.2 二進制轉換十進制
2.3 變量、數據類型、類型轉換
2.3.1 什么是變量
2.3.2 變量的聲明和初始化
2.3.3 變量的分類
2.3.4 變量的作用域
2.4 數據類型簡介
2.4.1 JAVA中的數據類型
2.4.2 基本數據類型
2.4.3 引用數據類型
2.5 基本數據類型有哪些
2.6 數據類型的取值范圍
2.7 數據類型的轉換
2.7.1 自動類型轉換
2.7.2 強制類型轉換
2.8 運算符
2.8.1 常用運算符
2.8.2 算術運算符
2.8.3 賦值運算符
2.8.4 關系運算符
2.8.5 邏輯運算符
2.8.6 三目運算符
2.8.7 字符串連接運算符
2.8.8 位運算符
2.8.9 移位運算符
2.9 表達式的值和類型
2.10 轉義字符
2.11 運算符優先級
第3天:
3.1 什么是JAVA語句的執行結構
3.1.1 JAVA語句有哪些結構
3.1.2 順序語句
3.1.3 分支語句
3.1.4 循環語句
3.2 If語句
3.2.1 簡單if語句
3.2.2 復雜if語句
3.2.3 if-else語句
3.2.4 多重if語句
3.2.5 嵌套if語句
3.3 switch語句
3.3.1 switch語句用法
3.3.2 switch使用String分支
3.3.3 switch語句與if語句的區別
第4天
4.1 循環語句
4.1.1 什么是循環
4.1.2 Java中的循環語句
4.2 for循環語句
4.3 while循環
4.1.1 while循環語句
4.1.2 do-while循環語句
4.4 特殊流程控制語句
4.4.1 break語句的使用
4.4.2 continue語句的使用
4.4.3 label 的簡述
4.5 比較while和do-while的區別
第5天:
5.1 什么是方法
5.1.1 方法(函數)
5.1.2 方法中的參數
5.1.2.1形參
5.1.2.2實參
5.1.3 方法的返回值
5.2 方法的聲明和調用
5.2.1 聲明方法的格式
5.2.2 調用方法的格式
第一周綜合測試(15:30--17:00)
第6天:數組的應用
6.1 數組的說明
6.1.1 為什么用數組
6.1.2 一維數組的聲明與創建
6.1.3 Java內存分析,堆和棧(局部變量存儲)
6.2數組的初始化
6.2.1 靜態初始化
6.2.2 動態初始化
6.3 數組的訪問
6.3.1 通過下標訪問指定元素
6.3.2 循環訪問
6.4 數組的排序
6.4.1 冒泡排序
6.4.2 選擇排序
6.5 數組的查找
6.5.1 順序查找
6.5.2 二分法查找
6.6 Arrays工具類
6.6.1 工具類中排序和查找
6.7 可變參數
6.7.1 可變參數的寫法
6.7.2 可變參數的使用
第7天:
上午
7.1 二維數組
7.1.1 二維數組的聲明
7.1.2 二維數組的創建
7.2 二維數組的初始化
7.2.1 靜態初始化
7.2.2 動態初始化
7.3 二維數組的訪問
7.3.1通過下標訪問指定元素
7.3.2通過循環訪問數組
面向對象
7.4 面向對象的設計思想
7.4.1 什么是面向對象
7.5 面向對象和面向過程的區別
7.5.1 面向對象
7.5.2 面向過程
7.5.3 區別總結
7.6 類與對象的關系
7.6.1 類的定義
7.6.2 對象的定義
7.6.3 類中成員變量的定義
7.6.4 類中方法的定義
7.6.5 方法的重載
7.7 對象的創建以及內存分析
7.8 構造方法的定義
7.8.1 構造方法的定義
7.8.2 構造方法的使用
7.8.3 構造方法重載
7.8.4 構造方法與普通方法的區別
第8天:封裝性(依賴于第5天方法)
8.1 面向對象特性之封裝
8.1.1 private 的使用
8.1.2 get/set 方法的說明(講this之前,參數與成員變量名稱要不同)
8.2 this關鍵字
8.2.1 this.屬性:訪問本類的成員屬性(成員變量與局部變量同名的情況,成員變量無效)
8.2.2 this.方法:訪問本類的成員方法
8.2.3 this():訪問本類中的構造函數
8.3 static關鍵字
8.3.1 靜態屬性
8.3.2 靜態方法
8.3.3 靜態代碼塊
8.4 static的應用
8.4.1 工具類(操作數組常用方法為例,寫一個工具類)
8.4.2 工具類的概念
8.5 設計模式
8.5.1單例設計模式
第9天
9.1 繼承
9.1.1 繼承的概念
9.1.2 類的繼承的使用
9.2 super關鍵字
9.3 繼承中的構造方法
9.4 訪問權限
9.4.1 private
9.4.2 default(默認)
9.4.3 protected
9.4.4 public
9.5 方法重寫
9.5.1 方法重寫的規則
9.5.2 Object 類
9.5.2.1 equals()方法
9.5.2.2 hashCode()方法
9.5.2.3 getClass()方法
9.5.2.4 toString()方法
9.6 final關鍵字
9.6.1 final修飾的類
9.6.2 final修飾的方法
9.6.3 final修飾的屬性
9.6.4 final與static的區別
9.7 抽象類和抽象方法
9.7.1 抽象類出現的原因
9.7.2 抽象類的特點
第10天
10.1接口
10.1.1 接口的概念
10.1.2 接口的使用
10.1.2.1 接口的聲明語法
10.1.2.2 接口的實現類
10.1.2.3 接口的使用規則
10.1.2.4 接口的使用用途
10.1.2.5 接口與抽象類的區別
10.2多態
10.2.1 什么是多態
10.2.2 多態的體現
10.2.3 對象的多態性
10.2.4 多態的表現形式
10.3對象轉型
10.3.1 對象的向上轉型
10.3.2 instanceof 關鍵字
10.3.3 對象的向下轉型
10.4 簡單工廠設計模式
第11天
11.1內部類
11.1.1 成員內部類
11.1.2 靜態內部類
11.1.3 匿名內部類
11.1.4 局部內部類
11.2 面向對象總結
11.3 Eclipse開發工具的介紹
11.3.1 工作空間的概念
11.3.2 工程的概念以及命名規范
11.3.3 包的概念以及命名規范
11.3.3.1 創建包
11.3.3.2 導入包
11.3.3.3 創建包的命名規范
11.3.4 常用快捷鍵的介紹
11.3.5 工程的導入導出
11.4 綜合案例
第12天
12.1 字符串
12.1.1 String類
12.1.2 StringBuffer類
12.1.3 StringBuilder類
12.1.4 String.format() 格式化
12.2 常用類
12.2.1 基本數據類型的包裝類
12.2.1.1 基本數據類型與其包裝類
12.2.2.2 數據的裝箱和拆箱
12.2.2.3 String 與 基本數據類型的互換
12.2.2 Date類
12.2.3 Calendar類
12.2.4 SimpleDateFormat類
12.2.5 Math類
12.2.6 Random類
12.2.7 Runtime類
12.2.8 System類
第13天:
13.1 枚舉的簡單使用
12.3.1 枚舉的定義
12.3.2 枚舉的使用(結合switch的使用)
13.2 異常
13.2.1 異常的概念
13.2.2 異常的分類
13.2.3 異常的處理方式
13.2.3.1 捕獲異常:try..catch..finally語句
13.2.3.2 拋出異常:throws和throw
13.2.4 自定義異常
13.3 集合框架介紹
13.3.1 集合的概念
13.3.2 集合的框架結構介紹
13.3.3 集合與數組的對比
13.4 Collection接口
13.4.1 集合對象的創建
13.4.2 Collection中常用的方法
13.5 List接口
13.5.1 List接口的存儲特點
13.5.2 List接口的實現類
13.5.2.1 ArrayList實現類的使用
13.5.2.2 LinkedList實現類的使用
13.5.2.3 ArrayList與LinkedList存儲的比較
13.5.3 增強for循環
13.6 擴展知識-視頻
第14天
14.1 泛型的使用
14.1.1 泛型應用在集合上
14.1.2 泛型類聲明,方法返回泛型,方法參數泛型
14.1.3 泛型限定 視頻
14.2 Iterator迭代器
14.2.1 迭代器的工作原理
14.2.2 迭代器的使用
14.3 集合工具
14.3.1 Collections 工具類
14.3.2 Comparable
14.3.3 Comparator
第15天:
15.1 Set接口
15.1.1 集合的存儲特點
15.1.2 HashSet的實現原理
15.1.2.1 重寫hashCode()
15.1.2.2 重寫equals()
15.1.3 LinkedHashSet(添加)
15.2 Map接口概述
15.3 Map接口的常用方法:重點
15.4 Map接口的常用實現類
15.4.1 HashMap
15.4.2 Hashtable 和 HashMap的區別
15.4.3 LinkedHashMap
15.5 Map的遍歷:各種遍歷方式 Map.Entry
15.6 集合的總結
第16天:文件與IO流
16.1 File類
16.1.1 File類作用
16.1.2 File類的構造方法
16.1.3 File類常用方法
16.1.4 使用File類對文件進行操作
16.1.5 使用File類瀏覽目錄中的文件和子目錄
16.1.6 遞歸算法遍歷目錄下所有文件與子目錄
16.2 IO概念和種類:
16.2.1 什么是IO流?
16.2.2 流的作用和原理?
16.3 IO流的種類:
16.3.1 按方向分:輸入流、輸出流
16.3.2 按數據單位分:字符流、字節流
16.3.3 按層次分:節點流、處理流
17.1 字節輸入流:
17.1.1 InputStream類的常用方法
17.1.2 InputStream類的子類:文件輸入流FileInputStream
17.1.3 FileInputStream構造方法和常用方法
17.2 字節輸出流:
17.2.1 OutputStream類的常用方法
17.2.2 OutputStream類的子類:文件輸出類FileOutputStream
17.2.3 FileOutputStream構造方法和常用方法
第17天:
17.1字節緩沖流
17.1.1字節緩沖流的構造方法
17.1.2使用字節緩沖流對文件進行讀寫
17.1.3 裝飾設計模式
17.2 字符輸入流:
17.2.1 Reader類的常用方法
17.2.2 Reader類的子類:FileReader
17.2.3 FileReader構造方法和常用方法
17.3 字符緩沖流
17.3.1 字符緩沖流構造方法
17.3.2 字符緩沖流的常用方法:readLine(), newLine()
17.3.3 字符緩沖流對文件進行讀寫
17.4 字符輸出流
17.4.1 Writer類的常用方法
17.4.2 Writer類的子類:FileWriter
17.4.3 FileWriter構造方法和常用方法
17.5 轉換流
17.5.1 InputStreamReader的構造方法
17.5.2 InputStreamReader的使用
17.5.3 OutputStreamWriter的構造方法
17.5.4 OutputStreamWriter的使用
以下為當天的擴展知識(可不講):
17.6打印流
17.6.1打印流構造方法
17.6.2打印流的常用操作:print(), println()
17.7 標準輸入輸出流
17.7.1 使用System.in獲取鍵盤數據
17.7.2 使用System.out輸出數據
第18天
18.1內存流(重點掌握)
18.1.1什么是內存流
18.1.2內存流的構造方法寫入到內存和讀取內存數據
18.1.3寫入到內存和讀取內存數據
18.1.4常用方法:toByteArray(), toString()
18.2 數據輸入輸出流
18.2.1 DataOutputStream 使用
18.2.2 DataInputStream 使用
18.3 對象流
18.3.1 對象序列化
18.3.2 序列化的常用屬性:
static的屬性不能序列化
transient的屬性不能序列化
serialVersionUID=1L
18.3.3 對象輸入流ObjectInputStream
18.3.4 對象輸出流ObjectOutputStream
18.4 RandomAccessFile類 (看視頻,可不講)
18.4.1 RandomAccessFile類的構造方法
18.4.2 RandomAccessFile常用操作:skipBytes() seek()
18.4.3 常用方法: getFilePointer() writerUTF() readUTF()
18.4.4 向文件中隨機寫入鍵盤文字
18.5 IO流總結
第19天 多線程
19.1進程的介紹
19.1.1進程的概念
19.1.2線程的介紹
19.2 線程的概念
19.2.1進程和線程的關系以及區別
19.3 線程的實現
19.3.1 實現Runnable接口
19.3.2 兩種實現方式的比較
19.4線程的啟動
19.4.1調用start()方法啟動線程
19.4.2調用start()與調用run()的區別
19.5 線程的生命周期
19.6 線程的常用方法
19.6.1線程的優先級
19.6.2線程的名稱
19.6.3線程的睡眠
19.6.4線程的中斷
19.6.5線程的停止
第20天
20.1 多線程訪問臨界資源時的數據安全問題
20.1.1 synchronized關鍵字
20.1.2 同步代碼塊
20.1.3 同步方法
20.1.4 同步靜態方法
20.1.5 鎖對象
20.1.6 死鎖
20.2 生產者消費者 (看視頻,可不講)
20.3 線程池 (只看視頻)
20.3.1單線程池
20.3.2固定線程池
20.3.3緩沖線程池
第21天:網絡編程
21.1 網絡通信協議介紹
21.1.1 TCP/IP協議
21.1.2 IP地址和端口號
21.1.3 基于TCP的網絡編程
21.1.4 Socket和ServerSocket
21.1.5 UDP編程(視頻)
第22天:HTTP訪問
22.1 URL類的使用
22.1.1 什么是URL類
22.1.2 URL的構造方法
22.1.3 URL類的常用方法
22.2 HttpURLConnection類簡介(重點)
22.2.1 簡單介紹HttpURLConnection類
22.2.2 HttpURLConnection的常用方法
22.3 HttpURLConnection類的應用
22.3.1 HttpURLConnection請求服務器,獲取響應的文本
22.3.2 HttpURLConnection下載文件
22.4 OkHttp 簡單使用
24.4.1 同步GET、POST請求
22.5 接口回調 ***
22.5.1 接口回調結合多線程的應用
22.5.2 OkHttp 異步請求,利用內部類,實現接口回調
第23天:XML 解析
23.1 XML簡介
23.1.1 什么是XML
23.1.2 XML語法結構
23.1.3 XML元素定義
23.1.4 XML屬性使用
23.1.5 自定義XML文件
23.1.6 XML解析的三種方式說明:SAX, PULL, DOM(只看視頻)
23.2 PULL解析
23.2.1 PULL解析原理
23.2.2 PULL解析XML文件
23.2.3網絡XML文件解析
23.3 SAX解析
23.3.1 SAX解析的原理
23.3.2 SAX解析常用類介紹
23.3.3 SAX解析XML文件步驟
23.3.4網絡XML文件解析
23.4 PULL解析與SAX解析的區別
第24天:JSON解析(重點)
24.1 JSON解析簡介
24.1.1 什么是JSON
24.1.2 JSON與XML之間的比較
24.1.3 JSON解析在網絡中的應用
24.2 JSON的數據表示
24.2.1 鍵值對的對象表示
24.2.2 數組的表示
24.3 JSON解析
24.3.1一個對象的JSON解析
24.3.2多個對象的解析
24.3.3復雜對象的解析
24.3.4將集合轉成JSON字符串
24.4 官方JSON解析
24.5 Gson解析
第25天
25.1 正則表達式
25.1.1 String 正則
25.1.2 Pattern Matcher
25.1.3 正則元字符
25.1.4 正則表達式
25.2 SQLite數據庫
25.2.1 數據庫創建
25.2.2 表的創建以及常用約束
25.2.3 增刪改查
第26天:
26.1 反射
26.1.1 類的加載 Class.forName()
26.1.2 創建對象的兩種方式(newInstance與帶參數構造器)
26.1.3 成員變量的訪問 Field類 和 getDeclaredField方法
26.1.4 方法的訪問與調用 Method
26.1.5 構造方法
26.2 注解
第27天:HTML5的簡單應用
27.1 HTML5網頁語言:
27.1.1 HTML5介紹
27.1.2 HTML5常用標簽
27.1.3 Form表單
27.1.4 HTTP協議分析
27.2 CSS樣式-常用的屬性
27.3 JavaScript解釋腳本語言
第28天 Servlet
28.1 Web服務器搭建-Tomcat
28.2 Servlet簡介:
28.2.1 什么是B/S和C/S結構
28.2.2 什么是Servlet?
28.2.3 doGet與doPost方法的區別
28.3 Servlet的應用
28.3.1 信息收集實例
28.3.2 文件上傳實例
28.3.3 移動客戶端的Http請求處理
第29天: 工具類設計
29.1 工具類設計原則
29.2 單例模式的工具類
29.3 靜態方法的工具類
29.4 接口回調的設計過程
29.5 使用Java語言的注意事項
第30天: 核心知識點的綜合應用
30.1 面向對象的設計原則
30.2 集合、IO流、異常的應用
30.3 網絡請求json數據的應用
30.4 線程池的下載網絡資源的應用
如果需要更全的學習資料,可以關注私聊我,免費。
謝邀
學好一個編程語言,這“好”看你要如何定義了?
這個應該是作為學一門編程語言最基本的要求的,要學會用一門編程語言來解決實際項目,這個過程大概幾個月左右即可。所以很多培訓機構一般也將培訓時間控制在幾個月內,一般學到這個程度都能夠自己多帶帶開發項目了。
不過作為開發人員來說,會用一門開發語言是遠遠不夠的,一般開發一個項目也會涉及到多門開發語言,就比如說搭建一個網站,作為后端你可以選擇java、Python、php等,但是還需要自己設計前端js、css、html這些是少不了的。
當你會用這門語言的時候,只能說你只是入門有了基礎而已,后面要學的東西還有很多,這也是為什么說程序員要一直學習。
要達到這個過程需要很久,可能直到你退休的時候也無法真正精通這門語言,因為對于一門編程語言來說,想精通它,還需要很多其他的知識,而這些知識又會需要其他的知識,你只能不停的學習,很難掌握所有的知識,這也是為什么說學無止境
對于開發者來說很難掌握的很全面,所以我覺得剛開始學習的時候可以多學點,把自己的眼界和知識面打開,然后再去選擇某個領域一直學習下去。
感謝邀請,作為一個工作多年的程序員,我來分享一下我的個人觀點
我的觀點是:任何一門語言,要學好,這個時間是無限的。接下來我說下學習一門編程語言的順序。
1、肯定是要初步了解一下這門語言的發展歷史,以及它能做什么,優缺點。
2、學其語法。任何一門編程語言都有自己特定的語法。
3、基礎知識、簡單的應用。比如用JS寫一個小游戲。
4、學習框架,比如Vue,react,angular這些都是不錯的框架,先學會使用他們
5、閱讀其源代碼,學習框架作者優秀的編程思維。
....
當然后面還有更深層次的。以上這些都值得我們在有限的生命不斷的學習,這是一個無止境的學習過程。
感謝題主邀請回答。
學好一個編程語言大概要多長時間?這個問題其實是一個最大的誤區!可能和我們從小受到的教育體制的影響有關,始終會用學習,學生的態度對待一個新事物。但實際答案是:
學好一個編程語言可能只需要3天。是不是很吃驚?但作為一個有著20年編程經歷的IT從業人員來說,這個體會可是工作里得來的。下面就結合Python大大本人的實踐經歷來詳細展開闡述分析這個問題吧。
大大從小也是在傳統教育體制下慢慢熬大的,特別是在上大學前,根本體會不到學習的快樂,都是想學好,但只能被動的被灌輸,被動的應付考試。但這一切,在上大學后的計算編程的學習體驗里被顛覆了,在閱讀了國外的計算機教材后顛覆了。上大學時候,入門c++都是那本清華出的譚某的教程,雖然覺得枯燥,但還能上級實習,甚至能發現教材的漏洞,這種體驗都是以前無法體會的,居然能捅教材的婁子,這還是感覺很爽的。再讀了國外的教材,發現哇,外國人怪不得計算機好,他們的教程就是很不一樣,計算機深入淺出的告訴你這個原理怎么來的,而且還能傻瓜化的實踐下,讓你自己去動手,自己領悟,完全把主動放給了讀者,讓讀者去威武,而不是讓教程變成讀者心目中的神圣傳說。
話說回來,學好一個編程語言大概要花費的時間,就是三天。三天里把語法了解了,大概上手練習下,基本上后面自己就開始實踐,結合項目不斷的實踐,就能把語言搞得很好。這也有實例可以證明。
以前在一個公司,有個重要的服務器系統,用c++寫的,有個研發人員維護了2年,結果離職時候,不爽,把代碼刪除了。當時都傻了!
大大臨危受命,來重建這套系統。當時命很好,python也出現了,而且小范圍流行。作者帶著一個剛畢業的,給了他三天來學習基礎語法,然后直接上手做系統,不到2周,整套服務器系統搞定上線,而且維護性還好。那剛畢業的同學剛開始都感覺不可完成這么艱難的任務,特別是用一種新語言,結果,大大就給了他一句話,“只要三天,你就可以學會”,最后,成功了!他現在也一直用Python來做項目,哈哈。現在這套經驗,大大也用到教學上,剛開始就讓同學直接上手編程,結果也是很喜人的!
希望對大家有用,謝謝!
作為一名剛畢業的軟件大學生來說,我自己認為是學習成本還是比較低的吧。
在學校四年學到的一些計算機理論知識其實是遠遠沒有辦法應付真實的就業環境的。在大四后半學期我們出去進行了實習。我當初是走的大數據方向,但是去了公司卻需要一個產品經理。最后我進行了一個月的自己學習,就可以簡單的上手了。剩下的問題其實是在不斷的遇到問題,不斷的解決問題中成長起來的。
就按我上面所說的這樣的話,其實學習的成本并不是很大。自學能力較強的半個月就差不多可以上手了。
除此之外市面上還有一些培訓機構。他們從零基礎開始學習,大概的周期是三到五個月吧。能讓你從零到一定得入手。這個的學費差不多就兩萬左右吧。講實話也其實時間和成本花費的并不是很多。
再者說,我們市場上面見到的那些軟件。其實都是已經開發好了,有了完整的一套系統。真正的程序員不是去創造代碼,而是去將不同的代碼再次的組合起來,形成一個新的程序。比如購物商城大同小異都是這個樣子的,手機app的小功能根據自己的公司定制成不同的。這其實都不需要太多的改動就可以完成。
所以說,在我看來學習的成本和時間還是很小的。當然前提是你有意向去學習這樣一個東西。其中的樂趣其實有很多, 進去了你就知道了。如果有幫助到您的話,點贊收藏,感謝您的關注。
我是去年大學畢業,在培訓學校培訓了半年。我個人自制力不好,沒有去自學。我覺得你既然決定自學的話,那就網上多找找資源,介意不要去學Java,目前市場太飽和,可以考慮前端,如果要是女生的話測試是最好的選擇,不過測試不屬于編程(自動化測試除外)。你可以關注w3school和letcode這些,csdn上面的一些博主也可以看看
謝謝邀請
這個要看你是自學還是去培訓
首先,如果是培訓機構進行學習,可以避免少走彎路,而且進行系統培訓加實戰,一般3-5個月就可學有所成;
其次,如果是自學,如果你認定了要學某種語言,就每天要有自己的規劃:
1.每天至少花三個小時以上專心的學習,不要三天打魚兩天曬網,持之以恒對待它;
2.建議去網上實戰和視頻學習,自學網站推薦https://www.toutiao.com/i6697406763148247566/;
3.必須要有一個老師,如果沒有人給你解答,會浪費很多時間,而且大多數問題對于新手來說,你可能琢磨一天,有人指導你,可能很快就能理解明白;
4.實踐,任何技術學習都不能僅僅在于理論的掌握,而是要動手操作,動手操作的同時就是認識它的過程;另外要多做項目,代碼量的多少決定你學習是否努力是否技能掌握;
總之,學習一定要動手實踐,要多做項目,項目在理論基礎上,但又在理論之中,只有不斷的理論,實踐,理論,實踐....中不斷的學習,技術才能越來越提高!至于要學多久,還是要靠自己努力和悟性!
如果有練習項目,思路通暢的話,1個月就夠了.
去力扣中國(https://leetcode-
cn.com
)從基礎的題目開始刷,刷到100題語言基礎就出師了,起碼強于或不低于計算機專業的畢業生。繼續用人生刷題。不過這里的題目都是語言基礎的,不涉及第三方的組件,練習組件以及將組件使用到項目上,這需要工程方面的能力了!別相信大學里的軟件工程課程,沒什么用的!
軟件的功能無外乎兩個,解決算法問題,解決數據問題。當下用的最多的是解決數據問題,生產數據、統計數據,算法問題和框架問題基本都是老外在貢獻,國內也就ucloud的框架可用!最后看一下學習路線。
1、打好語言基礎,熟悉變量,條件控制語句,循環語句,各種數據結構(數組、集合等);
2、熟練使用第三方組件和框架,這是通往工程之路第一步;
3、熟悉數據庫,怎么都繞不開的東西
4、能夠從需求出發設計系統,規劃系統和開發方案、周期等管理相關工作!
10
回答0
回答0
回答10
回答0
回答0
回答0
回答0
回答7
回答0
回答