| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3371 人关注过本帖
标题:简单的Java应用程序
只看楼主 加入收藏
zzbdfyy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-1-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
简单的Java应用程序


下面编写一个简单的Java应用程序:求圆面积,以便对Java编程语言有一个初步的认识。

解决求圆面积问题的基本思路:定义一个名为Area的类,在这个类中定义一个名为calculateArea的方法;另外,再定义一个名为TestArea的类,在这个类中定义一个main()方法,作为整个应用程序的入口点,并在该方法中对求圆面积进行测试。

 

Area类的代码,如下所示:

 

package com.csmz.niit;

 

import java.lang.*;

 

/* 求圆的面积

 * author: XXX

 * date: 2010-12-08

 */

public class Area {

   

    // 构造函数

    public Area () {

   

    }

 

    // 定义方法

    public void calculateArea(double r) {

        

final double PI = 3.14;    // 定义常量

double area;    // 定义变量

        area = PI * r * r;                          // 求圆的面积

        System.out.println("圆的面积 = " + area); // 在屏幕上显示结果

    }

}

TestArea类的代码,如下所示:

 

package com.csmz.niit;

 

import java.lang.*;

 

public class TestArea {

 

    public static void main(String [] args) {

        

Area a = new Area();

        

a.calculateArea(10);

    }

}

 

1. Java源文件结构

一个Java应用程序可以包含一个或多个Java源文件,每个Java源文件只能包含下列内容(空格和注释除外):

Ø 零个或一个包声明语句

Ø 零个或多个包引入语句

Ø 零个或多个类的声明

Ø 零个或多个接口的声明

 

对于Java源文件结构,需要特别注意以下几点:

1 在一个Java源文件中可以包含多个类或多个接口的定义,但最多只能有一个类或者接口是public类型的,其它的类或者接口应该是非public类型的。

 

2 Java源文件必须以其中public类型的类的名字或者接口的名字命名。

例如:Area类的Java源文件的名字应该是Area.java;TestArea类的Java源文件的名字应该是TestArea.java。

 

2. 包声明语句 (package)

 

包声明语句用于把Java类放到特定的包中。

 

例如:我们把Area类放在com.csmz.niit包中。

package com.csmz.niit;

public class Area { }

 

把TestArea类也放在com.csmz.niit包中。

package com.csmz.niit;

public class TestArea { }

 

把Java类放到特定的包中,有两大作用:

Ø 能够区分名字相同的类,避免命名冲突。

Ø 有助于划分和组织Java应用程序中的各个类。

 

对于包声明语句,需要特别注意以下几点:

1 在一个Java源文件中,最多只能有一个package语句,但package语句不是必需的。如果没有提供package语句,就表明Java类位于默认包(default package)中,默认包没有名字。

 

2 package语句必须位于Java源文件的第一行(忽略注释行)。

 

例如:

合法的包声明语句:

package com.csmz.niit;

public class Area { }

 

非法的包声明语句:

public class Area { }

package com.csmz.niit;

 

特别注意:在JDK1.3以后的版本中,在带有包名的类中无法访问到默认包中的类,因此,我们一般都将类定义在某个包中。

 

 

JDK提供的Java基本包

 

JDK提供了一些Java基本包,如下表所示:

 

  
 

  

java.lang包
 

Java基础语言包,包含线程类(Thread)、异常类(Exception)、系统类(System)、整数类(Integer)和字符串类(String)等,这些类是编写Java程序经常用到的。

这个包是Java虚拟机自动引入的包,也就是说,即使程序中没有提供“import java.lang.*”语句,这个包也会被自动引入。


 

输入/输出包,包含各种输入流类和输出流类,如文件输入流类(FileInputStream类)和文件输出流类(FileOutputStream类)等。

java.util包
 

实用工具包,提供一些实用类,如日期类(Date)和集合类(Collection)等。

java.awt包
 

抽象窗口工具包,提供了一些类,用于进行GUI编程。

javax.swing包
 

提供了一些类,用于进行GUI编程。


 

网络工具包,提供了一些类,用于进行网络编程。

java.rmi包
 

提供了一些类,用于进行网络编程。

java.sql包
 

数据库工具包,提供了一些类,用于进行数据库编程。

javax.sound包
 

声音工具包,提供一些类,用于编写声音程序。

 

    注意:JDK自带的所有包中的类构成了Java类库,用户创建的Java应用程序都依赖于Java类库。

 

3. 包引入语句 (import)

如果一个类访问了来自另一个包 (java.lang包除外) 中的类,那么前者必须通过import语句把这个类引入。

 

例如:假设Area类和TestArea类分别位于不同的包中,其中Area类位于com.csmz.rjxy包中,而TestArea类位于com.csmz.niit包中。由于TestArea类的main()方法会访问Area类,因此,TestArea类需要通过import语句引入Area类:

 

import com.csmz.rjxy.Area;

 

以上代码指明引入com.csmz.rjxy包中的Area类。以下代码则表明引入com.csmz.rjxy包中所有的类:

 

import com.csmz.rjxy.*;

 

