编程语言的学习过程

举Java语言为例:

1、了解从Java程序编写至运行的过程步骤。

  1)txt记事本

  2)下载JDK

  3)熟悉DOS窗口下一些简单命令

  4)  环境变量的配置

那么JDK是什么?JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等

  JDK包含的基本组件包括:

  javac – 编译器,将源程序转成字节码

  jar – 打包工具,将相关的类文件打包成一个文件

  javadoc – 文档生成器,从源码注释中提取文档

  jdb – debugger,查错工具

  java – 运行编译后的java程序(.class后缀的)

  appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

  Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

  Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

  Jconsole: Java进行系统调试和监控的工具

JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。

java.io: 这里面是所有输入输出有关的类,比如文件操作等。

java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用

java.net: 这里面是与网络有关的类,比如URL,URLConnection等。

java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。

java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。

javax.servlet:这个是JSP,Servlet等使用到的类。

图为JDK,解释与执行为JRE

Java应用程序的开发周期包括编译、下载、解释和执行几个部分。

编译:Java编译程序将Java源程序翻译为JVM可执行代码—字节码。javac.exe

解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。java.exe

(java) 代码的装入:装入代码的工作由"类装载器" (class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。

代码的校验:随后,被装入的代码由字节码校验器进行检查。校验器可发现操作数栈溢出,非法数据类型转化等多种错误。

代码的执行:通过校验后,代码便开始执行了。Java字节码的执行有两种方式:1.即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。 2.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。 通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。

为什么要配置环境变量?

  为了方便程序的编译运行。如果不配置环境变量,我们在DOS窗口下编译文件如下:

C:\Users\Administrator>F:\Develop\Java\jdk1.7.0_75\bin\javac  J:\JavaBase\day1\test.java

  如果配置环境变量:只需C:\Users\Administrator>javac  J:\JavaBase\day1\test.java

2.了解Java语言本身。

  1)关键字--被Java语言赋予特定含义的单词

  2)标识符--就是给类,接口,方法,变量等起名字时使用的字符序列

  3)  注释--用于解释说明程序的文字

  4)  常量--在程序执行的过程中其值不可以发生改变

  5)  变量--在程序执行的过程中,在某个范围内其值可以发生改变的量

  6)  数据类型和类型转换--基本数据类型(数值型、字符型、boolean)引用数据类型(类、接口、数组)

  7)  运算符--

  8)  语句--顺序语句(程序自上向下读写),选择语句(if,switch,三元运算符),循环语句(for,while,do....while),跳转语句(break,continue,return)

   9)  方法(函数)--方法就是完成特定功能的代码块,重点:方法重载

   9)  数组--数组是存储同一种数据类型多个元素的集合。

时间: 2024-10-13 21:52:57

编程语言的学习过程的相关文章

新手转行学java难吗?新手学java需要注意的6个方面!

新手转行在成都学java到底难不难,对于这个问题,我们专门做过一个调查,超过1000名已经在职的java从业者,其中有80%的程序员觉得学java不难,20%的程序员觉得前期有点难,其中对于50%自学的新手认为java很难学,遇到问题没人解答,又或者是答案太多,根本不知道哪个回答是正确的.所以,我们得出结论,能系统学习的,有老师指导的java课程学起来相对容易,而没有人指导,仅仅靠看视频学习的同学来说会无形中增加难度. 很多新手在准备转行学习java之前,在网上看到或听到很多不懂的人会说,jav

信息安全系统设计基础——第一周学习过程记录与总结体会

第一周学习过程记录与总结体会 第1节    Linux系统简介 1.Linux操作系统:即内核和系统调用两层 2.Linux与Windows的不同: (1)免费与收费 (2)软件与支持 (3)安全性 (4)使用习惯 (5)可定制性 (6)应用范畴 (7)各自缺乏的 3.如何学习Linux (1)明确态度,形成良好学习心态 (2)重视基础,从头学习 第2节  基本概念及操作 1.桌面环境介绍 通过内核—服务器(X.org) —客户端(X.client)实现完整的桌面环境,与Windows不同. 2

