出国留学网

目录

2018年3月计算机二级考试JAVA入门知识点:JAVA概述

【 liuxue86.com - 计算机二级 】

  四、Java和C、C++

  对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的内容。

  1.全局变量

  Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。例如:

  ClassGlobalVar{

  publicstaticglobal_var;

  }

  在类GlobalVar中定义变量global_var为publicstat-ic,使得其它类可以访问和修改该变量。

  Java对全局变量进行了更好的封装。而在C和C++中,依赖于不加封装的全局变量常常造成系统的崩溃。

  2.Goto

  Java不支持C、C++中的goto语句,而是通过例外处理语句try,Catch,final等来代替C、C++中用goto来处理遇到错误时跳转的情况,使程序更可读且更结构化。

  3.指针

  指针是C、C++中最灵活,也是最容易产生错误的数据类型。由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C++中的私有成员,从而破坏安全性,造成系统的崩溃。而Java对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时,数组作为类在Java中实现,良好地解决了数组访问越界这一C、C++中不作检查的错误。

  4.内存管理

  在C中,程序员通过库函数malloc()和free()来分配和释放内存,C++中则通过运算符new和delete来分配和释放内存。再次释放已释放的内存块或未被分配的内存块,会造成系统的崩溃;同样,忘记释放不再使用的内存块也会逐渐耗尽系统资源。而在Java中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。通过new得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。

  5.数据类型的支持

  在C、C++中,对于不同的平台,编译器对于简单数据类型如int,float等分别分配不同长度的字节数,例如:int在IBMPC中为16位,在VAX-11中为32位,这导致了代码的不可移植性,但在Java中,对于这些数据类型总是分配固定长度的位数,如对int型,它总占32位,这就保证了Java的平台无关性。

  6.类型转换

  在C、C++中,可以通过指针进行任意的类型转换,常常带来不安全性,而Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。

  7.头文件

  C、C++中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的。而Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有成员的操作。同时,Java中用import语句来与其它类进行通讯,以便使用它们的方法。

  8.结构和联合

  C、C++中的结构和联合中所有成员均为公有,这就带来了安全性问题。Java中不包含结构和联合,所有的内容都封装在类中。

  9.预处理

  C、C++中用宏定义来实现的代码给程序的可读性带来了困难。在Java中,不支持宏,它通过关键字final来声明一个常量,以实现宏定义中广泛使用的常量定义。

  §1.3简单的Java程序

  下面我们先介绍两个简单的Java程序,并对其进行分析。

  例1.1.

  publicclassHelloWorldApp{//anapplication

  publicstaticvoidmain(Stringargs[]){

  System.out.println("HelloWorld!");

  }

  }

  本程序的作用是输出下面一行信息:

  HelloWorld!

  程序中,首先用保留字class来声明一个新的类,其类名为HelloWorldApp,它是一个公共类(public)。整个类定义由大括号{}括起来。在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Jave解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Jave程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个,作为程序的入口。main()方法定义中,括号()中的Stringargs[]是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用"类名参数名"来指定,多个参数间用逗号分隔。在main()方法的实现(大括号中),只有一条语句:

  System.out.println("HelloWorld!");它用来实现字符串的输出,这条语句实现与C语言中的printf语句和C++中cout<<语句相同的功能。另外,//后的内容为注释。

  现在我们可以运行该程序。首先把它放到一个名为HelloWorldApp.java的文件中,这里,文件名应和类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。然后对它进行编译:

  C:\>javacHelloWorldApp.java

  编译的结果是生成字节码文件HelloWorldApp.class。最后用java解释器来运行该字节码文件:

  C:\>javaHelloWorldApp

  结果在屏幕上显示HelloWorld!

  我们再来看下面的一个例子:例1.2

  importjava.awr.*;

  importjava.applet.*;

  publicclassHelloWorldAppletextendsApplet{//anapplet

  publicvoidpaint(Graphicsg){

  g.drawString("HelloWorld!",20,20);

  }

  }

  这是一个简单的Applet(小应用程序)。程序中,首先用import语句输入java.awr和java.applet下所有的包,使得该程序可能使用这些包中所定义的类,它类似于C中的#include语句。然后声明一个公共类HelloWorldApplet,用extends指明它是Applet的子类。在类中,我们重写父类Ap-plet的paint()方法,其中参数g为Graphics类,它表明当前作画的上下文。在paint()方法中,调用g的方法drawString(),在坐标(20,20)处输出字符串""HelloWorld!",其中坐标是用象素点来表示的。

  这个程序中没有实现main()方法,这是Applet与应用程序Application(如例1)的区别之一。为了运行该程序,首先我们也要把它放在文件HelloWorldApplet.java中,然后对它进行编译:

  C:\>javacHelloWorldApplet.java

  得到字节码文件HelloWorldApplet.class。由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,把该Applet嵌入其中,然后用appletviewer来运行,或在支持Java的浏览器上运行。

  二、Java语言对软件开发技术的影响

  工业界不少人预言:"Java语言的出现,将会引起一场软件革命",这是因为传统的软件往往都是与具体的实现环境有关,换了一个环境就需要作一番改动,耗时费力,而Java语言能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要所用的机器能提供Java语言解释器即可。

  Java语言将对未来软件的开发产生影响,可从如下几个方面考虑:

  1软件的需求分析:可将用户的需求进行动态的、可视化描述,以提供设计者更加直观的要求。而用户的需求是各色各样的,不受地区、行业、部门、爱好的影响,都可以用Java语言描述清楚。

  2软件的开发方法:由于Java语言的面向目标的特性,所以完全可以用O-O的技术与方法来开发,这是符合最新的软件开发规范要求的。

  3Java语言的动画效果远比GUI技术更加逼真,尤其是利用WWW提供的巨大动画资源空间,可以共享全世界的动态画面的资源。

  4软件最终产品:用Java语言开发的软件可以具有可视化、可听化、可操作化的效果,这要比电视、电影的效果更为理想,因为它可以做到"即时、交互、动画与动作",要它停就停,要它继续就继续,而这是在电影与电视播放过程中难以做到的。

  5其它:使用Java语言对开发效益、开发价值都有比较明显的影响。

  三、工业界对Java语言的评价

  1996年5月29~31日,在美国旧金山召开了一个全世界Java语言开发者大会,(JavaOneDeveloperConfer-ence),出席会议的多达6500多人,来自工业界的超过一半,有人评价说:"这是近年来计算机界最光辉的一次盛会",一些工业界的老总们相当看好Java语言,认为它的使用将会引起一场软件革命。从软件的设计风格、设计方法、设计目标到设计过程,都会产生彻底的变革,"甚至会改变此星球的生活方式"。

  在这次会上,Java的创始人之一JamesGosling说:"Java不仅仅只是applets,它能做任何事情",Dta咨询公司的高级软件工程师RichKadel说:"Java不仅仅是一种程序设计语言,更是现代化软件再实现的基础;Java还是未来新型OS的核心;将会出现Java芯片;将构成各种应用软件的开发平台与实现环境,是人们必不可少的开发工具"。

  由于各界都看好它,因此,各大公司都纷纷表示支持Java,Intel、Xerox公司声言将把Java嵌入到他们的产品中去。就连华尔街金融界也在投入资金人力用Java开发电子贸易、金融软件。

  所以有人说:"现在第三方的开发商都团结在Java大旗周围了!",纷纷推出用Java开发的各种软件产品,以期尽快地占领市场。

  四、Java语言的应用前景

  Java语言有着广泛的应用前景,大体上可以从以下几个方面来考虑其应用:

  1所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等;

  2计算过程的可视化、可操作化的软件的开发;

  3动态画面的设计,包括图形图像的调用;

  4交互操作的设计(选择交互、定向交互、控制流程等);

  5Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等;

  6Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件);

  7与各类数据库连接查询的SQL语句实现;

  8其它应用类型的程序。

  推荐阅读:

  2018年3月计算机二级考试JAVA入门知识点:JAVA的类

  2018年3月计算机二级考试JAVA入门知识点:JAVA是什么?

  2018年3月计算机二级考试JAVA入门知识点:JAVA有什么

  2018年3月计算机二级考试JAVA入门知识点:JAVA的\异常\

  2018年3月计算机二级考试JAVA入门知识点:JAVA图形用户接口

  2018年3月计算机二级考试JAVA入门知识点:JAVA的历史、现状

  出国留学网计算机等级考试 栏目推荐

  2018年计算机等级考试计划

  2018年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

  计算机等级考试准考证打印时间

  计算机等级考试成绩查询时间

  计算机等级考试试题及答案

  想了解更多计算机二级网的资讯,请访问: 计算机二级

