当前位置 > 主页 > 万和大讲堂 >


南京Java培训机构 Java语言程序设计

2015-08-07 14:07

  什么是Java语言程序设计?江苏万和小编这里给大家介绍一下


  软件的基本组成部分是完成其功能的程序。


  Java程序设计语言(也被称为“编程语言”,Programming  Language)是人们编制程序所使用的语言。


  程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述——不同的程序设计语言。


  ----------程序设计语言的种类:


  机器语言:机器指令,直接执行


  汇编语言:符号化,汇编器(Assembler)


  高级程序设计语言(编译型)


  高级程序设计语言(解释型)


  ----------程序设计语言——高级程序设计语言


  高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法: 编译(Compilation)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Executable)程序” 。


  “解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。南京Java培训机构


  对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(object code),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”(executable program),这样的程序就可以在计算机上实际运行了。


  第一个加工步骤称为“编译”(compiling),第二个步骤称为“连接”(linking)。


  对于“解释执行” 方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。


  高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。


  人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。


  ----------Java语言程序设计历史及发展


  Java是一种解释型的、面向对象的编程语言。


  历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。


  Oak —> Java:互联网给Java带来新的生机


  1995年Sun向公众推出Java并引起业界的轰动


  发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1995年以来)


  应用:Java是当今最流行的软件开发语言之一,Sun推出了 Java2 & J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。


  ----------Java语言特点


  (1)  面向对象


  Java = “ C++ ”   -  “ 复杂性和奇异性 ”+ “安全性和可移植性”


  Java语言是一个完全面向对象的语言,并且对软件工程技术有很强的支持


  Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。


  对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;南京Java培训机构


  类提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。


  (2)平台无关性


  严格的语言定义:没有“依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一致的。


  Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。


  (3)安全问题


  Java是在网络环境下使用的语言,一个安全的网络至少要防止以下几种破坏的可能性:


  毁灭系统资源


  消耗系统资源


  挖掘系统或个人机密


  骚扰正常工作的进行


  (4)多线程


  单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻同时做多件事情。


  其它大多数高级语言,包括C,C++等,都不支持多线程,只能编写顺序执行的程序(除非有操作系统API的支持)。


  Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。南京Java培训机构


  多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。


  通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。


  (5) 可移植性


  (6) 分布性


  (7) 高性能(相对于其他解释型语言)


  (8) 健壮性


  (9)与C及C++的区别


  不再有全局变量


  不再有#include 和#define 等预处理功能


  不再有structure、union及typedef等


  不再有函数、不再有指针、不再有多重继承


  不再有goto语句


  不再有操作符重载(Operatior Overloading)


  取消自动类型转换,要求强制转换


  自动进行内存管理


  ----------Java开发工具包括:


  Javac:Java编译器,用来将Java程序编译成Bytecode。


  Java:Java解释器,执行已经转换成Bytecode的Java应用程序。


  Jdb:Java调试器,用来调试Java程序。


  Javap:反编译,将类文件还原回方法和变量。


  Javadoc:文档生成器,创建HTML文件。南京Java培训机构


  Appletviwer:Applet解释器, 用来解释已经转换成Bytecode的Java小应用程序。


  ----------Java程序结构:


  package语句:零个或多个,必须放在文件开始


  import语句:零个或多个,必须放在所有类定义之前


  public ClassDefinition:零个或一个


  ClassDefinition:零个或多个


  InterfaceDefinition:零个或多个类个数:至少一个类,最多只能有个


  public类


  源文件命名:若有public类,源文件必须按该类命名


  标识符:区分大小写


最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCA
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 10月14日
  • 10月9日
  • 10月30日
  • 10月21日
  • 10月8日10月8日
  • 10月28日
  • 10月21日
  • 10月8日
  • 随时开课
  • 11月10日
  • 11月25日
  • 10月28日
  • 10月14日
  • 11月2日
  • 10月26日
  • 10月26日
  • ——
  • 随时开课
  • ——
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入