首页 > 科技 > 问答 > 科技知识 > 不再是一种编程语言,一种编程语言要学多久

不再是一种编程语言,一种编程语言要学多久

来源:整理 时间:2022-04-24 17:02:42 编辑:科技知识 手机版

目前业界流行的主要编程语言有C/C、Java、Go、Python、C#等。编程语言有很多种,不同的方向对编程语言的要求也不一样,因为这些适用的场景也不一样。在学习编程之前,你需要知道你想学习哪种编程语言。编程语言有很多种,各有千秋。题主可以根据自己的兴趣和薪资来选择。

自学编程以一般人来说需要多久?

自学编程以一般人来说需要多久

在学习编程之前,需要明确自己要学习哪一门编程语言,编程语言种类繁多,各有千秋,题主可以根据自己的兴趣及及薪资来进行选择。确定编程语言后需要制订一个合理的学习计划,并且持之以恒地执行学习计划。在学习过程中要养成良好的学习习惯。如果题主目前还没有明确的学习目的或者倾向性,源妹儿推荐JavaScript和Python。

这两种语言都有很好的生态,意思是当你需要帮助或者需要使用第三方代码时,比较容易获取。如果你有意向数据分析、机器学习、人工智能方向发展,那么选择Python。如果这些都不感兴趣,那也可以选择JavaScript。看描述题主是想自学编程,那么自学编程主要有以下九个阶段:第一阶段:看书、看博客、学课程或者看视频等;第二阶段:模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键;第三阶段:思考学习别人思路后,脱离书本和博客,完全自己实现功能;第四阶段:自己实现一些Demo,看别人项目代码,与别人讨论,提升代码能力;第五阶段:在别人的框架和要求下,写代码实现业务;第六阶段:自己负责别人设计的模块的实现;第七阶段:独立设计业务模块并开发实现;第八阶段:负责大项目框架设计和拆分,带领别人进行开发;第九阶段:其他高阶的架构和管理工作,已经不仅仅是代码能力了对于以上九个阶段的学习,能够完成前五项就已经很不错了,前五阶段主要是基础的学习和部分练习,算是比较基础的,只要自己肯吃苦,肯下功夫,相信还是能学有所成的。

学好一个编程语言大概要多长时间?

学好一个编程语言大概要多长时间

现在培训机构零基础培训的时间一般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.java1.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 private9.4.2 default(默认)9.4.3 protected9.4.4 public9.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和throw13.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 Comparable14.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 HashMap15.4.2 Hashtable 和 HashMap的区别15.4.3 LinkedHashMap15.5 Map的遍历:各种遍历方式 Map.Entry15.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类的子类:文件输入流FileInputStream17.1.3 FileInputStream构造方法和常用方法17.2 字节输出流:17.2.1 OutputStream类的常用方法17.2.2 OutputStream类的子类:文件输出类FileOutputStream17.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类的子类:FileReader17.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类的子类:FileWriter17.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=1L18.3.3 对象输入流ObjectInputStream18.3.4 对象输出流ObjectOutputStream18.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和ServerSocket21.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 什么是XML23.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 什么是JSON24.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 Matcher25.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 方法的访问与调用 Method26.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天 Servlet28.1 Web服务器搭建-Tomcat28.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 线程池的下载网络资源的应用如果需要更全的学习资料,可以关注私聊我,免费。

文章TAG:编程语言要学多久

最近更新

  • 手机里的图片都在哪里?,你们手机里的照片都存在哪里

    手机空间释放后,上传到腾讯相册不显示占用空间,手机操作过程中也不会出现卡顿现象。清理手机垃圾时,腾讯相册不会有垃圾,所以整体上没有发现内存占用现象。我给大家分享一个储存照片的好方法 ......

    科技知识 日期:2022-07-20

  • 人为什么要有价值观,一个人存在的价值是什么

    树立正确的人生观和积极的价值观,首先要树立正确的是非观。决定一个人价值观的标准不一样。根本区别在于各自的创造力、精力,差异化的社会分工,利益分配平衡中相对统一的需求。一个人的认识和 ......

    科技知识 日期:2022-07-19

  • 为什么黄牛抢票用什么软件,为什么还会有黄牛抢票

    黄牛使用的抢票软件是独立软件。最后黄牛用的抢票软件和我们的差别很大。我们平时用的软件都是市面上常用的。这些抢票软件都是很多人用的,服务器平均分配后自然减少了我们每个人的份额,这也是 ......

    科技知识 日期:2022-07-18

  • 为什么苹果亮银贵,为什么苹果的数据线这么贵

    你知道为什么苹果的数据线贵但是容易断吗?苹果手机最大的优势就是iOS系统和苹果的A系列处理器。关键是最便宜的苹果数据线官方售价149元。按照大部分苹果数据线不到一年的使用寿命,光是 ......

    科技知识 日期:2022-07-18

  • 谷歌眼镜显示屏在哪里,哪些VR眼镜值得买

    VR眼镜的分类目前VR眼镜主要分为VR盒子VR一体机和PCVR。去的太早了,先发明骑行用的智能眼镜还好,但还没消失。第二代企业版谷歌眼镜高通SnapdraonXR1平台运行,不出售 ......

    科技知识 日期:2022-07-18

  • 上海哪里体验一加手机,一加手机真的快不行了吗

    说到一加,总会有一大批人说一加手机只活在互联网上。比如现实中没有一加手机的踪迹。一加定位,首先你必须是网络爱好者,否则一般没机会看到。其次,一加一直以来都是精品旗舰策略,每一次新机 ......

    科技知识 日期:2022-07-17

  • 为什么冬季雾霾最严重怎么办,夏天难道就没有雾霾吗

    为什么冬天有雾霾,夏天没有?看来雾霾的主要原因还是气象条件。其实冬天的雾霾已经比以前轻很多了。所以直到现在,冬天还是有雾霾。个人认为和农民烧麦秸没关系。入秋以来,随着来自中国的西北 ......

    科技知识 日期:2022-07-17

  • 苹果为什么好用,苹果的系统那么难用

    我用的是苹果安卓,我觉得苹果不好用。我承认苹果系统很流畅,但是旗舰安卓机型还可以,更重要的是也很耐用。苹果系统真的没有安卓系统自由。换了苹果第二天就开始想念安卓了,应用很忙。微信视 ......

    科技知识 日期:2022-07-17