基本的Windows相关Dos命令:
Dos命令在哪里编写:
在Dos命令窗口当中编写Dos命令
Dos命令窗口怎么打开?
开始菜单-->运行-->输入cmd-->回车
常见的Dos命令?
—exit 退出当前Dos命令窗口
—cls 清屏
—Dos窗口中的内容怎么复制?
在Dos窗口的任意位置,点击鼠标右键,然后选择标记。
接下来选中要复制的内容,在Dos窗口的任意位置点击鼠标右键,
此时被复制的内容已经在剪贴板上了。
在需要粘贴的位置粘贴即可。
—dir 列出当前目录下所有的子文件/子目录
—cd 命令
*cd命令表示:change directory【改变目录】
*cd命令怎么用?
cd 目录的路径
绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径
相对路径:表示该路径从当前所在的路径下作为出发点的路径
— cd.. 回到上级目录
—cd / 直接回到根目录
—怎么切换盘符:
c: 回车 d: 回车 e:回车 f:回车
—ipconfig 查找IP地址
关于windows操作系统的文件扩展名的设置:
作为Java程序员。以后要新建.Java结尾的文件,所以必须保证文件的扩展名是.Java
怎么做?
打开计算机-->组织-->文件夹和搜索选项-->查看-->隐藏已知文件类型的扩展名(前面对勾去掉)
Java语言发展史:
*Java语言诞生于1995年
*其实在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库的)收购了),为了占领智能电子消费产品市场,派James Gosling领导团队开发一个Oak(橡树)语言。
1996年:JDK1.0诞生
什么是JDK?
Java工具开发包
做Java开发必须安装的一个工具包,该工具包需从官网下载
目前SUN被Oracle收购了,所以下载需要去Oracle下载:http://www.oracle.com
Java语言特性【开源 免费 纯面向对象 跨平台】:
*简单性:相对而言的,例如Java中不支持多继承,c++是支持多继承的,多继承比较复杂
C++中有指针,Java中屏蔽了指针的概念。所以相对而言来说Java是简单的。
Java语言底层是C++实现的,不是C语言。
*面向对象
Java是纯面向对象的。更符合人的思维模式,更容易理解
*可移植性
什么是可移植性?
Java程序可以做到一次编译,到处运行。
也就是说Java程序可以在windows操作系统上运行,不做任何修改,同样可以
在Linux操作系统上运行,这个被称为Java程序的可移植性,或叫跨平台。
windows操作系统的内核和Linux操作系统的内核肯定不同,他们这两个操作系统执
行指令的方式也是不一样的。
结论:显然Java程序不能直接和操作系统打交道。因为Java程序只有一份。操作系统执行原理都不同。
SUN团队,让Java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java
虚拟机,简称JVM.Java虚拟机再和底层的操作系统打交道。
*多线程
*健壮性:和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制
Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心
*安全性
Java的加载与执行:
*Java程序的运行包括两个非常重要的阶段
—编译阶段
—运行阶段
*编译阶段
——编译阶段主要的任务是检查Java源程序是否符合Java语法,
符合Java语法则能够生成正常的字节码文件(xxx.class)
不符合Java语法则不能够生成字节码文件
—字节码文件中不是纯粹的二进制,这种文件无法在操作系统当中直接执行。
—编译阶段的过程:
*程序员需要在硬盘的某个位置(位置随意)新建一个 .java 扩展名的文件,
该文件被成为Java源文件,源文件当中编写的是Java源代码/源程序。
这个源程序是不能随意编写的,必须符合Java语法规则(Java语法规则是需要记忆的)
*Java程序员需要使用JDK当中自带的javac.exe命令进行程序的编译。
javac怎么用?在那用?
—javac的使用规则: javac java源文件的路径
—在Dos命令窗口中使用
javac是一个Java编译器工具/命令。
*一个Java源文件可以编译生成多个 .class文件
*字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,Java源文件删除并不会影响java程序的执行。但是一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头在重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后在运行这个class程序,生成新的效果
*编译结束之后,可以将class文件拷贝到其他操作系统当中运行。【跨平台】
*运行阶段【可以在其他操作系统当中,跨平台】
—JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe java.exe命令主要负责运行阶段。
—java.exe在哪里用?怎么用?
—在Dos窗口中使用
—怎么用?
java 类名
例如:
硬盘上有一个A.class,那么就这样用:java A
硬盘上有一个B.class,那么就这样用:java B
硬盘上有一个C.class,那么就这样用:java C
千万注意不要写成这样:java A.class【这种方式是错误的】
——运行阶段过程是:
*打开Dos命令窗口
*输入: java A
*java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
*ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中
*JVM将A.class字节码文件解释成二进制数据
*然后操作系统执行二进制和底层硬件平台进行交互
Windows操作系统是如何搜索硬盘上某个命令的呢?
*首先会从当前目录下搜索
*当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令
*如果都搜索不到,则报错。
配置环境变量
path环境变量是专门给windows操作系统指路的
12:20
javac命令怎么用?
Java java源文件路径
*运行java程序:
—需要使用Java.exe命令
—首先测试java命令是否可用
—使用方式:
java 类名
硬盘上有HellowWorld.class,那么类名就是:HellowWorld
java HellowWorld
一定注意:java命令后面跟的不是文件路径,是一个类的名字
—首先你需要先将Dos窗口中的目录切换到HellowWorld.class文件所在的目
java的执行过程及原理:
*java.exe命令会启动JVM
*JVM启动后会启动类加载器ClassLoader
类加载器的作用:加载类的
*ClassLoader会在硬盘上的某个位置搜索HellowWorld.class字节码文件
*找到该文件则执行
类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码文件装载到JVM当中,JVM启动“解释器”将字节码解释为“10100010..”这种二进制码,操作系统执行二进制码和硬件交互
*找不到该文件则报错
ClassLoader是在那个位置上搜索HellowWorld.class字节码文件的?
*默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
*当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
*classpath环境变量不属于windows操作系统,classpath环境变量隶属于java,是Java特有的
classpath=A路径;B路径;C路径……
classpath是一个变量名 A路径;B路径;C路径……是变量值
配置过程:
计算机-->右键-->属性-->高级系统设置-->环境变量-->新建……
变量名不能随意写,必须写成classpath,大小写无所谓
*classpath是给ClassLoader类加载器指路的
*classpath环境变量没有配置为某个指定的路径之后,类加载器默认从当前路径下找字节码文件
当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径下加载class字节码文件
*环境变量classpath不需配置,这样类加载器会自动从当前路径下加载class字节码文件。所以,每一次执行 .class程序时,需要在Dos命令窗口中先切换到.class字节码文件所在的路径下,然后运行。
*路径中的“.."表示上级目录
路径中的”."表示当前目录
关于java源程序当中的注释:
*什么是注释?注释的作用是什么?
—出现在java源程序中,对java源代码解释说明
—注释不会被编译到.class字节码文件当中
—一个好的开发习惯应该是多编写注释,这样程序的可读性比较强
*java中的注释应该怎么写?
—单行注释
//单行注释,注释当前行
—多行注释
/*
多行注释
多行注释
多行注释
……
*/
—javadoc注释
/*
* javadoc注释
* javadoc注释
* javadoc注释
* ……..
*/
这种注释是比较专业的注释。该注释信息会被javadoc.exe工具提取并生成帮助文档
类体中不能直接编写java语句(初声明变量之外)
方法体中可以编写多条java语句
主方法是程序的入口,固定写法,sun规定的
Public calss 与 class 的区别:
*一个java源文件当中可以定义多个class
*一个java源文件当中public的class不是必须的
*一个class会定义生成一个xxx.class字节码文件
*一个java源文件当中定义公开的类的话,public的class中能有一个
*每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B
*当在命令窗口中执行java Hellow,那么要求Hellow.class当中必须有主方法。没有主方法会出现运行阶段的错误。