Java 概述
程序
程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的一系列有序的指令集合。
Java 历史
2004年,「SUN」公司发布「JDK 1.5」 ,更名为「Java 5.0」
- 平台名称:Java SE、Java EE、Java ME
2014年,Oracle 公司发布「Java 8.0」
Java 的语言特点
- 面向对象:模拟现实世界、解决现实问题。
- 简单性:(自动内存管理机制,不易造成内存溢出)
- 跨平台:(操作系统、服务器)
- 开源
计算机的执行机制
- 编译执行
特点:
- 将源文件编译成平台相关的机器码文件,一次编译,多次执行。
- 执行效率高,不可跨平台。
- 解释执行
特点:
- 将源文件交给不同平台独有的解释器。
- 执行效率低,跨平台。
Java 执行机制
先编译,后执行
特点:
- 将源文件先编译成字节码文件(.class),再将字节码文件进行解释执行。
- 一次编译,到处运行(Write Once Run Anywhere)。
JDK(开发环境)
- JVM(Java Virtual Machine)虚拟机
- 利用软件模拟相同环境
- JRE(Java Runtime Environment)运行环境
- 包括 JVM 和解释器,完整的 Java 运行环境
- JDK(Java Development Kit)开发环境
- 包括 JRE 和类库和开发工具包(编译器、调试工具)
类
- 同一源文件可以定义多个类。
- 编译后,每个类都会生成独立的字节码文件。
- 一个类中,只能有一个主方法。每个类都可以有自己的主方法。
- public修饰的类为公开类,公开类的类名必须与文件名一致,且区分大小写。
- 一个源文件中,只能有一个公开类。
包(package)
- 作用:类似于文件夹,用于管理字节码文件。
- 语法:
package cn.john
- 位置:必须写在源文件第一行。
- 带包编译:自动生成目录结构。
javac -d . Test.java
- 带包运行:包名 + 类名 = 全限定名
java cn.john.Test
- 采用域名倒置:com.baidu.www
编码规范
规范的代码风格一致,能提升代码的可读性,也有助于我们排查错误。
书写格式
层级之间缩进(一个制表位)
注释
- 单行注释
// 被注释的句子
- 多行注释
/* 被注释的句子 */
- 文档注释
/** 被注释的句子 */
生成外部文档
javadoc -d . Test.java
标识符命名
语法:
- 规定:
- 字母、数字、_、$,不能以「数字」开头。
- 不能与关键字、保留字重名。
- 约定:
- 见名知意。
- 类名由一个或多个单词组成,帕斯卡命名(每个单词首字母大写)。
- 函数名、变量名由一个或多个单词组成,驼峰式命名(首个单词首字母小写,其余单词首字母大写)。
- 包名全小写,只可以使用特殊字符「.」,并且不以「.」开头或结尾。
- 常量全部大写,由「_」连接。