Java基础-编写问候语-“Hello World”

                 Java基础-编写问候语-“Hello World”

                                    作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.编写“Hello World”程序

1>.编写源代码

  任何文本编辑起都可以编写Java源代码。Java代码的文件的命名格式规定是以“*.java”结尾。

 

2>.编译

  编译时使用javac命令。用法:javac + 源文件

3>.运行

  运行时使用Java命令。Java后面跟的是类名或是字节码文件的文件名。

 

 二.“Hello World”程序说明

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 class Hello{
 8     public static void main(String[]args){
 9         System.out.println("Hello World!");
10     }
11 }

  1>.Java程序都必须定义在类中,编写Java程序的过程就是不断定义类的过程;

  2>.使用class来定义一个类;

  3>.Hello是程序员气的一个类名;

  4>.类中的内容需要使用一对大括号括起来;

  5>.程序要运行,必须编写main方法,并且main方法的写法是固定的;

  6>.pubic表示公共的;

  7>.static表示静态的;

  8>.void表示main方法没有返回值;

  9>.main是一个方法名;

  10>.main后面的小括号是方法的参数;

  11>.string[]args 是定义了一个字符串类型的数组;

  12>.main方法的方法体也需要使用一对大括号括起来;

  13>.“System.out.println("Hello World!");”是一条语句,Java语句使用英文半角分好结束;

  14>.上一条语句的作用是在屏幕上打印一行信息,就是双引号引起来的内容会打印到屏幕上;

  15>.System是sun公司定义的一个类,表示系统类;

  16>. System.out 代表的是系统的标准输出设备,默认为显示器;

  17>.println() 是一个方法,其作用就是在屏幕上打印一行信息;

   注意:在Java中的符号都是英文半角!!!

 

三.Java源文件与类

1>.定义的类必须存储在Java源文件中。

2>.一般情况下,Java源文件名与类名相同。

3>.如果类名与源文件名不同:

  a>.javac编译时,跟的是源文件名;

  b>.生成的字节码文件,字节码文件名与类名相同。

4>.一般情况下,一个Java源文件中只定义一个类。

5>.在Java源文件中可以定义多个类:

  a>.编译后,每个类都会生成一个对应的字节码文件

6>.同一个源文件中不同的类,都可以有main方法:

  a>.一个类是否需要定义main方法,根据这个类是否需要被运行来决定

7>.类可以使用public修饰为公共类:

  a>.你可能会问为什么要定义公共类,这就不得步说一下包的概念,包是用来管理类的,如果A包中的类想要使用B保重的类,在B包中被使用的类必须定义为public公共类;

  b>.公共类的类名必须和文件名一致;

 

四.Java编码规范

1>.存储规范

  a>.Java源文件的路径中尽量不要含有空格(dos命令行默认是以空格区分命令与参数)和中文(可以避免字符编码导致的问题)。

  b>.Java源文件名不能有空格,尽量不要有中文。

2>.命名规范

  程序源在开发程序时,会给类,变量,方法,常量起一些名字,在起名时要符合命名规范,常见的命名规范如下:

    a>.类名一般每个单词首字母都大写;

    b>.变量名,是名词,第一个单词小写,其它每个单词的首字母大写;

    c>.方法名,是动词,第一个单词小写,其它每个单词的首字母大写;

    d>.final常量名,一般每个字母都大写;

 1 D:\10.Java\JavaSE\Day1>dir
 2  驱动器 D 中的卷是 学习资料
 3  卷的序列号是 0006-071A
 4 
 5  D:\10.Java\JavaSE\Day1 的目录
 6 
 7 2018/03/27 周二  上午 08:26    <DIR>          .
 8 2018/03/27 周二  上午 08:26    <DIR>          ..
 9 2018/03/27 周二  上午 08:21               417 Demo01.java
