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
    成功。

  • 相关阅读:
    int&boolean——Java和C的一点小差别
    华宇软件笔试题
    腾讯笔试感受
    JavaScript-创建第一个自己的类库
    大数据处理之道 (htmlparser获取数据<一>)
    mui.fire()用法
    Juicer 轻量级javascript模板引擎
    art-template引擎模板
    js模板引擎-art-template常用总结
    移动端开发框架Zepto.js
  • 原文地址:https://www.cnblogs.com/gwq369/p/5382880.html
Copyright © 2011-2022 走看看