准备踏入IT编程的学子们,你们第一门编程语言选谁? Are You Ready? Go!

Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的师弟或师妹,希望这篇文章能够帮助他们少走弯路,顺利地迈入软件开发的大门:如果您是一位有经验的软件开发者,或者是关注计算机教育的同行,也敬请提出宝贵意见. 发表看法请在本贴评论,或者在我的新浪微博“北理工教师金旭亮(http://weibo.com/jinxuliang)”上相互沟通. 本文仅代表个人

编程语言和找工作

在校生总是纠结现在流行什么变成语言,学什么语言才会找到心仪的工作,在网上看了一个很好地帖子,讲解在学校的学习与找工作的事情. 做过无数笔试题,做过无数面试题,基本上没遇到过很重视语言细节的 语言本身方面,可能会问问虚函数和多态,重载,作用域,存储方式,字节对齐,一般问的不多,或者根本不问 相反,对待你不懂XX语言上,往往表现的相当宽容,我面试时坦言自己只会一点C,对方也表示没有关系,而我目标职位没有一个跟C是有点关系的 比较重要的是,基本数据结构和算法,大规模数据处理技巧,进程,线程,网络等系统

php学习过程

作者:沈杰链接:https://www.zhihu.com/question/27170424/answer/82034587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 因为这是面试中会问到的一个问题,虽然它看起来很简单. 回答做网站的,也就是个简单建站的水平. 回答做网站后端开发的,对PHP有了一定的认识. 回答做后端处理的,有了更深层次的认识. 学习一样技能,你得先清楚这项技能是到底做什么的,说到这里,我想大家都会简单的说是做网站的,因为PHP在WEB领域

不愿将多种编程语言杂糅在一起?可能你还没意识到而已

英文:http://www.infoworld.com/d/data-center/dont-want-mix-programming-languages-you-already-do-239907 之前我曾经在一篇博文中就多语言开发的问题进行过探讨,这一周来很多朋友发来了评论与邮件,其中自然不乏支持与反对的声音.其实这也早在意料之中,此类争议性话题总会带来两个不同阵营,双方分执一词吵个不可开交. 我实在弄不清楚为什么事情总要变成这样,也许这一切早在我们的孩提时代就已有征兆:那时候偏爱雪佛兰品牌

Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的垂直搜索引擎,专门为用户提供团购.优惠券的检索:同时存在一个通用的搜索引擎,比如百度,通用搜索引擎希望能够识别出一个Query是否具有O2O检索意图,如果有则调用O2O垂直搜索引擎,获取结果作为通用搜索引擎的结果补充. 我们的目的是学习出一个分类器(classifier),分类器可以理解为一个函数,

从面相对象的学习过程中得出的程序开发者需要具备的类比学习能力

什么是对象?什么是类?哪些是属性?属性应该设计成什么访问权限?这个类是不是别的类的属性?这些类能不能提取出父类?这里的参数应该设置成什么? 面向对象已经学习了一段时间了,具体使用过程中,发现原来面向对象编程需要接触这么多新鲜的概念.我先给自己打了强心剂:这些概念的提出都是为了让编程更加的方便.还好,虽然"类"这个概念对我来说有些陌生,但我很自然地,把它与我之前接触过的C语言中的结构体联系了起来. 没错,又是C语言,Java学习的过程中,我少不了要提到我亲爱的C语言.这里我不是要讲它们具

帮你提升 Python 的 27 种编程语言

以下为正文: 作为全球最流行的编程语言联合设计者之一,我经常看到的一种令人沮丧的行为(在Python社区和其它社区都有),就是那些有影响力的人试图把“缺失”的恐惧感灌输给其它开源社区,将其当作对社区贡献的源动力.(我偶尔会对自己的这种不当行为感到内疚,当别人落入同样的陷阱时我也就更容易察觉到). 虽然借鉴其他编程语言社区的经验是一件好事,但以恐惧为基础的方法来激励行动存在严重的问题,因为它将助涨社区成员为争取贡献者的关注而将其它社区的成员视为敌人,而不是当做潜在的盟友去迎接更大的挑战,共同推动顶