2018年3月计算机二级考试JAVA入门知识点:JAVA应用程序的基本框架

  2018年3月计算机等级考试马上开始啦!小编在这里为考生们整理了2018年3月计算机二级考试JAVA入门知识点,希望能帮到大家,想了解更多考试内容,请关注出国留学网的及时更新哦。

  2018年3月计算机二级考试JAVA入门知识点:JAVA应用程序的基本框架

  4.1Java应用程序的运行环境

  Java应用程序是指可以独立运行在Java虚拟机上的程序,它是一种中间代码(byte-code?copy;。比如你的应用程序叫my.java,程序里有一个名称为app1的类,用Javac或其它编译器,编译后将会生成app1.class,则在命令行状态下输入:javaapp1就可以运行此程序。注意,用java命令运行的类必须有main函数,否则不能执行。与普通java应用程序不同的另一种另一种Java程序叫JavaApplet。我们把它译成Java小程序,这种程序后缀也是.class,但它不能直接在java虚拟机上运行,也就是输入java*.class不能运行,这种程序里可以没有main函数,它必须由某个浏览器来运行,比如Appletviewer或Netscape2.02以上等。这种程序我们将在后面章节中介绍。

  4.2最简单的Java程序解释

  让我们来看一看最简单的Java应用程序例子,来理解一下它的结构:Filename:1.javaclassmyfirst{publicstaticvoidmain(Stringargs[]){System.out,println(\"ThisismyfirstJavaApplication\");}}这就是一个完整的Java应用程序,将它编译:Javac1.java在当前目录下,它将生成myfirst.class文件,Javamyfirst屏幕上将会输出:ThisismyfirstJavaApplication让我们来一步一步分析每句话含义(1?copy;classmyfirst这一行用关键词class来定义名为myfirst的新类,myfirst是新类的名称,必须是一个有效的标识符,有效标识符定义请见程序设计基础章节。类的说明包括数据说明和成员函数说明,都放在类后面的大括号里面。一般类定义如下:class类名称{数据定义;函数定义;}

  (2)publicstaticvoidmain(Stringargs[])public是一个表示访问权限的关键字,表示此成员函数是公有的,可以被其他类直接调用,包括java解释器。相对应的关键字有private和protected,friend。private表示只能被本类访问,protected表示只能被子类访问,friend是缺省的访问权限,表示能被本包(package)中任意类访问,对其它包中的类是不可访问的。

  static表示main成员函数在myfirst类的所有对象中是唯一的,因此如果本程序生成另一个myfirst类对象,调用的main函数将是同一个函数。void表示main函数没有返回值,如果有返回类型值,则可加上interger或boolean诸如此类,对于有返回值的函数,其函数实体的最后应加上return语句。main这个函数是这运行应用程序的入口点,因此编写应用程序是必须有main()函数,且是唯一的。(3?copy;System.out.println一句这一句是main函数里的功能语句,是调用Java里System包里的out类的println成员函数,是标准输入输出。

  4.3Java应用程序参数的传递

  Java语言很类似C和C++语言。在C语言里,通过在命令行输入参数,C程序可由main函数读入这?copy;参数,java程序也一样,请看下面程序:Filename:2.javaclassMy2{publicstaticvoidmain(Stringargs[]){intarc=args.length;if(arc>0){for(inti=0;i){m=newMemo(args[0]);}else{m=newMemo();}m.start();}}将Frame联系起来l熟悉的函数paint()和mouseDown(),看起来有点眼熟。这?copy;函数与applet的函数一样。实际上,一个frame包含各种GUI组件与applet的形式一样。另一个熟悉的函数是start()。这个函数并不必要,因为我们没有覆盖任何已存在的函数。但你想继承applet编程的风格,你还是可以使用start(),stop(),init()与destroy()等函数。l新函数我们熟悉的函数start()调用了show()。show()函数是Window类的继承,它显示Fame及其所有组件。在mouseDown()函数里我们看到两个函数:hide()和dispose()。hide()只简单地使Frame不可见。你可以在任何时候调用它来隐藏窗口。dispose()函数释放由Frame占有的系统资源。只有在你不需要Frame时才调用它。

  l构造函数Memo例子还包含了一个新函数Memo()。其实这个类有两个Memo()函数!任何与类名相同的函数都是构造函数。它在创建一个新对象时被调用。你可以认为它是一个对象的init()初始化函数。为什么需要两个构造函数呢?有了两个构造函数,我们可以利用多态性的优点,有两种方法创建一个新Memo对象。我们可以简单的创建使用缺省信息的Memo对象:m=newMemo();或者,我们可以自己提?copy;信息:m=newMemo(\"Ourmessage\");Frame控制本程序的最后功能是在main()里建立并显示frame。它由以下两步实现://Step1m=newMemo();//Step2m.start();第一步初始化memo对象。我们象操作其它对象一样操作m。为显示frame,我们需要调用show()。这在第二步里实现。另一个要注意的是程序的健壮性:我们基本的frame里没有包含处理标准WINDOW_DESTROY消息的函数。这样,你将不能在窗口的控制菜单里选中\"Quit\"或\"Exit\"。为了增加这个功能,你需要增加以下的处理程序:publicbooleanhandleEvent(Evente){if(e.id==Event.WINDOW_DESTROY){dispose();System.exit(1);returntrue;}else{//Goaheadanddowhatwenormallywouldhavedonereturnsuper.handleEvent(e);}}

  菜单图形界面依靠菜单来指导用户操作。设计独立的Java应用程序时,Java提?copy;创建和使用菜单的直接方法。象其它组件一样,new将创建一个菜单:MenuoptionMenu;optionsMenu=newMenu(\"Options\");菜单项一?copy;你创建了一个菜单,你可以使用add()来组建菜单项:optionsMenu.add(newMenuItem(\"Option1\");optionsMenu.add(newMenuItem(\"Option2\");菜单事件当你选中某个菜单项时,你创建此菜单项的字符?reg;将在事件中返回。你可以象测试按钮选择一样测试菜单选择:publicbooleanaction(Evente,Objectarg){...if(e.targetinstanceofMenuItem){System.out.println((String)arg);}...}其它菜单项除了上面描述的简单菜单项外,你还可增加CheckBox菜单项,分割线,以及子菜单。下面是一?copy;例子:Menum,n;m=newMenu(\"Examples\");m.add(newMenuItem(\"Basic\"));m.add(newMenuItem(\"Simple\"));

  //addaseparatorm.add(newMenuItem(\"-\"));//addaCheckboxitemm.add(newCheckboxMenuItem(\"Check\"));//addasubmenun=newMenu(\"MoreExamples\");n.add(newMenuItem(\"SubBasic\"));n.add(newMenuItem(\"SubSimple\"));m.add(n);菜单条你创建好菜单后,你应将?reg;放在应用程序的菜单条上:mb=newMenubar();mb.add(m);mb.add(optionsMenu);然后你可为applet设置菜单条:setMenuBar(mb);

  4.5独立应用程序例子

  为了看一个更复杂的独立的图形界面应用程序,下面有一个数字转换的例子:importjava.awt.*;

  publicclassd2xextendsFrame{intdecimalValue=0;StringbaseXValue

  =newString(\"0\");TextFielddDisplay,xDisplay;

  //d2xconstructorpublicd2x(){super(\"DecimalConverter\");//setthe

  titleoftheframeMenuBarmb=newMenuBar();Buttond2Binary=new

  Button(\"Binary\");Buttond2Octal=newButton(\"Octal\");Buttond2Hex=

  newButton(\"Hex\");Buttond2Base36=newButton(\"Base36\");Panelp1=new

  Panel();Panelp2=newPanel();Panelp3=newPanel();

  //addasimplemenuMenum=newMenu(\"Application\");m.add(new

  CheckboxMenuItem(\"Base36Active\");m.add(newMenuItem(\"Exit\"));

  //addmenutomenubarmb.add(m);setMenuBar(mb);//installthismenubar

  intheframe

  //Addbuttonstotheirownpanelp3.setLayout(newFlowLayout());

  p3.add(d2Binary);p3.add(d2Octal);p3.add(d2Hex);p3.add(d2Base36);

  //AddtextfieldsLabeldLabel=newLabel(\"EnterDeecimal:\");Label

  xLabel=newLabel(\"ConvertedValue:\");dDisplay=new

  TextField(integer.toString(decimalValue),7);xDisplay=new

  TextField(baseXValue,32);xDisplay.setEditable(false);

  p1.setLayout(newFlowLayout(FlowLayout.LEFT));p2.setLayout(new

  FlowLayout(FlowLayout.LEFT));p1.add(dLabel);p1.add(dDisplay);

  p2.add(xLabel);p2.add(xDisplay);

  //Addthepanelsadd(\"North\",p1);add(\"Center\",p2);

  add(\"South\",p3);}//endd2xconstructor

  publicvoidstart(){resize(400,150);show();}

  publicvoidupdateXDisplay(){xDisplay.setText(baseXValue);}

  publicbooleanhandleEvent(Eventevt){if(evt.targtintanceofMenuItem)

  {if(\"Exit\".equals(((MenuItem)evt.target).getLabel())){hide();

  dispose();System.exit(0);returnfalse;}retruntrue;}elseif

  (evt.targetinstanceofButton){Stringwhick=

  ((Button)evt.target).getLabel();if(whick.equals(\"Binary\"))

  {decimalValue=Integer.parseInt(dDisplay.getText());baseXValue=

  Interger.toString(decimalValue,2);}if(whick.equals(\"Octal\"))

  {decimalValue=Integer.parseInt(dDisplay.getText());baseXValue=

  Interger.toString(decimalValue,8);}if(whick.equals(\"Hex\"))

  {decimalValue=Integer.parseInt(dDisplay.getText());baseXValue=

  Interger.toString(decimalValue,16);}if(whick.equals(\"36\"))

  {decimalValue=Integer.parseInt(dDisplay.getText());baseXValue=

  Interger.toString(decimalValue,36);}updateXDisplay();returntrue;}

  returnfalse;}

  publicstaticvoidmain(Stringargs[]){d2xm=newd2x();m.start();}}

  本章小结:

  1.java有两种类型的应用程序,一种是直接运行在java虚拟机上,用java命令执行;另一种运行在浏览器里,由浏览器调用执行,一般称它为Applet小程序。本书主要讨论第一种应用程序。2.java应用程序是由类组成的,而且用java命令行执行的类必须有main入口函数。3.与C语言相似,java程序也可由命令行传递给main函数参数。4.基本窗口java程序的基本类是Frame。利用它可以很方便地建立图形用户界面程序。

  推荐阅读:

  2018年3月计算机二级考试JAVA入门知识点:简单JAVA程序编写

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

  2018年3月计算机二级考试JAVA入门知识点:JAVA程序设计基础

  2018年3月计算机二级考试JAVA入门知识点:Java代码的基本知识

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

  2018年计算机等级考试计划

  2018年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

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

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

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

分享

热门关注

计算机二级考试时间多长

关于计算机二级

计算机二级考试时间一年几次呢

关于计算机二级

计算机二级考试时间分配

关于计算机二级

计算机二级考试内容考些什么

考试内容

计算机二级什么时候出成绩呢

计算机成绩

计算机二级考试知识点有哪些

计算机二级考试知识点

计算机二级基础知识点归纳

计算机二级基础知识点

计算机二级考试内容难不难?有关计算机二级的考试内容

计算机二级考试内容难不难

计算机二级考试难不难

计算机二级考试

计算机二级公共基础知识考试内容

计算机公共基础知识考试