给有C基础的Java初学者学习Netbeans介绍

开发 后端
给有C基础的Java初学者的Netbeans使用介绍,包括一般操作和如何执行代码。更讨论了C与Java的一些异同,方便大家进行学习。

Netbeans按照Project组织代码,每个可执行的Java程序都是一个Project。所以,利用Netbeans开始工作的***步就是在Netbeans中新建一个Project,这可以利用Netbeans中的菜单: File->New Project...,选择了这个菜单后,Netbeans会提示一个对话框,要求选择Project的类型,因为这里只介绍Java的Application,所以在该对话框的左侧选"Java",右侧选"Java Application",然后按照Netbeans的提示,输入Project的名称后,按照默认的提示,一路next下去,就可以看到Netbeans新建了一个Project, 并在这个Project中生成了一个名为Main.java的文件,这个就是Java的源文件了,你可以在这个文件编写一些基础的Java代码。

 一个Project中可以有多个文件,每一个文件中都可以编写Java源代码,Java的源代码文件的扩展名必须是.java,Java程序就是由一个个的Java源文件构成的。

如果要执行所写的代码,在Netbeans中有两种方法:

(1)打开你写的源文件,如果源文件满足可执行的条件,可以点击鼠标的右键,在弹出的菜单里选择"Run File",也可以按快捷键"Shift+F6"

(2)按照Project的设定运行代码,此时只要用选择Netbeans菜单中的Run->Run Main Project,注意,如果在Netbeans中建立了多个Project,此时运行的是Main Project,有关Main Project的介绍请参见下文。

下面介绍Netbeans对Java程序的组织方法和一些Java语言的基础知识。

Java以"类(class)"为单位组织程序,每个Java源文件中可以有一个或多个类的定义,但习惯上,往往一个Java源文件中只存放一个类的定义。类(class)是编写Java程序的基本单位。

我们都知道,程序是由代码构成的,而代码在目前的大多数编程语言中,都是写在函数里面的,这就是C语言组织程序的方式;Java在三种基本代码(即顺序、选择、循环)的语法上和C语言基本上是一样的,它的代码也要写在函数里,但Java进一步要求,函数必须写在类当中,数据,也就变量、常量等等的定义,也必须要写在类当中。而类则要写在扩展名为.java的源文件中。

一个程序往往由多个源文件组成,NetBeans利用Project来管理它们,每个Project代表着一种Java程序的类型,比如可以是一个网站、一个企业级的应用程序。Netbeans提供多种Project供编程者选择。我们学习的是Java应用程序,所以前面选择Project的类型是Java Application。

在Netbeans中创建Project的方法就是通过File->New 菜单,这个菜单可以反复使用,以便编程者创建多种Java应用程序。这样,Netbeans中就可能有多个Project,但这些Project中只有一个Project是活动的,即当你利用Netbeans的菜单完成编译、运行等工作时,这些工作只能作用于一个Project上,该Project被称为Main Project。当你用File->New菜单创建一个Project时,这个Project就会自动变为Main Project,它的工程的名字在显示时会是一种黑体颜色。

利用File->New菜单创建Project时,每创建一个Project,就会导致Main Project改变为当前新创建的Project。如果想让某个非Main Project成为Main Project,可以用右键点击这个Project,然后在弹出的菜单中选择"Set As Main Project"。这一点对于初学者相当重要,因为,在想运行Project时,如果该Project不是Main Project,则运行的结果则是另一个Main Project中程序运行的结果,而不是当前的Project的结果。

下面的这个图显示了上述的内容:

      Project1(Main Project)
       |
       |-----------------------Class1.java(类Class1所在的源文件)
       |             |
       |             |
       |             |-----------Class1(类Class1的定义)
       |                   |
       |                   |----------Class1中的变量、常量定义
       |                   |
       |                   |-----------Class1中的函数定义
       |
       |-----------------------Class2.java
       |
       |-----------------------其他类定义所在的源文件
       |
       Project2(非Main Project,该Project的颜色不是黑体字的颜色)
       |
       |
       |
       ProjectN

