javac和java的区别

javac和java的区别

1. javac 是编译一个java文件的基本命令,通过不同参数可以完成各种配置,比如导入其他类,指定编译路径等。

2. java是执行一个java文件的基本命令,通过参数配置可以以不同方式执行一个java程序或者是一个jar包。

3. javap是一个class文件的反编译程序,可以获取class文件的反编译结果,甚至是jvm执行程序的每一步代码实现。

总结:Javac是编译、Java是执行,编写Java代码后,使用Javac进行编译生成 .Class文件,.Class文件使用 Java命令 执行代码;

javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java

运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。

java 可以运行class字节码文件
如 java HelloWorld

注意java命令后面不要加.class

 


EmployeeTest.java 文件代码:
import java.io.*;
public class EmployeeTest{
 
   public static void main(String[] args){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("RUNOOB1");
      Employee empTwo = new Employee("RUNOOB2");
 
      // 调用这两个对象的成员方法
      empOne.empAge(26);
      empOne.empDesignation("高级程序员");
      empOne.empSalary(1000);
      empOne.printEmployee();
 
      empTwo.empAge(21);
      empTwo.empDesignation("菜鸟程序员");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Employee.java 文件代码:
import java.io.*;
 
public class Employee{
   String name;
   int age;
   String designation;
   double salary;
   // Employee 类的构造器
   public Employee(String name){
      this.name = name;
   }
   // 设置age的值
   public void empAge(int empAge){
      age =  empAge;
   }
   /* 设置designation的值*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* 设置salary的值*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* 打印信息 */
   public void printEmployee(){
      System.out.println("名字:"+ name );
      System.out.println("年龄:" + age );
      System.out.println("职位:" + designation );
      System.out.println("薪水:" + salary);
   }
}

import 语句

在 Java 中,如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。

例如,下面的命令行将会命令编译器载入 java_installation/java/io 路径下的所有类

import java.io.*;

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: java.exe和javac.exe是Java开发工具中的两个不同的程序。 java.exe是Java虚拟机(JVM)的执行程序,它负责解释和执行Java程序的字节码。当我们在命令行中输入"java xxx"时,就是在调用java.exe来执行xxx.class文件。 而javac.exe是Java编译器的执行程序,它负责将Java源代码编译成字节码文件(.class文件)。当我们在命令行中输入"javac xxx.java"时,就是在调用javac.exe来将xxx.java文件编译成xxx.class文件。 因此,java.exe和javac.exe的主要区别在于它们的功能不同,一个是执行Java程序,一个是编译Java程序。 ### 回答2: Java是跨平台的高级编程语言,它可以让开发人员创建各种类型的应用程序,从简单的命令行工具到复杂的企业级Web应用程序。 Java的代码是由Java编译器编译成Java字节码,这些字节码由Java虚拟机(JVM)解释执行。Java编译器由两个主要组件组成,即java.exe和javac.exe。 Java.exe Java.exe是Java虚拟机(JVM)的一部分。它是运行Java字节码的主要组件。当Java程序被编译并生成字节码文件后,它们必须由java.exe在JVM上运行。 Java.exe可以通过命令行启动,也可以在Web浏览器中作为Java插件运行。在命令行中,可以使用以下命令启动Java虚拟机: java [options] classname [args] 其中,[options]是可选项,用于指定Java虚拟机的运行参数。classname是要运行的Java类的名称。[args]是传递给Java类的参数列表。 Javac.exe Javac.exe是Java编译器的一部分。它用于将Java源代码编译成Java字节码。Javac.exe从.java源代码文件中读取代码,然后将其编译成Java字节码。这些字节码可以由java.exe在JVM上执行。 在命令行中,可以使用以下命令来编译Java源代码: javac [options] filename.java 其中,[options]是可选项,用于指定编译器的选项和参数。filename.java是要编译的Java源代码文件的名称。 总结: Java.exe和Javac.exe都是Java的重要组件。Java.exe是Java虚拟机的一部分,它负责在JVM上运行Java字节码。而Javac.exe是Java编译器的一部分,用于将Java源代码编译成Java字节码。Java程序必须首先使用Javac.exe将Java源代码编译成字节码,然后再使用Java.exe在JVM上运行它们。 ### 回答3: java.exe和javac.exe是Java语言中两个非常重要的执行程序,它们的主要区别体现在针对不同的Java源文件进行编译和执行。 首先,java.exe是Java的运行程序,可以说是Java虚拟机(JVM)的启动器。当开发者编写一个复杂的Java程序之后,需要把这个程序编译成一个字节码文件,格式为“.class”文件。然后,通过利用java.exe启动JVM,让字节码文件能够被JVM识别并完成程序的执行。也就是说,java.exe主要负责加载和执行已编译的Java程序。 而javac.exe则是Java开发者使用的编译器,它可以将源代码编译成为字节码文件,生成后缀为“.class”的可执行文件。也就是说,开发者编写的Java源代码,在使用了javac编译器之后,可以被转化为可在Java虚拟机上执行的格式化指令。因此,javac主要负责编译Java程序源代码,生成可以被java.exe启动的字节码文件。 另外,需要说明的是,java.exe和javac.exe属于Java Development Kit(JDK)中的组件,是Java开发的必要组成部分。从本质上来说,它们是Java开发中不可或缺的两个程序执行器,能够实现程序的编译和运行。 总而言之,java.exe和javac.exe虽然在名字上非常相似,但是它们的功能和作用却存在很大的区别java.exe是Java运行时的启动程序,用于加载和执行已编译的Java程序;而javac.exe是Java开发者主要使用的编译器,用于将Java源代码编译成可以在Java虚拟机上执行的字节码文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值