声明

本文所列出的内容仅针对于具有相同基础的人学习,
即 C/C++ 中所没有的或者从没遇见过的 Java 语言特性。

Java 程序结构

Java 应用程序由 源码文件、机器码文件组成

  • 源码文件:包含程序的源码,必须以 .java 为扩展名
  • 机器码文件: 由编译源码文件所生成的二进制文件,其格式为 .class 扩展名

Java 应用程序由一个,或多个源文件组成

  • 一个类被保存为一个单独的源文件中
  • 类名必须与文件名(除去扩展)具有相同名字
  • 因此 Java 应用程序由一个,或多个类组成

Java 主程序结构

Java 应用程序以类进行交互,即一个源码文件就是一个类
其基本源码形式如下: Test.java 源文件

1
2
3
4
class Test
{
.....
}

主程序中的main函数被作为类的方法存在,且具有特定格式
其常用源码形式如下: Test.java 源文件

1
2
3
4
5
6
7
public class Test
{
public static void main (String[] args)
{
......
}
}

  • 声明类的 public 表明此文件以外的文件可访问 Test 类
  • 声明 main 的 public 表明此类外部可直接访问 main 函数 Test.main("...");
  • 声明 main 的 static 表明我们不需要建立 Test 对象也可以直接访问 main 函数

总结:

  • Java 源代码其实就是一个类定义
  • Java 主程序中的类里必须包含有 main 方法
  • main 方法声明格式必须符合 Java 规定格式

Java 运行机制

  • Java 程序的运行是从 main 函数开始执行

简明讲解 main 函数:

  • Java 规定,一个文件保存为一个类,且名字相同
    因此,java 源代码首先得包含有一个类的声明

    1
    2
    3
    4
    class Test
    {

    }
  • 通常,我们通过调用一个类的成员函数来执行一个动作
    因此,我们要使用 main 函数,就必须作为 Test 类成员的形式存在

    1
    2
    3
    4
    5
    6
    7
    class Test
    {
    void main (String[] args)
    {

    }
    }
  • 类只是一种类型,我们必须建立一个对象才能进行一系列操作。
    默认情况下类的成员是限制外部访问的形式存在 —- private 权限
    为使类外部可直接访问类内部成员则必须设定成员为公共访问 —- public 权限

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class Test
    {
    public void main (String[] args)
    {

    }
    }
    /*
    *建立对象:Test Ts;
    *访问成员:Ts.main ("...");
    *你可能觉得一起很正常,其实不然
    */
  • main 被作为类的成员,
    但程序从 main 开始执行,要执行 main 就必须建立对象
    因此程序在运行的时候并没有办法建立一个 Test 类的对象。
    为了使 main 能被调用,把 main 函数设定为 static 静态成员。
    这样无论对象是否存在,都可以通过 Test.main("...") 执行第一个语句。

    1
    2
    3
    4
    5
    6
    7
    class Test
    {
    public static void main (String[] args)
    {

    }
    }
  • 关于 public class Test 中 的 public 将在包中讲解

Java 类库结构

  • 类库指一个库里包含各种各样的类以提供程序使用。
  • 类库实际上是以目录结构的形式来分布存储的

以标准库进行讲解:

  • JKD 默认安装有一个库名为 java 是一个目录
  • java 库里包含有多个包其实际上也是一个目录
  • 包名是根据类的用途进行分类而命名,如 lang 包、io 包 …
  • 包里的文件则是我们平常要使用的各个类。
  • 一个类表现为一个文件然后集合在一个包目录中。

提示: java 是 JDK 的基础库,javax 是扩展库

例子:import java.lang.Integer
该语句表明我们引入 java 库里的 lang 包里的 Integer 类为程序使用
该类位于 unix 类系统于:java/lang/Integer
该类位于 Win 类系统于:java\lang\Integer

标准类库表:
java.lang: 用于处理数组及字符串的类,该包在程序中自动被加载
java.io: 用于流的输入输出
java.nio.file: 用于文件的输入输出
java.util: 用于管理数据项
javax.swing: 提供灵活易用的组件用于构建图像,GUI 类
java.awt: 提供原始的 GUI 组件以及对 swing 组件的一些基本支持
java.awt.geom:二维图形
java.awt.event:用于 GUI 界面中处理事件

使用类库中的类:

方法一:
方法二:

  • 待更新

    Java 数据类型

  • 基本数据类型:
    byte 类型: 字节型,占用 1 字节,8 bit
    char 类型: 字符型,占用 2 字节,16 bit
  • 常量以 final 修饰:final int a = 20;
  • 字面值常量:
  • 待更新

Java 循环控制

  • 带标签的 break 语句
  • 带标签的 continue 语句
  • 待更新

Java 类

  • 待更新