zoukankan      html  css  js  c++  java
  • 第一个Java程序

    代码

    • /**
       * 一个简单的Java应用程序
       */
      public class FirstSample {
          public static void main(String[] args){
              System.out.println("Hello World!");
          }
      }
      

    解释

    • public

      • 访问修饰符,控制程序的其他部分对这段代码的访问级别
    • class

      • 关键字,表示类
    • FirstSample

      • 类名
      • Java中类名的命名规定
        • 以字母开头,后面可以跟字母和数字的任意组合,长度基本上没有限制
        • 类名不能是Java保留字
    • main方法

      • Java 1.4之后强制main方法必须是public
      • main方法必须是static
      • 返回值类型为void,main方法没有为操作系统返回“退出码”(程序退出时的状态码),如果main方法正常退出,那么Java应用程序的退出码为0。如果希望在终止程序时返回其它的“退出码”,需要调用System.exit方法
        • 退出码其实是约定俗成的。一般约定[0,99]内整数代表正常退出,[100-199]代表警告退出,大于等于200代表异常退出,但是不同的操作系统却不同。
        • Java中,默认的正常退出码为0,非零值表示不正常退出(目前测试非正常退出的退出码为1)
        • System.exit(int status)可以指定退出码
          • 程序运行到该方法所在的那一行代码会直接退出程序,并返回指定的退出码,后面的代码不再执行
          • 底层调用方法是Runtime.getRuntime().exit(status);
      • JVM总是从指定类中的main方法的代码开始执行
    • System.out

      • System为类,out是System类中的静态成员变量,是一个PrintStream对象的引用
      • println是PrintStream类中的实例方法,将传递给它的字符串参数显示在控制台上
      • println方法和print方法的区别
        • println方法的实现是先调用print方法向控制台输出,然后调用newLine方法输出换行
        • print方法的实现是将接收到的参数转为String类型然后调用write方法向控制台输出
          • 调用指定对象的toString方法
        • write方法和newLine方法的实现与IO流相关
    • 运行

      • 编译阶段

        • javac FirstSample.java
          
        • 编译阶段检查语法错误

        • 如果没有语法错误,则根据java源文件生成字节码文件FirstSample.class

        • 如果一个源文件中有多个类,则会生成多个字节码文件

      • 运行阶段

        • java FirstSample
          
        • 注意,执行java字节码文件是通过类名,不用加后缀.class

        • java.exe命令启动JVM,JVM启动类加载器ClassLoader

        • ClassLoader找到相应的.class文件,并将该文件加载到JVM中

          • 默认情况下,ClassLoader在当前路径下寻找指定类名对应的.class文件
          • 可以通过Java环境变量classpath指定路径
          • 如果不指定路径,则需要切换路径到.class文件所在的目录下,再通过java命令运行程序
        • JVM将.class字节码文件解释成二进制文件

        • 操作系统执行二进制文件,并与硬件平台交互

  • 相关阅读:
    PAT (Advanced Level) 1114. Family Property (25)
    PAT (Advanced Level) 1113. Integer Set Partition (25)
    PAT (Advanced Level) 1112. Stucked Keyboard (20)
    PAT (Advanced Level) 1111. Online Map (30)
    PAT (Advanced Level) 1110. Complete Binary Tree (25)
    PAT (Advanced Level) 1109. Group Photo (25)
    PAT (Advanced Level) 1108. Finding Average (20)
    PAT (Advanced Level) 1107. Social Clusters (30)
    PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)
    PAT (Advanced Level) 1105. Spiral Matrix (25)
  • 原文地址:https://www.cnblogs.com/AAAmsl/p/12785771.html
Copyright © 2011-2022 走看看