1.1 JAVA的地位
JAVA面向对象,与平台无关,安全,稳定,多线程。 不仅可以用来开发大型的应用程序,特别适用于
internet应用开发。
1.2 JAVA的特点
风靡世界的原因
- 语法简单
- 面向对象
- 稳定
- 与平台无关
- 多线程
- 动态
1.3 安装JDK
write once,run anywhere. 是JAVA的目标,必须要提供JAVA运行环境,即JAVA程序运行平台。
什么是JDK?
JDK(Java Development Kit) 包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JDK是java开发工具包
什么是JRE?
RE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
JRE是指java运行环境。
什么是JVM?
JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
三者之间的联系
- JDK
- JRE
- JVM
- JRE
- JVM是Java虚拟机,程序都是运行在虚拟机上
- JRE是Java运行环境,包含了一些核心类库。
- JDK是开发JAVA程序的工具包,包含了许多开发人员工具。
JDK的安装与配置
- 下载JDK
- OracleJDK下载官网:
- 进入网址后选择适当的JDK版本,然后选择对应平台,下载即可.
- 安装JDK
- 打开下载好的安装文件
- 选择安装目录
- 完成安装
- 配置环境变量
- 配置
JAVA_HOME环境变量- 打开此电脑属性
- 选择系统特性对话框
- 点击高级属性设置
- 添加环境变量
JAVA_HOME - 环境变量值为 JDK所安装的目录
- 配置
PATH环境变量- 由于之前已经设置了
JAVA_HOME那么这里可以直接拿来用 %JAVA_HOME%\bin添加到PATH环境变量中
- 由于之前已经设置了
- 配置
classpath环境变量- 新建环境变量
classpath - 值填写
%JAVA_HOME%\jre\bin\rt.jar:.;
- 新建环境变量
- 配置
- 测试安装
- 打开CMD
- 输入
java --version - 输入
javac
1.4 JAVA程序开发步骤
开发一个Java程序需要三个步骤
- 编写
- 编译
- 运行
1. 编写源文件
使用文本编辑器,编写Java源文件,结尾是 .java
2. 编译源文件
使用 javac命令进行程序编译,得到编译后的 字节码文件
javac = java compile
4. 运行程序
使用 java命令解释字节码文件,来运行Java程序.
1.5 我的第一个Java程序
HelloWorld.java
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello,World!");}}
解释说明
public访问权限修饰符class类关键字HelloWorld类名,和文件名HelloWorld.java一致
static表示静态,这里用来表示静态方法void返回值类型main主方法名(String[] args)参数
System.out.println打印输出到屏幕上,并换行
编译上述程序
javac HelloWorld.java
这里 javac命令是用来编译java源程序的,编译完成后会生成
HelloWorld.class字节码文件
运行上述程序
java HelloWorld
需要注意的是这里的
HelloWorld不需要加.java
运行结果
Hello,World!
编码细节
- 每行Java语句后面要跟一个
;英文状态下的 - 应保持良好的缩进习惯
{在上一行的尾部,}另起一行
1.6 JAVA反编译
所谓反编译就是:吧编译得到的字节码文件还原成源码文件。
JDK提供了个 javap工具可以用来反编译java字节码文件。
使用方法:javap 全限定类名
这里我们来对 java.util.Date类进行反编译
javap java.util.DateCompiled from "Date.java"public class java.util.Date implements java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<java.util.Date> {public java.util.Date();public java.util.Date(long);public java.util.Date(int, int, int);public java.util.Date(int, int, int, int, int);public java.util.Date(int, int, int, int, int, int);public java.util.Date(java.lang.String);public java.lang.Object clone();public static long UTC(int, int, int, int, int, int);public static long parse(java.lang.String);public int getYear();public void setYear(int);public int getMonth();public void setMonth(int);public int getDate();public void setDate(int);public int getDay();public int getHours();public void setHours(int);public int getMinutes();public void setMinutes(int);public int getSeconds();public void setSeconds(int);public long getTime();public void setTime(long);public boolean before(java.util.Date);public boolean after(java.util.Date);public boolean equals(java.lang.Object);static final long getMillisOf(java.util.Date);public int compareTo(java.util.Date);public int hashCode();public java.lang.String toString();public java.lang.String toLocaleString();public java.lang.String toGMTString();public int getTimezoneOffset();public static java.util.Date from(java.time.Instant);public java.time.Instant toInstant();public int compareTo(java.lang.Object);static {};}
1.7 编程风格
Java开发者中,普遍采用
Kernighan风格,即 左大括号在上一行行位,右大括号独占一行。
示例代码
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello,World!");}}
而不是
public class HelloWorld{public static void main(String[] args){System.out.println("Hello,World!");}}
1.8 注释
Java注释分为两种
- 行注释
- 块注释
// 这是行注释/*这是块注释,可以有很多行.*/
1.9 小结
- Java是面向对象的语言,编写的软件和平台无关。
- Java源文件是由若干个书写形式独立的类组成
- 开发一个Java程序需要经过三个步骤
编写源文件编译源文件运行字节码文件
- 编写代码要遵循一定的代码规范
