zoukankan      html  css  js  c++  java
  • javac和java命令的详解

    javac和java命令总结
    一、准备
    首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行
    可知,当前默认目录为C盘Users文件夹下的Administrator文件夹。一般而言,我们习惯改变当前目录。由于windows有磁盘分区,若要跳到其他磁盘,例如E盘,有几种方法:

    1、输入命令: pushd 路径(此命令可将当前目录设为所希望的任一个已存在的路径)
    例子:pushd e: 进入E盘,注意盘附后加冒号。
    pushd e:/test 进入E盘的test文件下

    2、输入命令: e: 转移到e盘,然后再输入 cd 转移到所希望的已知路径。

    二、javac

    javac是用来编译.java文件的。命令行下直接输入javac可以看到大量提示信息,提示javac命令的用法,我只知道常用的。

    javac -d destdir srcFile

    其中:1、-d destdir是用来指定存放编译生成的.class文件的路径。(若此选项省略,那么默认在当前目录下生成.class文件,并且没有生成包文件夹;当前目录可以用“.”来表示,即:javac -d . srcFile )

    注意:添加-d选项除了可以指定编译生成的.class文件的路径外,最大的区别是可以将源文件首行的package关键字下的包名在当前路径下生成文件夹。

    2、srcFile是源文件.java文件的路径。

    例如:有这样一个简单的java类,路径为E: estJavacTest.java:
    代码如下:
    package com.stopTalking.test;
    public class JavacTest {
    public static void main(String[] args) {
    byte a = 5;
    short b = 6;
    System.out.println("JavacTest [a=" + a + ", b=" + b + "]");
    }
    }
    在e:test下,输入 javac JavacTest.java ,便在当前路径下生成了一个JavacTest.class的文件:
    注意:JavacTest.java是一个首行标注了package的java文件,而此时它在硬盘上的目录并未对应它的包名,所以,使用java com.stopTalking.test.JavacTest运行时是无法找到该java的。

    如果若输入,javac –d . JavacTest.java ,那么生成的JavacTest.class便在当前目录下生成的包文件中了,就是在e:test下有个com/stopTalking/test文件夹,JavacTest.class文件就是在com/stopTalking/test下面,在e:/test下执行java的命令是:
    java com/stopTalking/test JavacTest

    我自己有一个文件,在D:javajavacodeeclipseJavaSesrccomfzlclassics50Prog1.java,工程名JavaSe。
    包名是com.fzl.classics50。
    package com.fzl.classics50;

    import java.awt.Choice;
    import java.util.Scanner;
    public class Prog1 {
    public static void main(String[] args) {
    int n=10;
    int count=fun(n);
    System.out.println(+n+":"+count);
    }
    private static int fun(int n) {
    if(n==1 || n==2){
    return 1;
    }else{
    return fun(n-1)+fun(n-2);
    }
    }
    }

    编译的时候都要在源文件的目录下,我在D:javajavacodeeclipseJavaSesrccomfzlclassics50下面执行编译命令,
    1.我执行:javac -d .Prog1.java
    就会在当前目录下生成文件夹comfzlclassics50 ,Prog1.class就在这个文件夹下
    运行:在D:javajavacodeeclipseJavaSesrccomfzlclassics50下面:java com.fzl.classics50.Prog1
    显示:10 : 50
    成功。

    2.我如果执行 :javac -d D:javajavacodeeclipseJavaSeincomfzlclassics50 Prog1.java
    就会在 D:javajavacodeeclipseJavaSeincomfzlclassics50下生成comfzlclassics50,Prog1.class就在这下面。
    运行:在D:javajavacodeeclipseJavaSeincomfzlclassics50下面执行:
    java com.fzl.classics50.Prog1
    显示: 10:50
    成功。

    3.我如果执行:javac -d D:javajavacodeeclipseJavaSein Prog1.java
    就会在 D:javajavacodeeclipseJavaSeincomfzlclassics50下生成Prog1.class
    运行:在 D:javajavacodeeclipseJavaSein下执行:
    java com.fzl.classics50.Prog1
    显示:10 :50
    成功。

    4.如果执行:javac Prog1.java
    就会在当前目录下生成Prog1.class文件
    运行:在当前目录下执行:java com.fzl.classics50.Prog1
    显示:10:50
    成功。

  • 相关阅读:
    octotree神器 For Github and GitLab 火狐插件
    实用篇如何使用github(本地、远程)满足基本需求
    PPA(Personal Package Archives)简介、兴起、使用
    Sourse Insight使用过程中的常使用功能简介
    Sourse Insight使用教程及常见的问题解决办法
    github 遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts问题解决
    二叉查找树的C语言实现(一)
    初识内核链表
    container_of 和 offsetof 宏详解
    用双向链表实现一个栈
  • 原文地址:https://www.cnblogs.com/gwq369/p/5382880.html
Copyright © 2011-2022 走看看