Java 之 第一个Java程序

一、开发步骤

  1、Java 代码编写到扩展名为 .java 的文件中。

  2、通过 javac 命令对该 java 文件进行编译 。

  3、通过 java 命令对生成的 class 文件进行运行。   

  

二、编写

  选择最简单的编辑器:记事本。

  敲入代码 class Test{ }将文件保存成Test.java,这个文件是存放java代码的文件,称为源文件。

  

   文件的后缀名显示为 .java,所以要把文件的扩展名显示出来。

三、编译  

    

  有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
  在该源文件目录下,通过javac编译工具对Test.java文件进行编译。
  如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文件,该文件称为字节码文件,也是可以执行的java的程序。 

四、运行

  有了可执行的java程序(Test.class字节码文件)
  通过运行工具java.exe对字节码文件进行执行。
  出现提示:缺少一个名称为main的方法。 

  

  因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入public static void main(String[] args){ }
  对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。
  发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。
  想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World");因为程序进行改动,所以再重新编译,运行即可。

五、第一个程序

public class Test{
    public static void main(String[] args) {
        System.out.println(“Hello World!”);
    }
}

六、常见问题及解决方法

  1、Question

    

       源文件名不存在或者写错
       当前路径错误
       后缀名隐藏问题

  2、Question

    

     类文件名写错,尤其文件名与类名不一致时,要小心
    类文件不在当前路径下,或者不在classpath指定路径下

  3、Question

    

     声明为public的类应与文件名一致,否知编译失败

  4、Question

    

     编译失败,注意错误出现的行数,再到源代码中指定位置改错 

七、总结与扩展

  1、每一个 Java 文件都是一个 Java类,一个类的组成主要由下面几部分组成:

    关键字 class

    类名:Test,文件名必须和主类的名字是一致的,注意大小写。

    内容:{}

    主函数:main函数,主函数是一个程序的入口函数,程序执行就是执行主函数,主函数执行完了,程序也就执行完了。JVM在运行的时候,都是从 main 方法开始执行的。(可以没有主函数一个类中)

    一个源文件中可以定义多个类,编译之后都会生成一个 .class 文件,但是只能定义一个公开类,且公开类的类名和文件名完全一致,公开类用 public 修饰。

    Java 程序的基本组成单元是,类中又包括属性方法两部分,每一个应用程序都必须包含一个 main() 方法,含有 main() 方法的类称为主类

  2、编译

    编译:编写好的 Java 文件 JVM 看不懂,也就不能运行,需要将写好的 Java 源文件,编译成 JVM可以看懂的 字节码文件。

    在 DOS 命令行中,进入 Java 源文件的目录,使用 javac 命令进行编译。(源文件名不区分大小写,但是建议注意大小写)

    命令:

javac    Java源文件名.java

    编译成功后,命令行没有任何提示,在源文件的目录中就会有一个和 源文件同名的 .class 文件,这个文件就是编译后的文件,是Java的可运行文件,称为字节码文件。

  3、运行程序

    在 DOS 命令行中,进入 java 源文件的目录,使用 java 命令进行运行。(字节码文件名(类名),严格区分大小写。)

    命令:

java  类名(类名与源文件不一致,非公开类)
java  源文件名(类名与源文件名一致,公开类)

    运行的时候切记不要给文件添加后缀名

    Tips: 编译和运行

      编译:是指将编写的  java 源文件翻译成 JVM 认知的 class 文件,在这个过程中,javac 编译器会检查我们所写的程序时候错误,有错误就会提示出来,如果没有错误就会编译成功。

      运行:是指将 class 文件交给 JVM 去运行,此时 JVM就会执行我们写的程序。

  4、包

    (1)包的作用

        ① 避免类的重名问题

        有了包后,类的名称就比较长了,类的全名称就变成了: 包.类名

 java.util.Scanner :Scanner类的全名称

java.lang.String:String类的全名称
java.lang.System:System类的全名称
java.lang.Math:Math类的全名称

         ② 分类组织管理众多的类

 java.io:和IO(输入输出)有关

java.util:和各种常用工具类有关
java.lang:核心系统类
java.net:和网络编程有关
java.sql:和数据库编程有关 

        ③ 用于访问权限控制

        如果某个类或某个方法的权限修饰符省略,那么就仅限于本包使用。

    (2)如何声明包

       语法格式:

package 包名;

              注意

         ① 一个 .java 源文件只能有一句

         ② 必须在源文件的代码首行 

         ③ package 关键字:类似于文件夹,用于管理字节码文件,必须写在源文件的第一行。并且可以有多层包。(0~1个包)

       包名的命名规范:

         ① 所有单词都小写,每个单词之间用 . 分割

         ② 习惯上用公司的域名倒置 + 模块名

    (3)如何编译带包的类

        编译带包的类语法:

javac -d . 源文件名.java (自动生成目录结构)

    (4)如何运行带包的类

        运行带包的类语法:

java 包名.类名(全限定名)

    (5)如何使用其他包的类

       前提:被使用的类或成员的权限修饰符的允许跨包使用

      语法:

使用全名称:包.类名
使用import语句 + 简名称	

       说明:

        ① import 语句是写在 package 语句与 class 声明之间的

        ② 导包语句可以很多句,导入不同包的类

        ③ java.lang 包中的类可以不适用 import 语句,直接使用简名称

        ④ 可以同时导入一个包中的很多类,如 import 包.*;

        ⑤ 如果出现了不同的包,但是类名相同

          例如: java.util.Date 与 java.sql.Date;

          此时只能一个选择使用全名称,一个使用简名称,不能同时使用简名称

         import 关键字:当一个类中需要引用另外一个类的方法,需要引用对应的包。(0~n个包)

        注意:如果有多个包结构是相同的,用 * 代替该包结构下的所有类。 

 

原文地址:https://www.cnblogs.com/niujifei/p/13484967.html