javac,java命令的一些问题

我的jdk是装在c盘,然后我在F盘建立了一个名叫TextJava目录,然后其中建立了两个java文件,一个是A.java一个是B.java,其中A调用了B,然后在命令行中进入了源文件在的目录,就是f:\TextJava,然后javac A.java结果提示我找不到B这个符号,我的classpath变量加了.,如果我用java -cp f:\TextJava A.java这个命令却可以,运行java A就对了,可是为什么不带-cp就不行?

-cp与-classpath是一样的,只是cp是简写而已啊。
如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。

(1).绝对路径:javac -classpath c:/junit3.8.1/junit.jar Xxx.java
(2).相对路径:javac -classpath ../junit3.8.1/Junit.javr Xxx.java
(3).系统变量:javac -classpath %CLASSPATH% Xxx.java

把A.java B.java文件中第一行的package都去掉,应该就OK了

先编译B.java。再编译A.java

你的cmd窗口的当前目录进入了f:/testJava了吗?执行命令时所在文件夹如果没有类就只能通过cp去显式指定类路径了。不然系统也不知道去哪找。