学习编程语言需要哪些基础

眼眸深邃、轮廓分明、身材颀长,活生生的一幅画。
这在监狱民警看来,那么令人不可思议。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识。下面就说说Java零基础学习Java编程语言基础知识的几个要点。希望能够对Java编程基础入门学习的新手有帮助。
  一、先明白了解什么是Java的四个方面。
  初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。而不去理解。我们有一个JAVA的学习交流群,搜索二八零中间是八二一最后是779,平时提供大家一起学习JAVA,每天免费JAVA课程知识讲解。有问题相互交流
  Java编程语言,即语法。
  Java文件格式,即各种文件夹、文件的后缀。
  Java虚拟机(JVM),即处理*.class文件的解释器。
  Java应用程序接口(Java API)。
  要知道java是分两部分的:一个是编译,一个是运行。
  javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
  java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
  一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
  二、掌握静态方法和属性
  静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
  三、初学者还需明白JAVA的三个技术平台的关系。
  Java分为三个体系,分别为Java SE(J2SE,Java2 Platform Standard Edition,标准版)。
  JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版)。
  Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
  要知道java是分两部分的:一个是编译,一个是运行。
  javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
  java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
  一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
  四、掌握JAVA代码的基本格式
  1、Java注释尽可能全面
  对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述:类的注释应该包含类的功能说明、作者和修改者。
  2、多次使用的相同变量最好归纳成常量
  多处使用的相同值的变量应该尽量归纳为一个常量,方便日后的维护。
  3、尽量少的在循环中执行方法调用
  尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。例如:
  for(int i=0;i&list.size();i++){
  System.out.println(i);
  可以修改为:
  for(int i=0,size=list.size();i&i++){
  System.out.println(i);
  4、常量的定义可以放到接口中
  在Java中,接口里只允许存在常量,因此把常量放到接口中声明就可以省去public static final这几个关键词。
  5、ArrayList和LinkedList的选择
  这个问题比较常见。通常程序员最好能够对list的使用场景做出评估,然后根据特性作出选择。ArrayList底层是使用数组实现的,因此随机读取数据会比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。
  6、String,StringBuffer和StringBuilder
  这个问题也比较常见。在进行字符串拼接处理的时候,String通常会产生多个对象,而且将多个值缓存到常量池中。例如:
  String a=“a”;
  String b=“b”;
  a=a+b;
  这种情况下jvm会产生“a”,“b”,“ab”三个对象。而且字符串拼接的性能也很低。因此通常需要做字符串处理的时候尽量采用StringBuffer和StringBuilder来。
  7、包装类和基本类型的选择
  在代码中,如果可以使用基本数据类型来做局部变量类型的话尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比堆快很多。
  8、尽早的将不再使用的变量引用赋给null
  这样做可以帮助jvm更快的进行内存回收。当然很多人其实对这种做法并不感冒。
  9、在finally块中对资源进行释放
  典型的场景是使用io流的时候,不论是否出现异常最后都应该在finally中对流进行关闭。
  10、在HashMap中使用一个Object作为key时要注意如何区分Object是否相同
  在jdk的HashMap实现中,判断两个Object类型的key是否相同的标准是hashcode是否相同和equals方法的返回值。如果业务上需要对两个数据相同的内存对象当作不同的key存储到hashmap中就要对hashcode和equals方法进行覆盖。
  Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。
  由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。
  想学习更多的Java免费课程知识。就加入我们Java编程入门学习Q群 一起学习交流进步吧。点击链接加入群【Java编程入门学习】:/?_wv=1027&k=40amIOU学习
  更多的java精彩文章在部落:。
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
交流 photoshop、 ps平面设计、 淘宝美工、影楼...
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:编程基础知识分享——编程开始之前 - waterxi - 博客园
随笔 - 15, 文章 - 1, 评论 - 32, 引用 - 0
  对我来说,编程这件事与其说是工作,不如说是兴趣。尽管和自己理想中的编程比,自己的所谓编程只不过是小打小闹,但是现在又有多少所谓的IT从业者是做真正的编程?产业化的今天,其实真的没有必要区分所谓的程序员和码农,每个人的路线和生活都不相同,也不可能相同,有人学编程只是为了一份工作,有人纯粹为了爱好。我的理解,无论出发点如何,只要尊重自己的选择,能够有所收获就够了。
  这系列文章,是自己当初学习编程的一些方法和经验,整理了一下,可以分成几块记录。对于专业的程序员,我的经验并不适合,一些计算机专业出身的朋友,也不太适合。个人认为,我的这些经验更适合对编程感兴趣和转行的同学,当然更多的是入门的东西,不必太严肃,也不会太枯燥,当初自己学习编程像听故事一下,也希望这里的经验分享也能当故事一样。
  这里的分享主要是计算机基础和编程基础为主,着重编程思维和编程的学习方法,核心的目标有三个:学习编程思想,学习解决问题的思路,学习乐观的态度。
  简单的介绍一下自己,性别:男,年龄:29,学历:本科(数学专业),比较感兴趣的方向是数据库、算法、大数据、统计、浏览器技术,自动化框架设计等,之前从事过医疗软件测试、office开发、windows客户端(浏览器、输入法等)测试,现在大部分时间在做云产品和基础安全产品(ddos等)的测试,主要语言是C系列, python, java,matlab。
  第一篇作为预备起,包含两部分内容,一部分是对编程基础的整体介绍,另一部分是编程的预备知识。
编程入门的目的
狭义来讲,我认为编程入门的目的有下面四个:
编写程序解决实际问题
看懂别人的代码和思维方式
培养编程的兴趣
学会如何学习
广义上的目的有如下三个:
培养计算机思维
了解计算机的功能范围和它的局限
学会将实际问题转化为计算机模型
编程入门知识包含的内容
入门的知识如何界定是一个模糊的概念,一些常用的需要掌握的内容如下:
数据类型、变量、运算、语句和结构
函数编程和面向对象编程
高级数据类型
异常、调试、故障定位和优化
基本的仿真和模拟
常用编程思想和模式设计
考虑我个人的学习方法(我接触编程较晚,大学毕业后才学习),我推荐的一些方法如下:
抛弃老师或者书上的笔记,以自己记录的笔记为主
主动思考为主,遇到问题不要问别人答案,如果要就要提示
多看看面试题和开源的东西
简单的语言着手,但是需要对比的学习其他语言
学习不限制形式,轻松一点最好,但是要求要严格
切忌自欺欺人
下面是一些储备知识,这些知识在网上都可以轻松的检索到,可以多参考一些资料:
冯诺依曼体系硬件模型
  建议学习编程的人在写helloworld之前,先了解计算机是怎么工作的,至少当你运行代码的时候,要知道程序并不是屏幕上的几行代码,至少需要一段可以运行的程序、专属的堆栈空间、有内核控制块、有独立的存储空间(内存)。
请参考维基百科以及涉及到的主要资料:
计算机启动过程
比如linux加电自检后的启动过程:
百度百科的资料可以参考
,不需要严格的去学习编译原理,但是也不能仅仅限制于百科上的东东
内存进程模型
建议每一个学习编程的人,都要了解内存进程模型,这部分的东西可以参考经典的《深入了解计算机系统》第一章相关部门
程序执行过程
  可以参考
问题的抽象方法
  大部分遇到的问题,都可以抽象为两种最小粒度描述,描述结论的和描述过程的,即陈述型和推导型:
  陈述型:描述为主,一般有绝对的结果性,这种方法更多的时候是在说明一件实事和结果,比如加减计算;
  推导型:推导为主,一般只有相对和较优的结果(有时无结果),这种方法更多的是诠释一个过程,比如开平方和线性逼近;
编程语言类型
  分类的方法太多了,常用的分类如下:
  High vs. low
  General vs. targeted
  Interpreted vs. compiled
  对比编程语言的时候,另一个需要了解的东西是图灵兼容:
  图灵兼容:
    只要有适用的基本指令集,好的程序员能编出任何程序。1936年,图灵认为只要六条简单的基本指令,一切都可以通过机械工艺解决。随之产生了一些有趣的推论。其中有条是,只要能在一种编程语言中实现,就能在另一种语言中实现。C中能实现的没有Fortran不能实现的。
语意和语法
  编程语言和人类语言一样也是沟通的一种方法,了解基本的语意语法,有助于快速的学习编程语言&&从这点讲,疯狂英语的学习方法在编程语言的学习上并不适用。
  简单来说:
    语法错误可以认为程序本身是&错&的,即说的不是&人话&,比如&猫狗是&这样的表达,程序角度来讲,这样的错误编译是通不过的,大多数ide都会有这方面的处理;
    语意错误更多认为程序内容是错的,而程序本身没问题,即说的是&人话&,句子是对的,但是想表达的意思是不对的,比如&猫是狗&,这样的问题只能在代码执行的时候才能表现出来;
编程之前的储备知识就这么多了,下一篇是变量、结构、语句和类型的一些学习经验分享。网页制作需要什么基础?需要学什么 编程 语言!
【网页制作需要学什么基础?需要学什么编程语言!
期盼高人相助指点!】
yeekit54321:
你需要学习html相关知识.做网页使用最多的工具软件应该是frontpage和dreamweaver了,建议你学好dreamweaver,flash,fireworks(网页三剑客),
也可以用photoshop代替fireworks.要学编程语言的话,如果你以后要做asp动态网页,那就要学vb,如果你要用jsp,或者php的话,你要学好c语言.c语言对学习flash编程as也有帮助的.
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动学习电脑编程需要什么基础_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
学习电脑编程需要什么基础
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

 

随机推荐