再介绍一些Java的语义方法的知识:

  Java用关键字class定义类,格式如下:
  class 类名{
  } 

类的前面可以用public关键字修饰,也可以没有任何修饰。如果一个类前面用了public修饰,按照Java的要求,该类所在的源文件名必须要和此类的类名一样,举个例子:
  类Class1的定义:
  public class Class1{

        int a;//这是类中的变量定义

        void printA(){
          //这里是函数中的代码
        }
  }

这时,由于类Class1的定义前有一个public关键字的修饰,所以Class1的定义代码必须要存放在一个名为Class1.java的源文件里,否则会导致编译错误。

为了避免这个类名和文件名之间的关联问题,利用Netbeans编写Java程序时,要加入一个新的类,可以使用工具栏中最左边的一个按钮,点击之后,在弹出的对话框中选择Java Class,这个向导会自动生成一个你所指定的类的源文件和大体上的代码,可以在生成代码的基础上进一步学习类的编写。

为什么Java要求函数一定要写在类当中呢?这就是Java的所谓面向对象的特性了。程序设计的最终目的是将原来由人所做的繁杂的事情交给计算机去完成,而编程语言就是完成这件工作的工具。人类在做事情时,事情完成的主体是某个人,这个人在做事情时会结合自己掌握的资料,来思考如何根据这些资料来做这个事情;也就是说,人在做事情的时候是将数据和处理数据的方法放在一起来考虑的。实际上,面向对象的编程就是模拟了这个特点,它用类来抽象一个需要完成的任务:完成这个任务的资料,在Java语言中就是类中定义的变量和常量;而做事情的步骤,在Java语言中就是那些写在函数中的代码。事实证明,以类为主体设计代码,可以更有效地表达编程中涉及到的任务。

我们可以将这种方式和C语言对比一下,在C中,写程序的基本单位是函数,而函数处理的数据并没有和函数明确的放在一起。要传递这些数据,要么通过全局变量,要么通过函数的参数,这使得在处理数据增多的情况下,函数的编写变得非常复杂。而Java语言则以类为写程序的基本单位,通过合理分配每个类中的定义的数据和函数,在处理大量数据的时候,程序可以对这些数据按照类进行分组,再按照这些分组后的数据设计与之相关的函数,从而有效地解决了C中需要大量传递参数的问题。

其实,设计类只是在面向对象编程中的***步,类的设计相当于完成了一个做事情的图纸。为了能够根据这些图纸真正做完成任务,就必须执行图纸中描述的任务。这在Java语言中就是调用这些类中定义的数据和函数,如何去调用这些类中的数据和函数呢?也就是说,如何使用定义好的这些类呢?

首先,需要明确的是,Java中的数据分为两种类型:

1、基础数据类型,也被称为值类型,即类似于C中的那些基础数据类型,如整型、浮点型等等

2、复合数据类型,也被称为引用数据类型,这种数据类型就是程序员在源文件中定义的类。其实,类和C中的结构体数据类型有些相象,和结构体不同的是,它既具有内部的成员的定义,也具有函数的定义。

Java程序中,编程的实质就是利用复合数据类型,封装对于基础数据的处理。类设计好了之后,就相当于有了一种新的数据类型。这种新的数据类型如果要使用的话,就要利用这种数据类型去声明一个变量,然后通过该变量来使用类中定义的数据,或调用类中定义的函数。这就是在Java语言中使用类的方式。

用类声明一个变量在形式上和定义一个普通变量差不多,如:

Class1 c1;

这个形式和C语言中定义结构体类型的变量是很相象的,但和C语言不同的是,结构体类型的变量在声明后,其中包含的数据会自动分配内存,而Java的类这种类型的变量必须要明确的分配给它内存,否则,它将无法使用。分配的语法如下:

c1=new Class1();

也可以把这两句合并在一起:

Class1 c1=new Class1();

定义了类型为Class1,名为c1的变量之后,如何去调用Class1中定义的变量和函数呢?

对于类中定义的变量,可以用这种方式对其进行引用:

c1.变量名

可以看到,Java中引用类中定义的变量的方式和C中引用结构体成员的方式也是一致的。

