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 #539 Div. 1
A:即求长度为偶数的异或和为0的区间个数,对前缀异或和用桶记录即可. #include<iostream> #include<cstdio> #include<cmath ...
- 学习Android过程中遇到的未解决问题(个人笔记,细节补充,随时更新)
201811/13 使用HttpURLConnection对象调用方法又出现IO异常,我又百度个博客搜寻答案,未果.下午试试真机,完美.自己建了服务器tomcat,编写android访问自己tomca ...
- [CEOI2007] 树的匹配Treasury
类型:树形 DP 传送门:>Here< 题意:给一棵树,你可以匹配有边相连的两个点,问你这棵树的最大匹配是多少,并且计算出有多少种最大匹配. 解题思路 首先树形Dp是很明显的,$f[i][ ...
- Get Luffy Out * HDU - 1816(2 - sat 妈的 智障)
题意: 英语限制了我的行动力....就是两个钥匙不能同时用,两个锁至少开一个 建个图 二分就好了...emm....dfs 开头low 写成sccno 然后生活失去希望... #include & ...
- IDEA 安装 Sonalint失败
1.直接在线安装[Plugins]-[Browse reponsitories...],安不上,FQ了以后还是安不上 2.下载了离线的Sonalint 插件包,通过引用外部插件的方式,[Install ...
- mysql 备份数据语句
rem ******MySQL backup start********@echo offforfiles /p "D:\website\备份\数据库日常备份" /m backup ...
- python学习日记(join,range)
join方法 join方法用于将序列里的字符串以指定的字符串连接成一个新的字符串 s = 'fasfw123' s1 = '-'.join(s) print(s1) str = '&ooooo ...
- 聊聊GarbageCollectionNotificationInfo
序本文主要研究一下GarbageCollectionNotificationInfo CompositeDatajava.management/javax/management/openmbean/C ...
- Double.valueOf(0.0D) 分析
private Double price = Double.valueOf(0.0D); 查看Java API 文档如下: doubleValue public double doubleValue( ...
- 关于一些没做出来的SBCF题
这里是一些我SB没做出来的CF水题. 其实这些题思维量还不错,所以写在这里常来看看…… 不一定每题代码都会写. CF1143C Queen 其实只要注意到如果一个点开始能被删,那一直就能被删:一个点开 ...
