一:命令行编译文件

手动在c:\temp创建cn.com.test.Man.java
–即c:\temp\cn\com\test\Man.java
–c:\temp可以替换成任何路径,后续命令同样替换
编译:
–X:\>java c:\temp\cn\com\test\Man.java
运行
–X:\>java -classpath .;c:\temp cn.com.test.Man
X代表任意盘符或路径

二:运行class文件

java -classpath .;c:\temp cn.com.test.Man
第一部分:java,执行命令,是java.exe的简写
第二部分:-classpath 固定格式参数,可以简写成-cp.
第三部分:是一个(Windows分号,Linux/Mac冒号连接起的)字符串。按分隔符隔开,得到一个个子路径。当运行cn.com.test.Man类的过程中,如果需要用到其他的类,就会分裂第三部分的字符串,得到多个子路径,然后依次在每个路
径下,再去寻找相应类(全称,包名以点隔开对应到目录)
第四部分:主执行类的全称(含包名)
package cn.com.test;

public class Man{
public static void main(String[] args){
System.out.println("Hello");
}
}

三:编译和运行规则

–编译一个类,需要java文件的全路径,包括扩展名。
–运行一个类,需写类名全称(非文件路径),无须写扩展名。
–编译类的时候,需要给出这个类所依赖的类(包括依赖的类再次依赖的所有其他类)的所在路径
–运行类的时候,需要给出这个类,以及被依赖类的路径总和。
–classpath参数也可以包含jar包。如果路径内有空格,请将classpath参数整体加双引号。
–java -classpath “.;c:\test.jar;c:\temp;c:\a bc” cn.com.test.Man
按照路径前后优先级进行搜索,其中空格隔开c:\a bc表示在这个c目录下的a和bc文件夹下查找文件

(一)C.java编译运行

package A.B.C;

public class C{
public int number=; public int getNum(){
return number;
} public void setNum(int num){
this.number=num;
} public static void main(String[] args){
C c=new C();
System.out.println("Hello C"+c.getNum());
}
}

C.java

(二)F.java编译运行

package D.E.F;

import A.B.C.C;

public class F{
public int number=; public int getNum(){
return number;
} public void setNum(int num){
this.number=num;
} public static void main(String[] args){
C c=new C();
c.setNum();
System.out.println("Hello F"+c.getNum());
}
}

F.java

(三)H.java编译运行

package G.H;

import D.E.F.F;

public class H{

    public static void main(String[] args){
F f=new F();
f.setNum();
System.out.println("Hello H"+f.getNum());
}
}

H.java

四:总结

–包名和类所在的目录必须严格一致
–在命令行中,必须依靠classpath来指引所需要的类
–编译需要文件的全路径,运行需要类的完整

JAVA核心技术I---JAVA基础知识(命令行)的更多相关文章

  1. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  2. Java核心技术 卷1 基础知识-第一天

    基本数据类型 java是一种强数据类的的语言 共有8种基本数据类型 其中: 整型4种 int(4字节) short(2字节) long(8字节) byte(1字节) java中整型的范围与机器无关 长 ...

  3. Java基础教程——命令行运行Java代码

    视屏讲解:https://www.bilibili.com/video/av48196406/?p=4 命令行运行Java代码 (1)使用记事本新建文本文件[Test.java]. 注意,默认状态下W ...

  4. [Java面试三]JavaWeb基础知识总结.

    1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...

  5. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  6. Java学习1——计算机基础知识

    本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.

  7. Java中浮点数的基础知识

    偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...

  8. 《Java 程序设计》课堂实践项目-命令行参数

    <Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...

  9. [Java][Android][Process] 分享 Process 运行命令行封装类型

    我在以前的文章中提到,使用Java不会有一个问题,创建运行命令来创建太多进程后创建进程行语句. [Android] ProcessBuilder与Runtime.getRuntime().exec分别 ...

  10. java 程序运行的基础知识【Java bytecode】

    聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似, ...

随机推荐

  1. kvm 一些web管理3方工具

    OpenNebula  Proxmox VE 

  2. puppet一些常用的参数

    puppet一些常用的参数 通过@,realize来定义使用虚拟资源 虚拟资源主要来解决在安装包的时候,互相冲突的问题 具体参考这里 简单说下,在定义资源的时候加上@ 例如: @package { & ...

  3. BZOJ2150部落战争——最小路径覆盖

    题目描述 lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国的下部征战来获得更大的领土. A国是一 个M*N的矩阵,其中某些地方是城镇,某些地方是高山深涧无人居住.lanzerb ...

  4. LOJ6053 简单的函数 【Min_25筛】【埃拉托斯特尼筛】

    先定义几个符号: []:若方括号内为一个值,则向下取整,否则为布尔判断 集合P:素数集合. 题目分析: 题目是一个积性函数.做法之一是洲阁筛,也可以采用Min_25筛. 对于一个可以进行Min_25筛 ...

  5. 洛谷3704 [SDOI2017] 数字表格 【莫比乌斯反演】

    题目分析: 比较有意思,但是套路的数学题. 题目要求$ \prod_{i=1}^{n} \prod_{j=1}^{m}Fib(gcd(i,j)) $. 注意到$ gcd(i,j) $有大量重复,采用莫 ...

  6. 「中国剩余定理CRT」学习笔记

    设正整数$m_1, m_2, ... , m_r$两两互素,对于同余方程组 $x ≡ a_1 \ (mod \ m_1)$ $x ≡ a_2 \ (mod \ m_2)$ $...$ $x ≡ a_r ...

  7. hihocoder#1333 : 平衡树·Splay2 (区间操作)

    题面: #1333 : 平衡树·Splay2 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:好麻烦啊~~~~~ 小Hi:小Ho你在干嘛呢? 小Ho:我在干活啊! ...

  8. 【支付宝】支付 系统繁忙,请稍后再试(ALIN10146)

    https://openclub.alipay.com/read.php?tid=6918&fid=60 我碰到的是这个问题导致 把signType 改为  RSA2   改成      

  9. MS-DOS 系统汇编环境之DOSBOX+vim

    经过虚拟机的体验,我发现还是dosbox里汇编比较方便..... 一.下载安装 dosbox DOSBOX 准备好 masm.exe.link.exe.debug.exe,放在~/dos下(文件夹名字 ...

  10. 【BZOJ4061】[Cerc2012]Farm and factory(最短路,构造)

    [BZOJ4061][Cerc2012]Farm and factory(最短路,构造) 题面 BZOJ 然而权限题QwQ. 题解 先求出所有点到达\(1,2\)的最短路,不妨记为\(d_{u,1}, ...