• 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.JavaJavaSEDay1>dir
     2  驱动器 D 中的卷是 学习资料
     3  卷的序列号是 0006-071A
     4 
     5  D:10.JavaJavaSEDay1 的目录
     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.JavaJavaSEDay1>
    16 D:10.JavaJavaSEDay1>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.JavaJavaSEDay1>javac Demo01.java
    35 
    36 D:10.JavaJavaSEDay1>dir
    37  驱动器 D 中的卷是 学习资料
    38  卷的序列号是 0006-071A
    39 
    40  D:10.JavaJavaSEDay1 的目录
    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.JavaJavaSEDay1>java MyClass
    52 尹正杰
    53 
    54 D:10.JavaJavaSEDay1>
    55 D:10.JavaJavaSEDay1>
    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.JavaJavaSEJavaDAY1>
     2 D:10.JavaJavaSEJavaDAY1>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.JavaJavaSEJavaDAY1>
    25 D:10.JavaJavaSEJavaDAY1>javadoc -d ./mydoc -author -version Demo.java
    26 正在加载源文件Demo.java...
    27 正在构造 Javadoc 信息...
    28 正在创建目标目录: "./mydoc"
    29 标准 Doclet 版本 9.0.4
    30 正在构建所有程序包和类的树...
    31 正在生成.mydocDemo.html...
    32 正在生成.mydocpackage-frame.html...
    33 正在生成.mydocpackage-summary.html...
    34 正在生成.mydocpackage-tree.html...
    35 正在生成.mydocconstant-values.html...
    36 正在构建所有程序包和类的索引...
    37 正在生成.mydocoverview-tree.html...
    38 正在生成.mydocindex-all.html...
    39 正在生成.mydocdeprecated-list.html...
    40 正在构建所有类的索引...
    41 正在生成.mydocallclasses-frame.html...
    42 正在生成.mydocallclasses-frame.html...
    43 正在生成.mydocallclasses-noframe.html...
    44 正在生成.mydocallclasses-noframe.html...
    45 正在生成.mydocindex.html...
    46 正在生成.mydochelp-doc.html...
    47 
    48 D:10.JavaJavaSEJavaDAY1>
    javadoc -d ./mydoc -author -version    -encoding GBK  Demo.java

    六.反编译操作

     1 D:10.JavaJavaSEDay1>dir
     2  驱动器 D 中的卷是 学习资料
     3  卷的序列号是 0006-071A
     4 
     5  D:10.JavaJavaSEDay1 的目录
     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.JavaJavaSEDay1>
    19 D:10.JavaJavaSEDay1>javac Dome04.java
    20 
    21 D:10.JavaJavaSEDay1>dir
    22  驱动器 D 中的卷是 学习资料
    23  卷的序列号是 0006-071A
    24 
    25  D:10.JavaJavaSEDay1 的目录
    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.JavaJavaSEDay1>
    40 D:10.JavaJavaSEDay1>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.JavaJavaSEDay1>
    68 D:10.JavaJavaSEDay1>
    反编译操作:“javap -c Dome04”
  • 相关阅读:
    如何利用WGET覆写已存在的档案
    linux 脚本返回值
    ubuntu的配置网络
    非交互模式修改Ubuntu密码的命令
    [zz]python多进程编程
    [zz]linux修改密码出现Authentication token manipulation error的解决办法
    [zz]4.1.5 进程的处理器亲和性和vCPU的绑定
    vcpu
    非交互式调用交互式程序
    HDOJ_ACM_饭卡
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/8635422.html
Copyright © 2020-2023  润新知