10 2018/03/26 周一  下午 11:17               416 Hello.class
11 2018/03/26 周一  下午 10:55                99 Hello.java
12                3 个文件            932 字节
13                2 个目录 460,338,917,376 可用字节
14 
15 D:\10.Java\JavaSE\Day1>
16 D:\10.Java\JavaSE\Day1>type Demo01.java
17 /*
18 @author :yinzhengjie
19 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
20 EMAIL:y1053419035@qq.com
21 */
22 
23 class MyClass{
24     final double PI = 3.14;             //final常量每个字母都大写
25     public static void main(String[] args){
26         int dogAge = 5;                 //定义一个变量,dogAge是一个变量名
27         System.out.println("尹正杰");
28     }
29 
30     public static int getYear(){        //getYear()是方法名
31         return 2018;
32     }
33 }
34 D:\10.Java\JavaSE\Day1>javac Demo01.java
35 
36 D:\10.Java\JavaSE\Day1>dir
37  驱动器 D 中的卷是 学习资料
38  卷的序列号是 0006-071A
39 
40  D:\10.Java\JavaSE\Day1 的目录
41 
42 2018/03/27 周二  上午 08:26    <DIR>          .
43 2018/03/27 周二  上午 08:26    <DIR>          ..
44 2018/03/27 周二  上午 08:21               417 Demo01.java
45 2018/03/26 周一  下午 11:17               416 Hello.class
46 2018/03/26 周一  下午 10:55                99 Hello.java
47 2018/03/27 周二  上午 08:26               551 MyClass.class
48                4 个文件          1,483 字节
49                2 个目录 460,338,917,376 可用字节
50 
51 D:\10.Java\JavaSE\Day1>java MyClass
52 尹正杰
53 
54 D:\10.Java\JavaSE\Day1>
55 D:\10.Java\JavaSE\Day1>
DOS命令行案例展示

3>.书写规范

  在编写代码时,要进行适当的换行与缩进。

4>.注释规范

  a>.什么是注释

    注释是对代码进行解释说明;

    注释是给人看的,不参与编码,不影响程序的结构;

    注释的作用就是为了提高代码的可读性;

  b>.Java文档中的注释分类

    单行注释,使用"//"(双斜杠)开始的注释

    多行注释,使用"/**/"标识的注释

    文档注释,使用“/** 文档注释*/”进行的注释,文档注释可以生成相应的文档。

 

五.文档注释的生成

1>.文档注释一般用来注释类,方法,成员变量

  即在类的前面,在方面的前面,在成员变量的前面可以有文档注释。

2>.类必须使用public修饰为公共的才可以生成相应的文档

  方法,变量可以使用public修饰,也可以使用protected修饰。

 

3>.工具类说明书的制作

 

  a>.写一个完整的工具类,类要用public修饰;

  b>.类名上加author(指定作者,可以用中文),version(指定发行版本,如1.0版本)标签;

  c>.方法上加param(对形参列表进行说明的关键字),return(对返回值的类型进行说明)标签;

  d>.注意,方法上标签中不用加类型;

 

4>.文档注释可以使用javadoc命令生成相应的文档

  命令行常用编译参数说:

      a>.“-author”,表示包含包含 @author 段。

      b>.“-version”,表示包含 @version 段。

      c>.“encoding”,指定源文件的编码格式。

      如果想要了解更多参数可以查看帮助信息:“javadoc -help”。

 1 D:\10.Java\JavaSE\Java\DAY1>
 2 D:\10.Java\JavaSE\Java\DAY1>type Demo.java
 3 /**
 4 @author 尹正杰
 5 @version 1.0
 6 */
 7 
 8 public class Demo{
 9     /**
10         文档注释对成员变量进行注释时,可以使用public/protected修饰。
11     */
12     protected int password = 123;               //成员变量
13 
14     /**
15     *   文档注释,对方法进行注释,方法需要使用public/protected修饰。
16     *
17     *   @param args main 方法的参数是一个字符串数组
18     */
19     public static void main(String[] args){
20         int age = 18;                   //定义一个变量保存一个人的年龄。
21         System.out.println("yinzhengjie");
22     }
23 }
24 D:\10.Java\JavaSE\Java\DAY1>
25 D:\10.Java\JavaSE\Java\DAY1>javadoc -d ./mydoc -author -version Demo.java
26 正在加载源文件Demo.java...
27 正在构造 Javadoc 信息...
28 正在创建目标目录: "./mydoc\"
29 标准 Doclet 版本 9.0.4
30 正在构建所有程序包和类的树...
31 正在生成.\mydoc\Demo.html...
32 正在生成.\mydoc\package-frame.html...
33 正在生成.\mydoc\package-summary.html...
34 正在生成.\mydoc\package-tree.html...
35 正在生成.\mydoc\constant-values.html...
36 正在构建所有程序包和类的索引...
37 正在生成.\mydoc\overview-tree.html...
38 正在生成.\mydoc\index-all.html...
39 正在生成.\mydoc\deprecated-list.html...
40 正在构建所有类的索引...
41 正在生成.\mydoc\allclasses-frame.html...
42 正在生成.\mydoc\allclasses-frame.html...
43 正在生成.\mydoc\allclasses-noframe.html...
44 正在生成.\mydoc\allclasses-noframe.html...
45 正在生成.\mydoc\index.html...
46 正在生成.\mydoc\help-doc.html...
47 
48 D:\10.Java\JavaSE\Java\DAY1>
javadoc -d ./mydoc -author -version    -encoding GBK  Demo.java

 

六.反编译操作

 1 D:\10.Java\JavaSE\Day1>dir
 2  驱动器 D 中的卷是 学习资料
 3  卷的序列号是 0006-071A
 4 
 5  D:\10.Java\JavaSE\Day1 的目录
 6 
 7 2018/03/27 周二  上午 10:38    <DIR>          .
 8 2018/03/27 周二  上午 10:38    <DIR>          ..
 9 2018/03/27 周二  上午 08:40               417 Demo01.java
10 2018/03/27 周二  上午 08:40               562 Demo02.java
11 2018/03/27 周二  上午 08:49               402 Demo03.java
12 2018/03/27 周二  上午 10:38    <DIR>          doc
13 2018/03/27 周二  上午 10:33               572 Dome04.java
14 2018/03/26 周一  下午 10:55                99 Hello.java
15                5 个文件          2,052 字节
16                3 个目录 460,333,453,312 可用字节
17 
18 D:\10.Java\JavaSE\Day1>
19 D:\10.Java\JavaSE\Day1>javac Dome04.java
20 
21 D:\10.Java\JavaSE\Day1>dir
22  驱动器 D 中的卷是 学习资料
23  卷的序列号是 0006-071A
24 
25  D:\10.Java\JavaSE\Day1 的目录
26 
27 2018/03/27 周二  上午 10:41    <DIR>          .
28 2018/03/27 周二  上午 10:41    <DIR>          ..
29 2018/03/27 周二  上午 08:40               417 Demo01.java
30 2018/03/27 周二  上午 08:40               562 Demo02.java
31 2018/03/27 周二  上午 08:49               402 Demo03.java
32 2018/03/27 周二  上午 10:38    <DIR>          doc
33 2018/03/27 周二  上午 10:41               467 Dome04.class
34 2018/03/27 周二  上午 10:33               572 Dome04.java
35 2018/03/26 周一  下午 10:55                99 Hello.java
36                6 个文件          2,519 字节
37                3 个目录 460,333,453,312 可用字节
38 
39 D:\10.Java\JavaSE\Day1>
40 D:\10.Java\JavaSE\Day1>javap -c Dome04
41 Compiled from "Dome04.java"
42 public class Dome04 {
43   protected int password;
44 
45   public Dome04();
46     Code:
47        0: aload_0
48        1: invokespecial #1                  // Method java/lang/Object."<init>":
49 ()V
50        4: aload_0
51        5: bipush        123
52        7: putfield      #2                  // Field password:I
53       10: return
54 
55   public static void main(java.lang.String[]);
56     Code:
57        0: bipush        18
58        2: istore_1
59        3: getstatic     #3                  // Field java/lang/System.out:Ljava/
60 io/PrintStream;
61        6: ldc           #4                  // String yinzhengjie
62        8: invokevirtual #5                  // Method java/io/PrintStream.printl
63 n:(Ljava/lang/String;)V
64       11: return
65 }
66 
67 D:\10.Java\JavaSE\Day1>
68 D:\10.Java\JavaSE\Day1>
反编译操作:“javap -c Dome04”

 

posted @ 2018-03-23 22:17  尹正杰  阅读(995)  评论(0编辑  收藏  举报