0
点赞
收藏
分享

微信扫一扫

(P13-22)HelloWorld程序


文章目录

  • ​​1.JVM,JRE,JDK之间的区别和联系​​
  • ​​2. JDK目录的介绍​​
  • ​​3.编译和运行​​
  • ​​4.classpath​​
  • ​​5.关于java源程序当中的注释​​
  • ​​6.public class和class的区别​​

1.JVM,JRE,JDK之间的区别和联系

  • JDK:java开发工具包,针对java开发人员,可以编译运行java程序,一般包括JRE
  • JRE:Jvav运行时环境,java运行时环境,针对使用java程序的客户,可以运行字节码 (.class),但是不能编译Java源码
  • JVM:用来解释执行字节码文件 (.class),但不能正确的执行

2. JDK目录的介绍

  • 安装JDK:环境:win10安装JDK8:jdk-8u101-windows-x64.exe
  • 解决DOS窗口命令中输入javac出现:‘javac’不是内部或者外部命令的问题?将其加入到windows的环境变量PATH中
  • windos操作系统是如何搜索硬盘上某个命令的呢?
    (1)首先从当前目录下搜索
    (2)若当前目录搜索不到,则从环境变量PATH指定的路径中搜索
    (3)若搜索不到,则上报以上错误
  • bin目录:该目录存放java的可执行文件,如javac.exe(java的编译器工具),java.exe(java的运行工具)

3.编译和运行

  • eg:HelloWorld.java

public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}

  • javac命令使用:javac java源文件路径
    直接拖到cmd即可
  • 运行java程序:
    (1)需要使用java.exe命令
    (2)使用方式:
    java 类名
    硬盘上有HelloWorld.class,那么类名就是:HelloWorld
    运行:java HelloWorld
    注意:java命令后面跟的不是文件路径,是一个类的名字。
    首先你需要先将Dos窗口中的目录切换到HelloWorld.class文件所在目录。
    (3)然后直接执行:java HelloWorld

4.classpath

  • 疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?
  • 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
  • 当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath,classpath是在Dell的环境变量中的。
    计算机–>属性–>高级设置–>高级–>Dell的环境变量–>新建–>classpath)
    classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATE环境变量属于操作系统】
  • classpath是给ClassLoader类加载器指路的。
    (1) 设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\day02
    (2)打开dos命令窗口在任意位置,都可以执行:java HelloWorld
    (3)classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
    (4)当classpath环境变量配置为某个特定的路径之后,类加载器只去指定的路径当中加载字节码文件。
  • 综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。
    所以,每执行一次.class程序的时候,需要在Dos命令窗口中先切换到.class字节码文件所在的路径下。
    然后运行。
  • 当然,classpath也可以这样配置:classpath=.(每次运行时切换到当前目录)
    (如果以后需要加载别的class文件的话,这个路径只要在.后面加个;otherpath就行了,这样意味着从当前路径下可以,从其他路径下也可以)

5.关于java源程序当中的注释

  • 什么是注释?注释的作用是什么?
    出现在java的源程序当中,对java源代码的解释说明
    注释不会被编译到.class字节码文件中
    一个好的开发习惯应该是多编写注释,这样程序的可读性比较强。
  • java中的注释怎么写呢?

单行注释
//单行注释,只注释当前行

多行注释
/*
多行注释
多行注释
多行注释
多行注释

*/

javadoc注释
/**
javadoc注释
javadoc注释
javadoc注释
javadoc注释
javadoc注释
*/
注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档。

  • eg:HelloWorld.java

//public表示公开的
// class表示定义一个类
// HelloWorld表示一个类名
public class HelloWorld//表示定义一个公开的类
{
// 类体
// 类体中不允许直接编写java语句,除了声明变量之外
/*
public表示公开的
static表示静态的
void表示空
main表示方法名是main
String[] args是main方法的形参列表
*/
// 程序的入口
public static void main(String[] args)
{
// 方法体
// java语句
// java中所有的字符串都是用双引号括起来
System.out.println("Hello World");//控制台输出

System.out.println("Hello wangji");
}
}

6.public class和class的区别

  • 一个Java源文件中可以定义多个class
  • 一个java源文件中public不是必须的
  • 一个class会定义生成一个xxx.class字节码文件
  • 一个java源文件中定义公开的类的话, 只能有一个,且该类名称必须和java源文件名称一致
  • 每一个class中都可以编写main方法,都可以设定程序的入口,执行B.class中的main方法:java B
    注:执行java Hello,那么要求Hello.class中必须有main()方法,否则运行会错误
  • (P13-22)HelloWorld程序_后端

  • eg:K.java

public class K {
public static void main(String[] args)
{
System.out.println("K's main method invoked");
}

}

class X {
public static void main(String[] args)
{
System.out.println("X's main method invoked");
}

}


class Y {
public static void main(String[] args)
{
System.out.println("Y's main method invoked");
}

}

class B
{

}


举报

相关推荐

0 条评论