如果程序仅需要访问com.csmz.rjxy包中的Area类,那么以上两条import语句都能完成相同的功能,但是第一条import语句的性能更优,因为第二条import语句会搜索com.csmz.rjxy包中所有的类。

 

对于包引入语句,需要特别注意以下几点:

1 尽管包名中的符号“.”能够体现各个包之间的层次结构,但是每个包都是独立的,顶层包不会包含子包中的类。

例如:

以下import语句引入com.csmz包中的所有类,但不会把com.csmz.niit包中的所有类引入。

 

import com.csmz.*;

 

如果你希望同时引入这两个包中的类,必须采用以下方式:

import com.csmz.*;

import com.csmz.niit.*;

 

2 package语句和import语句的顺序是固定的,在Java源文件中,package语句必须位于第一行 (忽略注释行),其次是import语句,接着是类或接口的声明。

合法的代码:

package com.csmz.niit;

import java.lang.*;

 

public class Area { }

 

合法的代码:

// 这是一行注释

package com.csmz.niit;

import java.lang.*;

 

public class Area { }

4. main( )方法的声明

main()方法是Java应用程序的入口点,每个Java应用程序都是从main()方法开始运行的。

 

作为整个应用程序入口点的main()方法必须同时符合以下4个条件:

1 访问修饰符:  public

2 静态方法: static

3 参数限制: main(String [] args)

4 返回类型: void

 

一般来说,将包含程序入口点main()方法的类,称之为主程序类。

例如:TestArea类就是一个主程序类。

 

5. 注释语句

在Java源文件的任意位置,都可以加入注释语句,Java编译器会忽略程序中的注释语句。

 

Java语言提供了2种形式的注释:

1 单行注释:例如

// 求圆的面积

 

2 多行注释:例如

/* 求圆的面积

      author: XXX

      date: 2010-12-08

 */

 

6. 命名规则

在Java源文件中,包、类、接口、方法或变量的名字,必须符合以下命名规则:

(注意:包名、类名、接口名、方法名或变量名一般称作标识符)

 

1 标识符的首字符必须是字母、下划线“_”或美元符号“$”。

 

2 标识符由数字(0~9)、大写字母(A~Z)、小写字母(a~z)、下划线“_”、美元符号“$”等组成。

 

3 不能把关键字或保留字作为标识符。

 

4 标识符没有长度的限制。

 

5 标识符是严格区分大小写的。

 

注意:含有 “$”符号的标识符并不常用,除非有特定需要,否则标识符内避免使用 “$” 符号。

 

下表列举了一些合法标识符和非法标识符,如果程序中包含非法标识符,会导致编译错误。

标识符正误对照表

合法标识符
 

非法标识符
 

  

GROUP_7
 

7GROUP
 

标识符不能以数字开头

Try
 

Try#
 

标识符中不能包含“#”

$a123
 

$a 123
 

标识符中不能包含空格

openDoor
 

open-door
 

标识符中不能包含“-”

boolean1
 

boolean
 

boolean是关键字,不能用关键字做标识符。

 

7. 编程规范

Java编程规范的主要内容,如下所示:

1 类名和接口名:首字母大写。如果类名由几个单词构成,那么每个单词的首字母大写,其余字母小写,例如:TestArea类。

 

2 方法名和变量名:首字母小写。如果方法名或变量名由几个单词构成,那么除了第一个单词外,其余每个单词的首字母大写,其余字母小写,例如:calculateArea()方法。

 

3 包名:采用小写形式。例如:com.csmz.niit。一般来说,包名采用URL(网址)的反写形式。

 

3 常量名:采用大写形式。如果常量名由几个单词构成,银屑病症状http://pf.单词之间以下划线“_”隔开,利用下划线可以清晰地分开每个大写的单词。例如:

final double PI = 3.14;

final String DEFAULT_COLOR_OF_CAR = “Red”;

 

注意:标识符的命名规则是必须遵守的,否则会导致编译错误。而编程规范是推荐遵守的编程习惯,即使不遵守以上编程规范,也不会导致编译错误。
搜索更多相关主题的帖子: 应用程序 package 编程语言 public import 应用程序 package 编程语言 public import 
2016-01-27 14:36
紫月一殇雪
Rank: 8Rank: 8
来 自:北大某鸟
等 级:蝙蝠侠
威 望:4
帖 子:131
专家分:764
注 册:2015-11-12
收藏
得分:7 
有点意思!!!

---------------------来自北大某鸟
2016-01-27 15:23
feng17755
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2016-1-26
收藏
得分:7 
方法里不应该加上this.r=r;吗  新手求解释。
2016-01-27 20:00
归云居
Rank: 2
等 级:论坛游民
帖 子:15
专家分:36
注 册:2016-1-27
收藏
得分:7 
你已经定义了r,不需要定义了
public void calculateArea(double r) {

        

final double PI = 3.14;    // 定义常量

double area;    // 定义变量

        area = PI * r * r;                          // 求圆的面积

        System.out.println("圆的面积 = " + area); // 在屏幕上显示结果

    }中public void calculateArea(double r)就已经定义了r,而且this.r=r也多此一举


[此贴子已经被作者于2016-1-27 21:09编辑过]

2016-01-27 21:04
快速回复:简单的Java应用程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018857 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved