请详细写出Javac和Java两个命令的使用方式

javac 是用来编译的 如:javac Test.java 这样就会生成Test.class文件 java 是运行java程序的,比如java Test 就可以运行刚生成的Test.class
请详细写出Javac和Java两个命令的使用方式
javac 是用来编译的 如:javac Test.java 这样就会生成Test.class文件

java 是运行java程序的,比如java Test 就可以运行刚生成的Test.class2015-10-03
javaac和java两个命令的使用详解:

一、javac命令
javac 用于编译Java文件,格式为:
java [options] [sourcefiles] [@files]
其中:
options:命令行选项;
sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :
二、java命令
java 用于执行程序,格式如下:
java [options] classfile
options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定
三、脚本
如果要敲的命令很长,每次要编译运行的时候都要重新敲一遍,这是一件很痛苦的事情,所以用脚本可以大大方便你的工作量。在linux下用shell脚本,windows下用bat批处理程序。因为是在linux下,我这里只是简单介绍一下shell,关于bat批处理程序的语法自己百度一下,不难。
1. 开头
linux有很多不同的shell,通常使用bash(bourne again shell),程序必须以下面的行开始:
#!/bin/sh
#!用来告诉系统用后面的参数来执行程序,这里使用的是/bin/sh
要使你的脚本能够执行,还必须让这个文件有可执行权限,使用下面命令更改文件权限:
chmod +x filename
2. 注释
以#开始的句子表示注释,一直到这行结束,多写注释有利于以后重新看的时候知道自己在做什么2015-09-22
一般用javac xxx.java编译,java xxx执行。。。

下面是javac -help和java -help的结果,平常可以多看看help:

用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...]要运行的注释处理程序的名称;绕过
的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定存放生成的类文件的位置
-s <目录> 指定存放生成的源文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-Akey[=value] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统

Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument

-splash:<imagepath>
show splash screen with specified image2013-10-20
比如说javac Test.java 编译
java Test 执行2013-10-20
mengvlog 阅读 6 次 更新于 2025-07-19 01:18:44 我来答关注问题0
  • C语言:编译后生成机器码,直接由操作系统执行。Java:编译后生成字节码,由Java虚拟机(JVM)解释执行,实现跨平台特性。javac的详细说明:功能:javac是Java语言的编译器,用于将Java源文件(.java)编译成字节码文件(.class)。调用方式:与java命令类似,但javac专注于编译过程,不产生控制台输出(除...

  •  翡希信息咨询 Java 命令 javac、java

    javac命令用于编译Java源代码,而java命令用于运行编译后的.class文件。javac命令的详细用途: 编译Java源代码:javac命令负责将Java源代码编译成字节码。 生成.class文件:在命令行中使用javac命令时,它会根据提供的源文件路径在当前目录或指定目录生成相应的.class文件。 处理依赖:如果源文件依赖了其他...

  •  翡希信息咨询 Java 命令 javac、java

    javac 命令用于编译 Java 源代码,而 java 命令用于运行编译后的 Java 程序。javac 命令: 功能:将 Java 源代码文件编译成字节码文件。 关键选项: cp 或 classpath:指定类路径,用于查找编译时所需的类和包。 encoding:指定源代码文件的编码格式。 source:指定目标 JVM 的版本,确保代...

  • javac命令的作用:编译Java源文件:javac命令读取一个或多个Java源文件,并将它们编译成Java虚拟机可以执行的字节码文件。生成.class文件:编译成功后,每个Java源文件都会对应生成一个或多个.class文件,这些文件包含了Java类的字节码表示。java命令的作用:启动Java虚拟机:java命令用于启动Java虚拟机,并...

  • 当我们编写第一个HelloWorld程序时,需要使用javac命令将源代码编译,生成class字节码文件。然后,使用java命令执行这个字节码文件。执行完成后,控制台会输出"Hello World"字符串。值得注意的是,只有包含main方法的class文件才能执行,因为main方法是java程序的入口。对于包含包结构的java源文件,编译时需要...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部