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