javac和java命令相关的问题

之前对于编译和运行是一知半解,今天就好好的记录一下,弄明白,希望能帮到大家。
最近用cmd命令行在编译和运行时,遇到一些问题,和配置没有关系,没弄明白命令的含义。

  • 先看没有包的情况:

    1. 写一个HelloWorld程序测试,注释就不用管了哦

      public class Hello{
      	public static void main(String[] args) {
       	//女人有脾气?
       	System.out.println("hello world!!");
       	}`
      }
      
    2. 在当前目录打开cmd,输入编译命令:javac 类名.java,执行完成后会在当前目录生成一个class后缀的文件(计算机最终要运行的是这个.class文件(字节码文件)。

      .java 文件是源码 , 经过编译器编辑之后 , 编译成 .class 文件 , .class文件是字节码文件 , 在java项目运行时 , 所有.class都依赖于java运行环境 , 也就是 jre , 在jre中 , .class文件被解析成机器可识别的语言 , 然后得到执行。

    3. 运行执行命令:java 类名,这时要注意大小写,笔者就是因为大小写试了半天,难受啊!!!!

    4. 至此无包的情况运行完成

  • 有包的情况:

    1. 来吧,先加个包名,别问为什么,你自己随便加

      package com.xiaoxiao.www.base;
      
      public class Hello{
          public static void main(String[] args) {
              //女人有脾气?
              System.out.println("hello world!!");
         
          }
      }
      
    2. 用javac来编译,如果直接进行编译运行会报错,如下

    3. 笔者测试了两种方式编译

      1. 方法一:找到包的上一层目录,当然,你需要写把包中涉及到的文件夹一层层的创建出来,在那个地方打开cmd命令

        解释:javac要用\来写路径,这个就是他的语法,没有为什么,而且javac后面的那个java文件是不区分大小写的。

        java用.来划分路径,后面的类名严格区分大小写

        这个蓝色的cmd命令行和黑色的是一样的效果,不要纠结。

      2. 方法二:这个不需要创建文件夹,通过javac -d . 类名.java来编译,-d代表创建目录,.表示在当前文件夹创建,编译后在当前目录下就会创建目录,运行就可以了

posted @ 2021-08-22 17:23  是韩信啊  阅读(104)  评论(0编辑  收藏  举报