JAVA核心技术I---JAVA基础知识(命令行)
一:命令行编译文件
手动在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基础知识(命令行)的更多相关文章
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
- Java核心技术 卷1 基础知识-第一天
基本数据类型 java是一种强数据类的的语言 共有8种基本数据类型 其中: 整型4种 int(4字节) short(2字节) long(8字节) byte(1字节) java中整型的范围与机器无关 长 ...
- Java基础教程——命令行运行Java代码
视屏讲解:https://www.bilibili.com/video/av48196406/?p=4 命令行运行Java代码 (1)使用记事本新建文本文件[Test.java]. 注意,默认状态下W ...
- [Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- Java学习1——计算机基础知识
本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.
- Java中浮点数的基础知识
偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...
- 《Java 程序设计》课堂实践项目-命令行参数
<Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...
- [Java][Android][Process] 分享 Process 运行命令行封装类型
我在以前的文章中提到,使用Java不会有一个问题,创建运行命令来创建太多进程后创建进程行语句. [Android] ProcessBuilder与Runtime.getRuntime().exec分别 ...
- java 程序运行的基础知识【Java bytecode】
聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似, ...
随机推荐
- Codeforces Round #433 Div. 1
A:显然从大到小排序后贪心放在第一个能放的位置即可.并查集维护. #include<iostream> #include<cstdio> #include<cmath&g ...
- Django ORM模型
Object Relational Mapping(ORM) 一,ORM介绍 1, ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ...
- 【XSY2534】【CF835D】Palindromic characteristics 回文自动机
题目大意 一个字符串\(s\)是\(1\)−回文串当且仅当这个串是回文串. 一个串\(s\)是\(k\)−回文串\((k>1)\)当且仅当\(s\)的前一半与后一半相同且\(s\)的前一 ...
- python学习日记(文件操作练习题)
登录注册(三次机会) name = input('请注册姓名:') password = input('请注册密码:') with open('log',mode='w',encoding='utf- ...
- httpd配置
HTTP:Hypertext Transfer Protocol: HTML:Hypertext Markup Language: URL:Uniform Resource Locator,在Inte ...
- 【BZOJ2618】[CQOI2006]凸多边形(半平面交)
[BZOJ2618][CQOI2006]凸多边形(半平面交) 题面 BZOJ 洛谷 题解 这个东西就是要求凸多边形的边所形成的半平面交. 那么就是一个半平面交模板题了. 这里写的是平方的做法. #in ...
- luogu5007 DDOSvoid 的疑惑 (树形dp)
我们来算每个点出现在的集合的个数 设f[i]为i出现的集合个数,g[i]是只选子树i 可以有多少种选法 那就有$g[i]=1+\prod\limits_{j是i的孩子}{g[j]} , f[i]=f[ ...
- luogu1484 种树 (优先队列)
我每次都想选那个最大的.或者是它旁边的两个一起选,如果这两个一起选会大于那个最大的的话 那我就先把那个最大的选了,再提供一个反悔的选项(类似于网络流的思路?),就是我可以再把种的树换成它旁边那两个,也 ...
- [SDOI2015]序列统计(多项式快速幂)
题目描述 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问 ...
- Java复习总结——详细理解Java反射机制
反射是什么 反射的作用用一句简单的话来讲就是可以对代码进行操作的代码,这个特性经常在被用于创建JavaBean中,通常造轮子的人会用到这个特性,而应用程序员用到这个特性的场景则较少. 能够分析类能力的 ...