本文来源:https://jsj.liuxue86.com/a/3662541.html
延伸阅读
    想必要考试的考生,对快捷键还是有敏感的,快捷键不仅使你考试能做题快一些,在平时设计网站时也是有很大的帮助的,在这里预祝即将考试的考生
2019-01-02
漂亮的Flash动画人人喜欢,不过制作起来的确有一些技术难度。你知道吗,Dreamweaver作为一个网页制作工具,还可以创建好玩的Flash相册。小编整理了一些Flash相册的资
2019-01-02
    滚动字幕会让很多人感到兴奋,特别是第一次使用滚动字幕时,会爱不释手。现在做一个详细的方案,让你更全面地了解一下。小编整理了一些滚动字
2019-01-02
你准备好计算机等级考试了么?小编为大家提供“2018年12月计算机二级Java冲刺题及答案3”供广大考生参考,希望帮到您!更多计算机等级考试的资讯请关注我们网站的更新哦!2018年
2018-11-28
计算机等级考试栏目小编精心为您收集整理了《2018年12月计算机二级Java冲刺题及答案1》,希望给您带来帮助!更多精彩内容尽在本站,请持续关注。祝您考试顺利哦!2018年12月计
2018-11-28
本网站计算机考试栏目小编为考生们整理了“2018年12月计算机二级Java冲刺题及答案2”,希望有所帮助,更多计算机等级考试信息请关注本网站的及时更新哦。祝同学们金榜题名!2018
2018-11-28
    我们都想知道在学习计算机语言中的C语言,最重要的就是字符串了,小编整理了关于C语言的一些知识点,对你的计算机考试会有帮助的,想了解更
2019-01-02
三层模式是体系结构模式,MVC是设计模式,考生们应该常见吧,小编为你整理了一些关于JavaBean的资料,供程序员参考,希望能对你有所帮助!计算机二级考试-Web前端程序设计(Ja
2019-01-02