对于类中定义的函数,可以用这种方式进行调用:

c1.函数名(实际参数列表);

在明确了类的使用方式之后,那么上述对类中的变量和函数进行调用的语句从那里开始执行呢?

这里需要一个程序执行的开始点。Java和C一样,都有一个名为main的函数,但Java对这个函数有一系列的要求,即这个函数必须要按照如下方式定义: 

 public static void main(String args[]){
          //编写执行代码
    }

在这个函数中,将上述调用类中的数据和函数的代码写在这里就会得到执行了。

综上所述,Java的程序设计的步骤可按以下三步来做:

1、考虑要解决的问题,看看它可以分成几个部分来解决,每个部分都需要哪些数据和处理这些数据的函数

2、按照步骤1中的所列的部分,设计类,在类中定义需要处理的数据和函数

3、考虑这些设计好的类如何调用,将调用的代码写在如下的一个函数里: 

 public static void main(String args[]){
          //编写执行代码
    }

由于Java要求所有的函数都要放到类中定义,所以,这个main函数也要放在一个类中进行定义,习惯上,会把main函数放到一个单独的文件中,在该文件中定义其所在的类,该类被称为Java程序的主类(Netbeans在生成Project时,默认情况下就会生成这个主类的代码,同时会给它起一个叫做"Main"的名称)。

在Java中,由于变量或常量都要定义在类中,所以这种定义在类中的变量或常量被称为"字段",也有的书上叫它们为"属性",还有的书上叫它们"数据成员";而函数也要定义在类当中,一般术语上称之为"方法"。

一个Java程序中,理论上讲,应该只有一个类中有main方法(函数),但有时,为了编程方便,可能会有不止一个类包含有main方法。凡是包含有main方法的类都是可以运行的,在Netbeans中,在这种文件中点击右键,就可直接运行它,这就是在开头提到的***种运行Java程序的方式。上面说的第二种方式,即通过选择Run->Run Main Project运行Java程序,这种方式要求Main Project必须指定到底是要运行哪个类中的main方法。在默认情况下,创建Project时,生成的Main.java中的Main类中的main方法就是在选择Run->Run Main Project是运行的方法。如果你想更改这个设定,可以在工程名称上面点击鼠标右键,在弹出的菜单中选择"Properties",在弹出的对话框的左侧选择"Run"结点,然后在右侧的"Main Class:"编辑框中输入包含main方法的类名,或点击编辑框右侧"Browse"按钮,让Netbeans帮你指定要运行的主类。

希望通过这个概要的介绍,对Java语言和Netbeans的使用有一个初步的了解。附上一个我做培训时用的Netbeans使用介绍的ppt文件。

【编辑推荐】

  1. 开源NetBeans 5.5集成开发环境(IDE)正式推出
  2. 新版NetBeans让PHP开发更轻松
  3. NetBeans 6.0预览版发布 Sun再引惊呼
  4. 使用NetBeans和Eclipse开发PHP应用程序
  5. 八大技术牛人点评NetBeans 6.5
责任编辑:张燕妮 来源: javaeye
相关推荐

2011-07-04 14:14:54

java

2011-04-12 10:13:24

2020-09-08 19:03:41

Java代码初学者

2011-04-08 15:07:40

C++

2009-02-18 11:10:40

c++忠告方法

2010-01-15 19:05:42

学习C++

2009-09-28 09:45:00

CCNA学习经验CCNA

2011-07-26 16:08:40

iPhone 应用程序

2015-07-20 13:56:59

SDN

2020-06-03 10:00:30

Kubernetes容器开发

2018-04-08 14:47:06

Linux命令type

2018-05-14 08:53:51

Linux命令shuf

2018-04-24 11:09:13

LinuxShellfc

2011-08-10 16:44:56

iPhone代理设计模式

2011-07-05 13:59:23

XML

2016-11-18 17:40:35

2015-09-28 11:15:03

2011-08-12 10:27:52

Objective-C对象

2018-10-28 16:14:55

Reactreact.js前端

2011-08-10 19:01:18

Objective-C
点赞
收藏

51CTO技术栈公众号