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

例 1.1.

public class HelloWorldApp { //an application

public static void main (String args[ ]){

System.out.println("Hello World!");

}

}

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

Hello World!

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

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

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

C:\>javac HelloWorldApp.java

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

C:\>java HelloWorldApp

结 果 在 屏 幕 上 显 示 Hello World!

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

import java.awr.*;

import java.applet.*;

public class HelloWorldApplet extends Applet { //an applet

public void paint(Graphics g){

g.drawString ("Hello World!",20,20);

}

}

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

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

C:\>javac HelloWorldApplet.java

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

<HTML>

<HEAD>

<TITLE> An Applet </TITLE>

</HEAD>

<BODY>

<applet code="HelloWorldApplet.class" width=200 height=40>

</applet>

</BODY>

</HTML>

其 中 用 <applet>标 记 来 启 动 HelloWorldApplet,code指 明字 节 码所 在 的 文 件 ,width和height指 明 applet所 占 的 大 小 ,我 们 把 这 个 HTML文 件 存 入Example.html,然 后 运 行 :

C:\>appleviewer Example.html

这 时 屏 幕 上 弹 出 一 个 窗 口 ,其 中 显 示 Hello World!,显 示 结 果如 图 :

从 上 述 例 子 中 可 以 看 出 ,Java程 序 是 由 类 构 成 的 ,对 于 一 个应 用 程 序 来 说 ,必 须有 一 个 类 中 定 义 main()方 法 ,而 对 applet来 说 ,它 必 须 作 为 Applet的一 个 子 类 。 在 类 的 定 义 中 ,应 包 含 类 变 量 的 声 明 和 类 中 方 法 的 实 现 。 Java在 基 本 数据 类 型 、 运 算 符 、 表达 式 、 控 制 语 句 等 方 面 与 C、 C++基 本 上 是 相 同 的 ,但 它 同 时 也增 加 了 一 些 新 的 内 容 ,在 以 后 的 各 章 中 ,我 们 会 详 细 介 绍 。 本 节 中 ,只 是 使 大 家 对Java程 序 有 一 个 初 步 的了 解 。

转载于:https://www.cnblogs.com/toujizhe/articles/2956603.html

§ 1.3 简 单 的 Java程 序相关推荐

  1. 在oracle 中编写一个程序,用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法...

    用VC 开 发 基 于ORACLE 数 据 库 应 用 程 序 的 两 种 方 法 北 京 航 空 航 天 大 学 计 算 机 科 学 与 工 程 系 黎 杰 麦 中 凡 ---- 1. 引 言 -- ...

  2. 单链表的逆序java_java 实现单链表的逆序

    package com.ckw.mianshi; /** * java 实现单链表的逆序 * @author Administrator * */ public class SingleLinkedR ...

  3. 浅谈:数据结构之单链表,java代码演示单链表

    单链表 本文是观看尚硅谷韩老师视频学习总结,部分来源网络. 单链表介绍 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每 ...

  4. Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutputStream用法)

    Java字节序 http://origin100.iteye.com/blog/267165 /** * 通信格式转换 * * Java和一些windows编程语言如c.c++.delphi所写的网络 ...

  5. Java字节序,java整型数与网络字节序 byte[] 数组转换关系

    Java字节序 http://origin100.iteye.com/blog/267165 /** * 通信格式转换 * * Java和一些windows编程语言如c.c++.delphi所写的网络 ...

  6. 简 易 版 线 程 池 模 型 学 习

    简 易 版 线 程 池 模 型 学 习 1.简易版线程池流程 1.初始化线程池 1.初始化队列, 队列头, 队列尾初始化, 队列能力初始化( 队列长度),队列锁 初始化线程池条件变量,给子线程赋入口函 ...

  7. java不带头结点单链表,java带头结点的单链表

    JAVA 循环双链表的建立 import java.util.Scanner; //循环双向链表的结点类 class DuLNode { private Object data;// 存放结点值 前驱 ...

  8. java异常处理机简答题,【简答题】JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?...

    [简答题]JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义? 更多相关问题 用蒸汽进行设备管线吹扫时,应将被吹扫的设备管线,相应 ...

  9. [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]

    [问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...

  10. C++实现单链表的反序

    引言 将一个没有空结点作为头的单链表实现反转.其实质就是将结点的指针域指向反转.定义指向当前结点的指针,指向前一个结点的指针,指向当前结点的后一个结点的指针,这个过程中包含只有一个结点的单链表,那么反 ...

最新文章

  1. 加密解密php,PHP实现的加密解密处理类
  2. 创建型模式之Prototype
  3. GDCM:独特的uid测试程序
  4. Android快捷键
  5. 【Python 19】BMR计算器3.0(字符串分割与格式化输出)
  6. 2021年第3周人工智能方向的周报
  7. 回到顶部和回到底部动画
  8. MySQL(20)--- 排序
  9. hibernate id生成策略 mysql_Hibernate中ID生成策略
  10. lbs与gis的计算机存储模式,基于GIS的移动终端LBS系统建设与实现
  11. Ubuntu下hadoop2.4搭建集群(单机模式)
  12. window热敏打印机驱动安装
  13. audio驱动之耳机
  14. shell 特殊符号大全
  15. VirtualLab基础实验教程-7.偏振(2)
  16. json数组删除重复项
  17. 安卓bmi项目_身高体重指数计算器手机版|bmi体重指数计算器安卓版下载 v1.0.0 - 跑跑车安卓网...
  18. pixhawk 模拟飞行
  19. JavaScript学习手册(12)
  20. Vmware与主机间共享文件的n种方法(附图+详解)

热门文章

  1. 程序员至少一半时间用于测试
  2. 深度学习框架间互操作的工具:MMdnn
  3. ios添加全局悬浮按钮_MIUI10快报:全局透明壁纸上线,本地视频支持设为锁屏壁纸...
  4. frx表格怎样调单元格大小_前端之HTML+CSS表格的写法
  5. 计算机网络苏州大学题库,苏州大学计算机网络样卷B[计科大类].doc
  6. matlab朴素贝叶斯手写数字识别_「深度学习系列」PaddlePaddle之手写数字识别
  7. 3G dual band 使用策略
  8. 轮播图的效果实现小米商城和京东商城
  9. Confluence 6 针对大数据量备份
  10. LRU缓存介绍与实现 (Java)