百知教育学习 - 胡鑫喆 - Java概述与环境搭建
一、编程语言
- 分类:
- 自然语言(和人交流)
- 机器语言(和计算机交流)
- 编程语言
- 编程语言:
- c
- c++ --> 面向对象
- Java -->纯面向对象
二、Java的历史
- Java是由Sun公司开发的,Sun公司已被Oracle公司收购
- 基于跨平台的需求,Oak项目组开发的Java
- 1995.5.23 发布了Java产品
- 1998.12 Java2
- 2004.12 Java5
- 2009 被Oracle收购
- 2011 Oracle发布Java7.0
- 2014 Oracle发布Java8.0
三、Java的特点
- 跨平台: 操作系统、服务器、数据库
- 面向对象: 使用计算机模拟现实世界,解决现实问题,贴近人类思维模式。
- 简单: 相对C、C++、C#,不易造成内存溢出、减少代码量、代码可读性强。
四、Java的执行机制
- 编译执行: 将源文件编译成机器码,一次编译,多次执行。执行效率高,不可跨平台。
- 解释执行: 将源文件一行一行解释,一行一行执行。不同的操作系统具备不同的解释器。执行效率低,可以跨平台。
- Java先编译、再解释:
- 将源文件编译成字节码文件(平台中立文件.class),再将字节文件进行解释执行。
- Java的设计理念: Write Once Run Anywhere
- 名词解释:
- JVM(Java Virtual Machine)虚拟机: 使用软件在不同的操作系统中,模拟相同的环境。
- JRE(Java Runtime Environment)运行环境: 包含JVM和解释器,完整的Java运行环境。
- JDK(Java Development Kit)开发环境: 包含JRE+类库+开发工具包(编译器+调试工具)
五、
-
DOS命令操作
- 更换盘符:d:
- 查看当前目录下的内容:dir
- 进入文件夹:cd 文件夹的名字
- 返回上一级目录:cd…
- 清空屏幕:cls
- 删除文件:del 文件名
- 删除文件夹:rd 文件夹名称
- 退出:exit
-
编译与运行
- 编译:javac 源文件名称.java
- 运行:java 类名
-
注意:
- 编译器会把每个类编译成一个.class文件
- 在windows平台下文件名不区分大小写,但是类名区分大小写
六、
-
JDK环境变量的作用
- Java_Home: 通知其他应用装了JDK,告诉它们JDK装在了什么位置
- path系统变量:bin目录里装了很多java的命令和工具,如果想在任何目录里找到这些命令,就要把bin目录放到path中,这是Windows的要求。
- classPath:提示虚拟机要运行的.class文件的路径,在操作系统中“.”表示当前目录。
-
注意:
- 公开类的文件名必须和类名完全一致,因此一个源文件中只能有一个公开类
七、package(包)
- 作用:类似于文件夹,用于管理字节码(.class)文件
- 语法:package 包名;
- 位置:必须写在源文件的第一行。
- 带包编译:javac -d.源文件名称.java(自动生成目录结构)
- 给包起名采用域名倒置的规则:www.baizhi.com.cn -> cn.com.baizhi.xxx
八、关键字的数量
- package :0-1个
- import:0-n个
- class:1-n个
- public class:0-1个
九、编码规范
-
编码规范 (1)书写格式
- 层级之间必须缩进(tab:一个制表位)
- 一行只写一句代码
-
编码规范(2)代码注释
- 单行注释://
- 多行注释:/* xxxx */ (多行注释不能嵌套使用,但可以嵌套单行注释)
- Javadoc注释:/** xxx */ (当只给别人看注释,不让看见代码的时候,使用Javadoc注释可以吧这样的注释单独从Java文件中提取出来,形成API文档。只允许写在类、属性、函数的前面)
十、补充
-
为什么不能进入包,再编译其中的.class文件?
- 可以在任意目录下执行Java命令。但需要注意:
- 1、Java命令的参数是“类的完整类名”,而不是“文件名”。 所以,不管在任何目录下运行 day1.Hello 类,都不能简单写作java Hello ,而需要写成下面形式:java day1.Hello
- 2、如果类路径不在当前目录下,就需要自己设置 classpath参数。
例如:
C:\Users\念衷\Desktop\java>java day1.Hello
或者
C:\Users\念衷\Desktop\java\day1>java -cp C:\Users\念衷\Desktop\java day1.Hello
或者
任意目录下>java -cp C:\Users\念衷\Desktop\java day1.Hello
- 可以在任意目录下执行Java命令。但需要注意:
-
怎样用java命令来编译带有绝对路径的java文件 ?
- C:\Users\念衷\Desktop\java>javac C:\Users\念衷\Desktop\java \TestIf.java -d . (命令中的 “. ” 表示编译成的.class文件要存放的位置为当前目录,可以用绝对路径取代。)
-
怎样用java命令来编译不含绝对路径的java文件?
- 带包编译:javac -d . 源文件名称.java(自动生成目录结构)——命令中的 “. ” 表示编译成的.class文件要存放的位置,可以用绝对路径取代。